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.

Fully-defined sketches: what are they, and why care?

paul_chastellpaul_chastell Onshape Employees Posts: 126

I've seen a few comments and questions about the new feature list badge that says "Sketch is not fully defined" and I wanted to give an Onshape developer perspective.

TL;DR. Fully defined sketches don't protect us from Onshape, they protect us from co-workers and our future selves.

A sketch is a bunch of geometry, plus a bunch of constraints and dimensions that tell that geometry what its size is or where it should be. A "fully defined" sketch is a sketch that has enough constraints that there is no ambiguity at all as to where the geometry should be, or its size. There is only one way to "solve" the sketch. In contrast an "under defined" sketch is one where there is some ambiguity, multiple choices of where things could be. There is a subtle color scheme used in the sketch, black means something is fully defined, and blue means it is under defined (in light mode, at least).

Why did we add the indicator? Because customers asked us to.

Why did customers ask us to add the indicator? Because it matters that a sketch is not fully defined.

Why does it matter? Maybe you've made a bunch of sketches that are showing as "not fully defined" and you've never had issues with them (that you know of). That will be because Onshape does its best to move geometry as little as possible and it is quite possible that sketches haven't moved for you. However, any time you change a feature before that sketch, and that change affects the sketch in some way then the sketch must re-solve to meet the constraints. Onshape will try to move things as little as possible but if a sketch is not fully defined Onshape doesn't know where everything should be.

Here's a simple example. I started out with a rectangle, 100mm x 150mm. I then added a circle for a hole in a second sketch, it needs to be 40mm in diameter and midway between the top and bottom, and I constrained it like that but I left the distance between the circle center and right hand edge unconstrained. It happens to be 50mm, which is what I wanted, and I effectively eyeballed it in.

Now, maybe weeks or months later I go back into this design and I need a part that is larger, with the base being 150mm x 200mm. So I change the dimensions in the base sketch.

Onshape has done exactly what I said, it moved geometry as little as possible. The rectangle went 50mm wider to the right and 50mm wider upwards. Onshape kept the line's horizontal position exactly where it was, indeed it is 100mm from the right-hand side. The problem is that isn't where I wanted it to be. Where did I want it to be? Well, the best person to answer that is the me that originally made the sketch. Maybe by now I have forgotten the design intent. Much better for me to add that dimension when I make the sketch, not when I break it later. If you now complicate this situation with co-workers that are also making changes to this design, well then it gets even more tricky.

So that's why we have the badge. There are customers that want to know that the sketch could move in an unexpected way later, or that want to ensure that every bit of design intent is captured as early as possible. But if you want to ignore the badge, feel free, nothing bad will happen right then and there, just know that future you may wish you hadn't.

Paul Chastell
TVP, Onshape R&D
Sign In or Register to comment.