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 progressively scale (feature pattern)?
I'm trying to find a way to pattern a feature along a curve, with each instance getting progressively smaller. I have this mostly working now in https://cad.onshape.com/documents/3f3ec37e1e353bb9998bd4df/w/b34f22505171e049af84230b/e/5c18dc15b37a5a597c65597d but the act of scaling also seems to be applied to each element being positioned on the curve, such that the X/Y/Z positions along the curve are all shortened by the same amount as the object's scale:
This is easier to see this is the root cause of the issue when the transform is changed to only affect the Z axis:
But of course, this isn't helpful when I need the transform to be uniform and/or the curve extends in multiple dimensions:
Does anyone know of a way to do this, or a published featurescript that isn't subject to the same scaling … feature?
Best Answers
-
MichaelPascoe Member Posts: 2,012 PRO
Try including Sketch 1 in your curve pattern. https://cad.onshape.com/documents/f894948973c9ee02535840d7/w/ed…
Learn more about the Gospel of Christ ( Here )
CADSharp - We make custom features and integrated Onshape apps! Learn How to FeatureScript Here 🔴0 -
MichaelPascoe Member Posts: 2,012 PRO
To do it with derive, you can have the original part configured with a scale value. This way you input the scale factor directly into the derived part within it's configuration. Then your pattern only needs to pattern two things: scale variable and the derive. Inside the derive feature you can set the configured scale to the scale variable, like this:
https://cad.onshape.com/documents/f894948973c9ee02535840d7/w/ed2d03fdfe9baf70c0fd18c0/e/908ef79d7b…
Also, check out the configurations learning pathway, it will show you some really neat things:
Learn more about the Gospel of Christ ( Here )
CADSharp - We make custom features and integrated Onshape apps! Learn How to FeatureScript Here 🔴1
Answers
Try including Sketch 1 in your curve pattern. https://cad.onshape.com/documents/f894948973c9ee02535840d7/w/ed…
Learn more about the Gospel of Christ ( Here )
CADSharp - We make custom features and integrated Onshape apps! Learn How to FeatureScript Here 🔴
Thanks. I made a few changes to my demo model to figure out what's actually happening here.
It looks like I have a bit more fiddling to do in order to make this work with in my real model, with a derived part instead of a simple extrusion. Apparently "derive" causes some issues with feature patterns (or equally likely that I'm doing something wrong). If you have any more ideas/suggestions there are a couple examples / experiments in new part studios in same document referenced in the original post.
To do it with derive, you can have the original part configured with a scale value. This way you input the scale factor directly into the derived part within it's configuration. Then your pattern only needs to pattern two things: scale variable and the derive. Inside the derive feature you can set the configured scale to the scale variable, like this:
https://cad.onshape.com/documents/f894948973c9ee02535840d7/w/ed2d03fdfe9baf70c0fd18c0/e/908ef79d7b…
Also, check out the configurations learning pathway, it will show you some really neat things:
Learn more about the Gospel of Christ ( Here )
CADSharp - We make custom features and integrated Onshape apps! Learn How to FeatureScript Here 🔴
Thanks again. I think using configurations might work for my real case, though it will create a lot more work because the part I'm resizing in my "production" model is actually a composite part made of several different derived parts (some of which are boolean-union'd together with other parts local to the part studio) and I would have to do that multiple times based on number of other conditions.
I do find it odd that patterning a "copy in place" (or copy+move) and scale of the derived part doesn't work.
I'm sure there's a way to get those techniques to work, but I don't have the time to play with it atm.
Learn more about the Gospel of Christ ( Here )
CADSharp - We make custom features and integrated Onshape apps! Learn How to FeatureScript Here 🔴
It looks like there are just some issues with derive/union/transform operations in patterns. I'll keep poking with this and report back if I find anything.
I've also set up the document with a bunch of variations of attempted techniques (Michael's that work, and all of my failed attempts) in case anyone else wants to take a go at it (or just to see how it fails in different situations):
https://cad.onshape.com/documents/3f3ec37e1e353bb9998bd4df/w/b34f22505171e049af84230b/e/dc250e05df6c8704756c110f
depending on how complex your production model is, you could consider using 'increment variable'.
It publishes the 'scale' values in the variable table as well.
(this is unrelated to the issues you'r trying to solve BTW)
https://cad.onshape.com/documents/b48de632f33db2e4ec9ffacd/w/33301ef2e5423da1a2dbda12/e/78553bdfcca3eb9f40c3e229?renderMode=0&rightPanel=variableTablePanel&uiState=66febb517ae5d216612f9ca8