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.
help to simplify a spring model
I'm working on a configured model for a spring, and i'd love to have a checkbox configuration for a simplified/detailed model. the detailed one is the actual spring model swept on a helix, but for the simple representation, I'd love to just use the helix curve so it doesn't bog down my assemblies or take too long to rebuild. However, I don't think I'm able to add Mate Connectors to the helix, which would quash that idea. I know I could make the simplified version just a cylinder, but i'd really prefer to have something that looks more spring-like. Has anyone done anything similar and have any tips?
Evan Reese
0
Comments
I've got the configurations working great. My issue is in finding a spring simplification I like. My criteria are:
- fast rebuild time
- fast render time
- looks kinda like a spring
for now I'm just using a cylinder for the simplified representation which tackles the first two items, but number 3 is lacking. I don't think curves are a possible selection as an owner part for a mate connector, so I don't think I can even use the curve as a representation (hopefully someone proves me mistaken); not to mention the trouble it causes trying to swap between a solid body and a curve with different internal IDsMaybe I should be looking for a way to add the helix to my cylinder as a split line. That way the internal part ID can be maintained in both configurations. I tried just selecting the helix as the "entities to split with" but it won't even let me pick it. All the ways I've thought of to do this involve nearly the same rebuild time as just sweeping the spring to begin with which defeats the purpose. Any tips there?
1) Move forward with the split line technique. But that would require a swept surface to split the cylinder face. A swept surface might be less rebuild intensive than a swept solid, but it’s still not great.
I think option 3 is the most straightforward.
I'll probably keep looking for a solution to option 1 with an inexpensive regen time because I'm making this for a team to use as part of a larger hardware library (for things I can't do with standard content), and I don't want this to be the one component that everyone has to remember is a composite part when inserting.
https://www.youtube.com/watch?v=oqMl5CRoFdk
In this case, you can store metadata in either the curve, the solid/surface, or the composite part; whichever makes the most sense in your case
@michael_mcclain
I think that will work. That's what I was trying to describe above with my screen shot. I am going to avoid it a while longer and see how far stubbornness gets me, but I'll probably end up going that route.
You should be able to solve this with composite part
turns out that @mahir was right all along. I ended up sweeping a surface and the rebuild time for that feature is 14ms compared to 563ms 🤯.
One last issue is left though. For some reason, I'm unable to split the cylinder with that surface. It requires that I also split the surface into multiple surfaces first. In experimenting, I'm also unable to split the cylinder with a single vertical split line. it has to be cut into 2 distinct surfaces. however, if I split the part in half, then split the faces and boolean it back together I'm left with exactly what I want (but it's too expensive in rebuild time). at this point, I could totally settle for leaving the vertical split line, but I'm super curious as to why we can't split it with a single line, when the geometry is obviously possible to produce other ways. Anyone care to enlighten me? I'm trying to learn something here so any amount of nitty-gritty pedantry is welcome
The one on the left has a vertical split line and the one on the right doesn't. I want the low rebuild time of the left solution and the result of the right one.
Here's a link to a document with two part studios showing each solution. make sure to uncheck the "detailed model" config. https://cad.onshape.com/documents/85cd3b5d9887806828c42c55/w/b250b37b00d0a4565641780a/e/8a9c3aa9ae2bf17c73cb32cb
Case in point, I hate threads on screws, but the screw is still easy to work with and aesthetically accurate without the thread. Plus removing the thread makes a much larger relative difference in regen time - more like orders of magnitude vs 28%. For a spring, there's really only one recognizable feature - the helix. And changing how that helix is displayed doesn't seem to make much difference to regen times. But hey, to each their own ¯\_(ツ)_/¯. Maybe you've got a project that uses 1000 springs?
Oh I'm totally overthinking it and having a blast doing it. I've passed the "good enough" threshold a while ago. Now I'm just following my curiosity and turning it into a chance to get better at optimizing, which will pay off later when I actually need to be good at it. In the end, the results will be more of a joy to use for me and my team, which is worth something.
That said, on longer spring configurations the performance difference is meaningful. The simple one is 3.24 times faster at 10in.
I'm also considering 2 kinds of performance; regen time, and graphics. The simplified model is also targeted toward improved graphical performance in large assemblies. I've run into issues before with needlessly complex hardware.
But I'm still overthinking.
My project is all about making the hardware we keep on hand as easy as possible to use in our designs so I'm very focused on a uniform user experience across the whole part library. I don't want some items to be Parts and others to be Composite Parts. Our library is pretty limited so I think this is feasible. With bigger libraries of different kinds of parts (like bearings, for example) I'd go ahead with composites. This is one of those projects that, I hope, will be linked to a lot by me and my team, so while the difference seems small, I think over time, with lots of use, it adds up to something meaningful.
Or maybe I just want what I want 😄
You can't cut the cylinder with only one helix surface, because after the cut you still have only one single surface. And I think Onshape doesn't allow this. The solution is to duplicate the cylinder and rotate it. Then you can use the split command with both helix surfaces.
I made a copy of your document and added the changes:
https://cad.onshape.com/documents/708d82476ac554e773d489e8/w/75d228f49a516c47d9c359ac/e/f4d333162fad3aedcf6874d3
You should get a 8-sided wire, which looks kinda round
https://cad.onshape.com/documents/ed4e4494877306b70bf6f516/w/e90cb8be051a15b5a719df53/e/0b432fc0d74276747be13f78