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.
Bug? Sketch "flips" on plane at 45 degrees
I have a sketch that uses a reference to another sketch / part.
When I change some configuration valies, the sketch flips, see below.
There is no obvious connection of the projected lines/points and the configuration values, they just move a little.
Anyone experience with this behaviour?
There are not really other references I can use to prevent flipping..
Correct:
Flipped:
Note 1: the "definition" of the sketch is still valid, it's just going "the other way".
Note 2: the sketch itself is also on a plane that moves depending on the configuration variables (pretty complex drawing)
Comments
I have had a similar issue when relying on geometric constraints, where there's one local solution but multiple global solutions (with no path between them).
Check your constraints, and see if there's a more reliable way to define the location of your sketch elements.
@Oliver_Couch
Yes, I tried many approaches to define the elements, including other references, but nothing works.
I would need to "over-define" the sketch to properly "define" it (nice, over-defining is actually not over-defined in this case).
The flip occurs when my sketch-plane passes 45 degrees (see below): all defined dimension-values flip (e.g. 1mm becomes negative 1mm).
This is easily reproducible: create a plane at 40 degrees, draw something on that plant, edit the plane to be at 50 degrees, watch your drawing.
Should this be filed as a bug?
You may be running into some thing like this. Not a flip but a repositioning based on some constraint you're not aware of. This one happened when the 5" dimension was changed to 2". And changing the angle on this plane does something the similar. When another dimension is added 1.15" the problem seems to go away and I can change the plane angle to anything I want.
I reproduced it in the most simple way:
Plane at 44 degrees from line:
Plane at 46 degrees from line:
The whole plane is rotated when passing 45 degrees (see the "Plane 1").
Same at 135 deg.
I think there is no way to define a sketch on a rotating plane, and keep the sketch from rotating..
Interesting that plane1 should flip when the angle is changed. That does start to look like a bug to me. I tried using a mate connector on the end of a line for the sketch and it behaved better. That may get around the current issue.
I think it has to do with how Onshape decides which way is up/down within the plane and it makes sense that 45 would be the limit.
As far as working around this, you should be able to use the "flip plane normal" by converting it to an expression and using a ternary operator to only flip it when it's over 45. You would need the angle to be in a variable defined before the plane feature.
This might be more easily achieved if using a mate connector instead of a plane (a mate connector can be used for pretty much everything a plane can do and provides better control over the axes…
@eric_pesty The point is that in my case the plane is the result of multiple configurations and intersections, so it's very dynamic. And in some configuration the plane passes 45 degrees. I've managed to fix some parts of the drawing using even more planes and intersections and projections. However, there is still one sketch feature that I cannot control, and that still flips (see below).
The "flip plane normal" doesn't work in my case, as indeed it flips the normal, but does not rotate the plane.
Using mate connectors could work (not sure how) but I think will neither solve my last problem of the flipping sketch feature.
(the remaining problem: the 1.25mm feature flips outward, where it should remain inward, see below)
Also, it does indeed makes sense OnShape decides which way is up for a plane, but that would mean there needs to be some way to define the "direction" or "normal" of the sketch. Without that the sketch is actually under-defined.
Neither does it explain why only one part of a drawing is suddenly "flipped" (meaning when it is flipped, and I change 1.25 to -1.25 it id correct again).
I would highly recommend using a mate connector as the sketch plane. I don’t think you’ll have the same problems with things flipping.
@S1mon I did a quick test, needed some extra lines to place the mate connector, but indeed now it doesn't flip!
That does solve my problem, I'll have a lot of re-work though..
But still, why doesn't a plane behave in the same way? It feels like a workaround, but thanks!
I use Mate Connectors for sketch planes a lot more than I use planes. I really don't like a lot of planes cluttering up my part studios. There are only a few cases (plane through 3 points, for instance) where a MC won't directly substitute for a plane. My technique in Solidworks was to sketch most things on the default planes and extrude From..To.. vertices. It takes more clicks than I'd like, but this is now possible in Onshape as well. For things where stuff needs to be rotated or viewed from a particular direction, MCs are very powerful. It's also easier to re-reference them to another location and take the sketch with it (assuming most/all of the sketch is referencing the MC).
Another reason to need a plane over an MC is plane intersections, that doesn't work with an MC. I use that a lot.
But now I place the plane on the MC, perhaps less repositioning of the plane then..
I've seen this flipping behavior while modeling 3D threads. The triangular sketch at the end of a helix wants to flip unexpectedly, when changing configurations. Will have to look into mate connectors, as a way to stop this behavior. Thanks S1mon