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.
Discrepancy between extrude patterning from a split and from a sketch
john_hackington
Member Posts: 43 ✭✭
Hi all,
My following question spawns from an earlier discussion of mine, in which a fellow Onshape user helpfully pointed out the functional difference when 'Apply per instance' is ticked in the Linear Pattern option.
The issue is that 'Apply per instance' works fine for the pattern of an extrude originating from a sketch face, but an error occurs if that extrude originates from a split face.
Below we see what 'Apply per instance' does for the Linear Pattern - it recalculates the offset to face that I defined in the original extrude, instead of patterning the exact original extrude geometry:
Without 'Apply per instance' (Extrude from a Sketch face):
With 'Apply per instance' (Extrude from a Sketch face):
The problem arises when the extrude being patterned comes from a Split face.
Without 'Apply per instance' (Extrude from a Split face):
With 'Apply per instance' (Extrude from a Split face) - Error occurs!:
The document that contains all the above 4 scenarios is here:
https://cad.onshape.com/documents/18a41a284a861bf92a847b93/w/6626c058c80cfc32882d07ac/e/84e3cad7cb751d40532f677b
Functionally, the original extrudes created from both the Sketch face and the Split face should be the identical, so it is perplexing that an error should occur at the patterning of the extrude by a Split face.
Does anyone know why?
My following question spawns from an earlier discussion of mine, in which a fellow Onshape user helpfully pointed out the functional difference when 'Apply per instance' is ticked in the Linear Pattern option.
The issue is that 'Apply per instance' works fine for the pattern of an extrude originating from a sketch face, but an error occurs if that extrude originates from a split face.
Below we see what 'Apply per instance' does for the Linear Pattern - it recalculates the offset to face that I defined in the original extrude, instead of patterning the exact original extrude geometry:
Without 'Apply per instance' (Extrude from a Sketch face):
With 'Apply per instance' (Extrude from a Sketch face):
The problem arises when the extrude being patterned comes from a Split face.
Without 'Apply per instance' (Extrude from a Split face):
With 'Apply per instance' (Extrude from a Split face) - Error occurs!:
The document that contains all the above 4 scenarios is here:
https://cad.onshape.com/documents/18a41a284a861bf92a847b93/w/6626c058c80cfc32882d07ac/e/84e3cad7cb751d40532f677b
Functionally, the original extrudes created from both the Sketch face and the Split face should be the identical, so it is perplexing that an error should occur at the patterning of the extrude by a Split face.
Does anyone know why?
1
Best Answers
-
elif Onshape Employees Posts: 53
Hi John,
As has been mentioned, when the "Apply per instance" option is checked the features are recreated for each instance. Each instance needs to resolve its own references (e.g which face to extrude, up to where, etc). When you don't select the "Split" feature as input, the input face resolves to the original extruded face, as the split operation does not get repeated. When you select the split feature as input as well, each instance of the pattern first splits, then extrudes the face created by the split for this specific instance. This is the reason behind the "discrepancy" between selecting and not selecting the Split feature.
Now, in your careful testing you noticed that Sketches behave a bit differently. We designed the functionality so that you don't have to select the sketch feature before an extrude. We "built it in" to get the user the results that want with little effort in this most common work flow (sketch+extrude). So whether you select the input sketch or not, the extrude will pattern correctly in most cases.
As for the case with "Apply per instance" off, we basically repeat the geometry created by the selections without re-creating features or re-resolving references.
Hope this helps clarify some of the behavior (and not confuse you further!)
-Elif
2 -
MBartlett21 Member, OS Professional, Developers Posts: 2,039 ✭✭✭✭✭@john_hackington
@emagdalenaC2C
@elif
I got it to work. I had to create my own split feature, incorporating the transform for the feature pattern. Links are below.
Example:
https://cad.onshape.com/documents/0bebb7f58f4feb39672588ec
Split Feature
https://cad.onshape.com/documents/c73361aaf6eb56895530a8d7
2
Answers
The extrude feature https://cad.onshape.com/documents/12312312345abcabcabcdeff/w/a855e4161c814f2e9ab3698a/e/aff9bec3150a48098a8184ac use the transform when a extrude feature is created. https://cad.onshape.com/documents/12312312345abcabcabcdeff/w/a855e4161c814f2e9ab3698a/e/6d5267035f3b4a908db705cd
Instead the split feature doesn't use the transform, so the instances of the array stay in the same location
Eduardo Magdalena C2i Change 2 improve ☑ ¿Por qué no organizamos una reunión online?
Partner de PTC - Onshape Averigua a quién conocemos en común
Thanks for the input again!
The use of extrude feature is common to both scenarios, so the issue here seems to be between a sketch face and a split face, and does not seem to be due to a mismatch between extrude and split.
Also, instances of the array staying in the same location does not explain why an error occurs when 'Apply per instance' is ticked, but does not occur when 'Apply per instance' is not ticked.
Eduardo Magdalena C2i Change 2 improve ☑ ¿Por qué no organizamos una reunión online?
Partner de PTC - Onshape Averigua a quién conocemos en común
Eduardo Magdalena C2i Change 2 improve ☑ ¿Por qué no organizamos una reunión online?
Partner de PTC - Onshape Averigua a quién conocemos en común
But since the split feature does not have the transformation defined, the split operations of the instances recalculated tried to create the split in the same place as the original instance... and that is why they fail
Eduardo Magdalena C2i Change 2 improve ☑ ¿Por qué no organizamos una reunión online?
Partner de PTC - Onshape Averigua a quién conocemos en común
However, digging deeper, when I tried to include the Split in the 'Features to pattern' for the 'Apply per instance' version, the error disappeared, which still does not match up with the failure mechanism you've proposed
https://cad.onshape.com/documents/ac55f11a6e913cacff6e9993/w/e7d8a648f4b692d73a13c56e/e/1c5c159c49e55b54e7a5357d
Hi John,
As has been mentioned, when the "Apply per instance" option is checked the features are recreated for each instance. Each instance needs to resolve its own references (e.g which face to extrude, up to where, etc). When you don't select the "Split" feature as input, the input face resolves to the original extruded face, as the split operation does not get repeated. When you select the split feature as input as well, each instance of the pattern first splits, then extrudes the face created by the split for this specific instance. This is the reason behind the "discrepancy" between selecting and not selecting the Split feature.
Now, in your careful testing you noticed that Sketches behave a bit differently. We designed the functionality so that you don't have to select the sketch feature before an extrude. We "built it in" to get the user the results that want with little effort in this most common work flow (sketch+extrude). So whether you select the input sketch or not, the extrude will pattern correctly in most cases.
As for the case with "Apply per instance" off, we basically repeat the geometry created by the selections without re-creating features or re-resolving references.
Hope this helps clarify some of the behavior (and not confuse you further!)
-Elif
Thank you! I really appreciate your detailed explanation. I have a better understanding now, particularly on the part on the behavior of Sketches, as I see that it is a functionality specifically designed in.
On the behavior of patterning extrudes from splits, I did a series of testing below and just have a last bit of uncertainty and hope it's not too much of a trouble to clarify further:
https://cad.onshape.com/documents/ac55f11a6e913cacff6e9993/w/e7d8a648f4b692d73a13c56e/e/70e57f38f10c558a66395a73
1. Pattern only Split with "Apply per instance" - No Error, but Split does not gets patterned (Understood as Transform not in the Split code so each instance of Split stays at the same location)
2. Pattern only Split without "Apply per instance" - Error in resolving.
3. Pattern only Extrude with "Apply per instance" - Error in resolving. (Understood as Split not selected as input, so further instances of Extrude has no Split surface to resolve from)
4. Pattern only Extrude without "Apply per instance" - Success and geometry gets patterned.
5. Pattern Split and Extrude with "Apply per instance" - No Error, and understood same as Case no. 1.
6. Pattern Split and Extrude without "Apply per instance" - Success and geometry gets patterned.
I could understand how the most of the above 6 cases turn out, but am just unsure on no. 2 and no. 6.
Why is there an error for no. 2, but no. 6 can resolve successfully?
-John
@elif
There is no face geometry arising from the split that can be patterned.
@john_hackington
There is face geometry from the extrude, but none from the split, as I said above.
IR for AS/NZS 1100
One thing to note is splits don't always create geometry. They, most often then not, modify it. So doing actions on "faces created by split" type approach will most likely not give you what you'd expect. (This is true for featurescript development as well)
@john_hackington please let me know if you have further questions.
I'm just curious why there is no resolving error in Case no. 6, even though Split is included in the input. Geometry from the Extrude will be successfully patterned indeed, but shouldn't an error occur for the additional Split in the input? Isn't no. 6 a combination of no.2 and no.4, and wouldn't the resolving error from no.2 carry over?
Also, with no face geometry being the cause, shouldn't Case no. 1 have a resolving error as well?
IR for AS/NZS 1100
Now there's just the last remaining mystery of why the error in no.2 is not carried over to no. 6
IR for AS/NZS 1100
@emagdalenaC2C
@elif
I got it to work. I had to create my own split feature, incorporating the transform for the feature pattern. Links are below.
Example:
https://cad.onshape.com/documents/0bebb7f58f4feb39672588ec
Split Feature
https://cad.onshape.com/documents/c73361aaf6eb56895530a8d7
IR for AS/NZS 1100
Maybe @ilya_barancan take a look to add some improvements to the split feature
Eduardo Magdalena C2i Change 2 improve ☑ ¿Por qué no organizamos una reunión online?
Partner de PTC - Onshape Averigua a quién conocemos en común
@ilya_baran ?
IR for AS/NZS 1100
Done: https://forum.onshape.com/discussion/9622/split-feature-in-patterns/#latest
IR for AS/NZS 1100