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.
Way to unwind rope from one spool to another?
chris_8
OS Professional Posts: 102 PRO
I'm pretty sure the answer is no, but I figured it was worth asking. People do some amazing things with Onshape
https://cad.onshape.com/documents/2f2a6c16d9881cf261c18e37/w/c1dfbcd3147fff60c372b2a5/e/796ba4fe86e35b4a01e01bbc
https://cad.onshape.com/documents/2f2a6c16d9881cf261c18e37/w/c1dfbcd3147fff60c372b2a5/e/796ba4fe86e35b4a01e01bbc
0
Best Answers
-
mahir Member, Developers Posts: 1,307 ✭✭✭✭✭Ah, I see now. You have more than one layer of winding on each spool. One layer is easy - just make #helix2_height = #spool_height - #helix1_height. Two or more layers of spool would require some conditional logic to handle the "overflow" height from one layer to the next. I think it's doable, but not straightforward. The variable relations would look something like this. I'm sure there's a cleaner way, but since variables are still features that get processes sequentially, this should work. If I have time I'll test the implementation.
#helix2_total_height = #total_height - #helix1_total_height
#helix2_layer1_height = #helix2_total_height/#spool_height > 1 ? #spool_height : #helix2_total_height
#helix2_layer2_height = (#helix2_total_height - #helix2_layer1_height)/#spool_height > 1 ? #spool_height : #helix2_total_height - #helix2_layer1_height
#helix2_layer2_height = #helix2_layer2_height < 0in ? 0in : #helix2_layer2_height
6 -
mahir Member, Developers Posts: 1,307 ✭✭✭✭✭FS can definitely help do this and a lot of other useful things, but in this case I was just using conditional logic with variables. That alone doesn't require FS - just an understanding of variable expressions. In this case I was just using an alternate version of an IF statement (X?A:B translates to If X is true do A, if not then do .1
Answers
#helix2_total_height = #total_height - #helix1_total_height
#helix2_layer1_height = #helix2_total_height/#spool_height > 1 ? #spool_height : #helix2_total_height
#helix2_layer2_height = (#helix2_total_height - #helix2_layer1_height)/#spool_height > 1 ? #spool_height : #helix2_total_height - #helix2_layer1_height
#helix2_layer2_height = #helix2_layer2_height < 0in ? 0in : #helix2_layer2_height
Chris