Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- 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.
Why does it not constrain the circle in this example?
When you look at my sketch in this document, https://cad.onshape.com/documents/ba7e4923733923f342b29886/w/93007c0d23b822965f740041/e/a31ef347a5b40fafc448d9b9, I started with a sketch on the top plane. I drew a center point rectangle and gave it 100 x 100. Then I offset the bottom line by 20 mm as a construction line. I then made a circle by pulling up from the middle point of the construction line, which is completely constraint, and gave it a diameter of 10 mm.
Still before you put the measurement in it from the side to the center, which is in fact a driven measurement, it will not show the circle as a constraint item.
What is the logic behind this? To all intents and purposes this circle is already fully defined before this measurement and this side measurement should be a driven number.
Best Answer
-
_anton Member, Onshape Employees Posts: 410
Presumably because the only points on the line that can move are the endpoints. The pattern is, if an entity is blue, you can grab and move it. What would you expect to happen if you were to grab the line and drag it? Full sideways movement? That's arguably valid, but you can also interpret it as misleading (it may appear like it can move in other directions as well, though it can't).
1
Answers
The ends of your construction line were not constrained to the edges of the square.
Fixed.
And why does that happen? When you take a line in a rectangle and offset it by x amount, the ends will always be on the sides, there is no other way!
Not sure how you drew the line, but keep an eye out for assumed constraints.
My assumed constraints are exactly as I described step by step in the OP. When I offset a line inwards in a rectangle by 20 mm, I expect the ends of that line to be on the side lines of the rectangle. Then, when I want a circle and I wake up the middle point of that line, I fully expect this circle to be fully defined, as all other items were black as well. If the line is black, why are its end points not constraint?
It might be hard to see (maybe try Dark mode) but the line can be black, indicating that it is constrained vertically, but the endpoints can be blue, indicating that their horizontal location is not constrained.
But it is not correct! as a function of a rectangle, which is fully constraint, any perpendicular offset of a side will always be either vertical or horizontal, and parallel with its original. So its endpoints must be on a side.
So the line goes black, but it is not fully constraint! That statement alone is against onshape's own teachings. In all the lessons about sketching they always say this as if it is the only golden rule! Make it black. A line cannot have its end points not constraint while the line itself minus endpoints is fully constraint!
I can see what you mean, those end points remain blue. But the line went black so I woke up its middlepoint and used it as a constraint. If the ends of that line stay blue, why is the line black?
I don't feel we are solving this issue, we are merely coming up with other questions, I do not think I am unreasonable to expect offset to behave like I explained. If that expectation is wrong, I would like to see examples of how it could be otherwise?
Consider the degrees of freedom that offset line has. It can rotate, it can translate, and its endpoints can move individually. The offset constraint is effectively "these two line segments are parallel and are this distance apart", so that's the rotation and translation constrained. But that's all you specified; the constraint says nothing about the endpoints of the line segment.
Ok I understand now that offset has constraint only rotation and translation, thank you for pointing out that the function offset therefor has not fully constraint the line that is the result of that function. I was not aware of that.
But remains the question as to why it turns black if it is still not fully constraint? This is going against what I believed I was taught all those moons ago. If those end points still have a degree of freedom, this will affect the line that was the result of the offset and I would expect it to stay blue to notify me it has not been fully restraint.
Presumably because the only points on the line that can move are the endpoints. The pattern is, if an entity is blue, you can grab and move it. What would you expect to happen if you were to grab the line and drag it? Full sideways movement? That's arguably valid, but you can also interpret it as misleading (it may appear like it can move in other directions as well, though it can't).
Ok Anton, that is explained without any possible doubt. Yes I still believe I am "arguably" right, but so is your point about it becoming misleading since the expectation of "not constraint" is fully moveable. Even though I have a hard time accepting that the line was allowed to turn black, I accept your explanation does make sense, probably for the better of most cases.
Are there more cases possible where a sketch turns black but a small seemingly insignificant part does not, setting you possibly on the wrong path?
I've noticed this behavior with offset splines, but the blue endpoints are a little bit easier to spot because they aren't coincident with other geometry. Anton thanks for the explanation - always a plus to hear how the program works
You'd get the same with an arc or partial ellipse.
I think it helps if you think of the mathematical definition of a line which is one dimensional and of infinite length. In this case the line is defined but not the location of the start and ends.
I think this is pretty standard interpretation in the CAD world and I know if the line remained blued when only the end points are free it would be confusing.
Yes I fully understand now. My wrong assumption was that the offset takes all constraints from the original, except when using them in a string of offsets, when the next part clips the previous. But it makes sense now and I will look at offsetting differently from now on.
Thank everybody for explaining this, it all helps making a better user out of me.