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.
How to avoid missing changes
Hi,
I'm currently experiencing a frustrating patch with Onshape.
It seems that I mess up things when working on new sketches that I'm not aware off.
It might be memory issues in the browser or maybe just me. Fact is that I have several times opened up a new sketch on an existing plane, used the "Use" function to make sure that the new stuff aligns with the old stuff and somewhere down the line, I have issues with extrusions on parts that I didn't work on or touch. I then have to find the issues and fix them.
Is there any way to "fix" work already done. Something that makes you aware that an edit will change other parts while doing that edit?
Or is there a way to "jump" from one issue to the next until there is no issue left? I have a strong programming backround and modern editors all supply these functions.
I just want to take the guesswork and "bad" workflow out of my work.
Any advice is greatly appreciated.
Kind regards,
Edward
Best Answer
-
Hi @edward_omagbemi ,
one point I don't get is how you dimension to a plane's edge, since planes do not have edges: They are infinite. The light blue wireframe rectangles are only there so a label can be stuck to them and you have some indication as to where in space they are. Picking these edges actually picks the plane and so you'll dimension to the plane, not the edge, in normal direction.
That said, and knowing a plane is infinite, it can only move normal to it's direction of extension. Planes built on a face will of course do exactly that if you edit the part you picked the face from when defining the plane. That may lead to 'use' results not being the same after that edit. There might be gaps in shapes built on 'use' curves from different intersections. In some cases, this could be worked around by editing the coincident conditions on the curve end points. The default is coincident with the used geometry, but you may want it to be coincident with curves in your current sketch. Then delete the end point conditions and apply the ones you need.
I'd recommend to create reference planes on offset from the world origin, if you want them to stay in place at all times and don't intend to have them moving depening on E.G. updated extrusion thickness of a wall panel or the like.
In your sample file, there is a "77" dimension floating in thin air in the "Door Sketch" and in "Inner Frames Sketch" it is the glue thickness. Both appear to refer to a part that has disappeared or has been edited in a way that caused the reference face to be replaced by a new face with different ID. That can happen. It might be useful not to stack too many modeling steps on top of each other, but rather make reference geometry (Planes, MCs, …) that stays in place unless you purposefully edit it.
For the cubicle you built, it might make sense to first create planes for each side wall and the layers it is built upon, then use these as target planes for extrusions, frame length and stuff. That would be the reverse approach to making extrusions first and then putting planes on the resulting faces. It would also make it easy to set variables for wall thickness, insulation strength and other things. That would be more like a top-down-strategy, vastly reducing the dependencies between parts.
1
Answers
-
Just so I understand your issue: What you say is that you make a new sketch, in which you apply the "use" function, and after that you have issues with older, already existing extrusions that do no longer work, only after you created the new sketch?
That is certainly very strange and should be examined at the source, not fixed after the fact.
Do you have any in-context editing going on? Are the extrusions based on sketches alone, or are they built on sekecting a mix of existing and sketched curves?
Would you mind sharing a sample?
1 -
Hi Martin,
Thanks for your support.
Here is the link to the file
Let me explain what it is and how I got to where I am now.
It is a motorhome habitat box project that I created to gather ideas for a possible DiY build.
It’s fairly simple with the box being build out of a bottom panel, side walls, and a top panel.
The difficulty arrived with me learning that the glue used to put it all together needs a 2 mm thick layer to work. That’s substantial.
So I had to add several horizontal layers to create that 2 mm glue layer between every single part.
I choose an onion like approach for my design structure. So I started with the outside aluminium frame structure and worked myself towards the inside. So outside frame, glue layer, sandwich panels with rebates and glue layers between each other and then the inside.
All worked well with no issues. The issues started with my working with the inside panel planes for designing everything inside the box.
I started designing the furniture side walls with a sketch that is based on the inside bottom panel plane with no offset.
A sketch for that plane already exists but I started a new one to not interfere with the first one.
All went well and I extruded the sidewalls and all was fine.
Then I wanted to design a floating floor. I created a floor plane by using the bottom panel inside plane and giving it an offset of 150mm. So now I have 3 sketches using that bottom panel inside plane as reference.
I start sketching the floor by applying the “Use” function to import the furniture sidewall lines so that the floor can match the furniture sidewalls. I get a “can’t resolve sketch” error message and close the sketch without saving anything. I stop working for the day and let it be.
The next day I resume work and as I reconnect, I notice alerts on several extrusions. The top panel extrusion is missing references. I fix that and I get left panel extrusion issues that I fix too.
Now I get issues with the sidewall sketch. The external reference for the left side panel, the left panel inside plane is not there anymore. It got deleted. So I rollback to where I created those planes and re-create it.
Going forward and opening the sidewall sketch again, all my sidewalls don’t line up anymore. Their position has shifted significantly and the left inside panel plane is now inside those panels by a good margin.
I didn’t change anything of the underlying variables that define the size of the box and the panels and I definitely did not delete or change any planes knowingly.
So you can imagine that I’m now scratching my head and wondering what on earth I did wrong and how to fix it.
Kind regards,
Edward
0 -
Hi Martin,
I created a branch to continue work while leaving you with the last state to look at in mains.
I realised something that might be a generic mistake I make that leads to my issues.
When creating a sketch on a plane, I used the edges of the plane to define dimensions. I assumed that Onshape allows that because I can dimension using that edge.
Now I realise that it's not a "real edge". I get the "real" edge when using the "Use" tool or the "Intersection" part of it.
Could this be my issue? Onshape allows me to do something that is not the correct way of doing things?
I am currently going through all external references and making sure they reference to a body edge or an intersection with a body and a plane. Those changes are in branch B2.
I also came across a point in the LeftSidePanelSketch that I can't delete. It just floats around without any use. Yet it can not be deleted. How would you go about that one?
Kind regards,
Edward
0 -
If you're having problems with things down the line when you project references for use in later sketches and things break, it's usually because you didn't fully define your earlier sketches to prevent them from changing. Fully defined means that all sketch items are constrained to keep their relationship to other sketch entries and are dimensioned to control their size/angle/radius.
1 -
Hi Ken,
Thanks for your help.
The interesting part about this is that Onshape doesn't tell you that it's not fully defined.
Else I wouldn't have created a version. It's an old school programmer habit of mine to only create a version if no error is present. I go through the list of planes, sketches and features everytime before I create a version and look for any messages in regards to undefined, issues creating, … Only if I arrive at the bottom of the list and didn't see anything suspicious do I create a version.
I believe that my issue was created by using a reference that is more of a visual nature. Like using the visual edge of a layer to define a dimension. It works but only until you change something. Then you get an error message about a missing reference.
I've now created references using the "intersect" and "use" functions and tried to break them. So far not possible.
Kind regards,
Edward
0 -
Hi @edward_omagbemi ,
one point I don't get is how you dimension to a plane's edge, since planes do not have edges: They are infinite. The light blue wireframe rectangles are only there so a label can be stuck to them and you have some indication as to where in space they are. Picking these edges actually picks the plane and so you'll dimension to the plane, not the edge, in normal direction.
That said, and knowing a plane is infinite, it can only move normal to it's direction of extension. Planes built on a face will of course do exactly that if you edit the part you picked the face from when defining the plane. That may lead to 'use' results not being the same after that edit. There might be gaps in shapes built on 'use' curves from different intersections. In some cases, this could be worked around by editing the coincident conditions on the curve end points. The default is coincident with the used geometry, but you may want it to be coincident with curves in your current sketch. Then delete the end point conditions and apply the ones you need.
I'd recommend to create reference planes on offset from the world origin, if you want them to stay in place at all times and don't intend to have them moving depening on E.G. updated extrusion thickness of a wall panel or the like.
In your sample file, there is a "77" dimension floating in thin air in the "Door Sketch" and in "Inner Frames Sketch" it is the glue thickness. Both appear to refer to a part that has disappeared or has been edited in a way that caused the reference face to be replaced by a new face with different ID. That can happen. It might be useful not to stack too many modeling steps on top of each other, but rather make reference geometry (Planes, MCs, …) that stays in place unless you purposefully edit it.
For the cubicle you built, it might make sense to first create planes for each side wall and the layers it is built upon, then use these as target planes for extrusions, frame length and stuff. That would be the reverse approach to making extrusions first and then putting planes on the resulting faces. It would also make it easy to set variables for wall thickness, insulation strength and other things. That would be more like a top-down-strategy, vastly reducing the dependencies between parts.
1 -
You can dimension the distance from a line in a sketch to a face of a plane - perhaps that's what @edward_omagbemi is referring to.
3 -
Hi, @edward_omagbemi
Onshape does in fact tell you when a sketch is not fully defined in multiple ways.
The first is the line and point colors. In dark mode, undefined lines and points are blue, while constrained and dimensioned ones are white. I'm not sure what the colors are in light mode; I think they're blue and black, respectively.
The second is the icon that appears in the Features timeline, which appears with a blue icon with a dash in it for an undefined sketch and without that blue portion when the sketch is defined.
To find which specific lines are not defined, you can have the sketch itself help you. While editing the sketch, at the bottom of the sketch dialog next to the help icon is another button for Sketch Diagnostic Tools. Clicking that button offers you a couple of choices. The first is the Profile Inspector, which can show you the ends of lines and curves that aren't defined. You can also grab the undefined (blue) lines and try to drag them around to see what moves; if it moves, it needs a constraint or dimension.
0
