Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. Be respectful, on topic and if you see a problem, Flag it.

If you would like to contact our Community Manager personally, feel free to send a private message or an email.

Constraint Manager / Finding suspects

martin_kopplowmartin_kopplow Member Posts: 809 PRO
edited June 13 in Product Feedback
grafik.png

I have just created chaos. My intention was to vertically move the small 4mm dia circle indicated by the arrow. It was deliberately not fully constrained, because I wanted to move it to it's final position after defining the adjacent geometry. When I was ready, I moved it a bit, and in the moment I released the mouse button, it snapped to something random. I cannot say what snapped to what, but the whole sketch went overconstrained the very moment.

Now I need to find out what it was. I must say, though, that the constraint manager is of no help in this case. There are constraints turned red that have nothing to do with the entity I moved. Still, everything is red. What I need is a tool that helps me find the offending constraint(s) in a targeted way that lets me narrow in on the most likely ones, maybe a little bit like transparency adjustment works: Show those that have only one step, two steps, three steps … away from my troublemaker. Is there such a functionality somewhere?

Else, I could only delete them all and start over, it appears, or undo (at least until my session timed out, which it now has …), but that would still not let me know what is really going on. This is just a stupid sample case, I write this to demonstrate that the constraint management needs to have more user supportive options, because hunting down overconstrained elements is quite a common thing, and it is always pretty time consuming.

Comments

  • eric_pestyeric_pesty Member Posts: 2,207 PRO

    I think a "simple" ordering by "time created" would help a lot for something like this. Presumably the last couple of relations you added are likely causing the issue so if you could sort them that way it should help in a lot of cases.

    In this specific case though, it seems like you should be able to break up the sketch in a couple different ones, which would help simplify things and make troubleshooting easier…

  • martin_kopplowmartin_kopplow Member Posts: 809 PRO

    Ordering by time is one possiblitiy, though it is very close to the undo sequence. It would probably already go a long way, if the undo wasn't lost so quickly. My sample sketch looks more complex than it is. There is an awful lot of "used/intersected" geometry in there, the rest is just the shape of a simple jig I want to laser cut. I could break it up in three at most.

    That does not solve the problem of how to troubleshoot sketches that became overdefined accidentally. I've even seen sketches which were just fine when finished and only got overdefined in the moment of opening them for an edit much later, without me doing any changes yet! We need some kind of constraint analysis tool. It would be a time saver.

  • robert_scott_jr_robert_scott_jr_ Member Posts: 595 ✭✭✭
    edited June 15

    Wouldn't cntrl Z or going back in history work? Scotty

  • eric_pestyeric_pesty Member Posts: 2,207 PRO

    Undo will work while you are in the same "session", history will revert the entire sketch to a previous state but will discard all the edits done since you last "closed" the sketch.

  • martin_kopplowmartin_kopplow Member Posts: 809 PRO
    edited 8:28AM

    Only if you don't take a tea break inbetween. Tea will delete the undo history (Because the session might be automatically closed while you're drinking it). And as Eric mentioned, the single steps performed while editing a sketch will only be available until you quit the sketch. After that, the entire sketch will be but one single item in the undo history. So once we're past the point, we need to actually analyse the sketch and the constraints, which is what the constraint manager just can't do.

    Take a look at my sample design above: Everything but the "Use" constraints is marked red. That don't actually help at all. There's one rotten apple in the basket - so throw away all apples! Not good. It would be good, if there'd be an option to filter for 'closeness' of the relations. Say I activate the filter in "one step" mode and I click on or mouse over one overdefined condition and get the next affected constraint in the chain highlighted, so I can see what is connected, then maybe mouse over the next one and see what it is directly connected to. That way, one might get at least glimpse of what has happened or how the overefinition propagates through the sketch.

    In my above sample, there are constraints higlighted in red, which are certainly not part of the overdefinition, for they are individually defined relative to the origin and nothing else.

    grafik.png

    This 'standalone' rectangle, for example. It is certainly not overdefined. The same goes for other sketch entities, for example the vertical line to the left of the rectangle, which is vertical and defined by a distance from the origin. There is no reason why it's vertical constraint should suddenly be flagged as overdefined. It rather is not affected at all. There are many more such entities.

Sign In or Register to comment.