Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. 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.

Options

Discrepancy between extrude patterning from a split and from a sketch

john_hackingtonjohn_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?

Best Answers

  • Options
    elifelif Onshape Employees Posts: 50
    Answer ✓


    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



    Team Lead, Part Studios
  • Options
    MBartlett21MBartlett21 Member, OS Professional, Developers Posts: 2,034 EDU
    Answer ✓
    @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
    mb - draftsman - also FS author: View FeatureScripts
    IR for AS/NZS 1100

Answers

  • Options
    emagdalenaC2iemagdalenaC2i Member, Developers, Channel partner Posts: 859 ✭✭✭✭✭
    You can take a look to the std document
    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
    Un saludo,

    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
  • Options
    john_hackingtonjohn_hackington Member Posts: 43 ✭✭
    Hi @emagdalenaC2C

    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.
  • Options
    emagdalenaC2iemagdalenaC2i Member, Developers, Channel partner Posts: 859 ✭✭✭✭✭
    Un saludo,

    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
  • Options
    emagdalenaC2iemagdalenaC2i Member, Developers, Channel partner Posts: 859 ✭✭✭✭✭
    Un saludo,

    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
  • Options
    john_hackingtonjohn_hackington Member Posts: 43 ✭✭
    edited June 2018
    I see, but still, how would that explain why an error occurs when 'Apply per instance' is ticked, while it works fine when 'Apply per instance' is not ticked?
  • Options
    emagdalenaC2iemagdalenaC2i Member, Developers, Channel partner Posts: 859 ✭✭✭✭✭
    When Apply per instance is cheched all the instances of the pattern are recalculated.

    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
    Un saludo,

    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
  • Options
    john_hackingtonjohn_hackington Member Posts: 43 ✭✭
    Thanks, this explanation does indeed seem to be closer to the right track!

    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

  • Options
    elifelif Onshape Employees Posts: 50
    Answer ✓


    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



    Team Lead, Part Studios
  • Options
    john_hackingtonjohn_hackington Member Posts: 43 ✭✭
    edited June 2018
    Hi 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
  • Options
    MBartlett21MBartlett21 Member, OS Professional, Developers Posts: 2,034 EDU

    2. Pattern only Split without "Apply per instance" - Error in resolving.
    @john_hackington

    There is no face geometry arising from the split that can be patterned.


    6. Pattern Split and Extrude without "Apply per instance" - Success and geometry gets patterned.
    @john_hackington

    There is face geometry from the extrude, but none from the split, as I said above.
    mb - draftsman - also FS author: View FeatureScripts
    IR for AS/NZS 1100
  • Options
    elifelif Onshape Employees Posts: 50
    Thanks @mbartlett21, you're absolutely right. 

    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.
    Team Lead, Part Studios
  • Options
    john_hackingtonjohn_hackington Member Posts: 43 ✭✭
    edited June 2018
    Thanks @mbartlett21 and @elif !

    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?


    2. Pattern only Split without "Apply per instance" - Error in resolving.
    @john_hackington

    There is no face geometry arising from the split that can be patterned.

    Also, with no face geometry being the cause, shouldn't Case no. 1 have a resolving error as well?

  • Options
    MBartlett21MBartlett21 Member, OS Professional, Developers Posts: 2,034 EDU
    Also, with no face geometry being the cause, shouldn't Case no. 1 have a resolving error as well?

    Apply per instance regenerates the feature, rather than patterning the faces
    mb - draftsman - also FS author: View FeatureScripts
    IR for AS/NZS 1100
  • Options
    john_hackingtonjohn_hackington Member Posts: 43 ✭✭
    Apply per instance regenerates the feature, rather than patterning the faces
    Ah yes, @mbartlett21! This makes sense indeed.

    Now there's just the last remaining mystery of why the error in no.2 is not carried over to no. 6
  • Options
    MBartlett21MBartlett21 Member, OS Professional, Developers Posts: 2,034 EDU
    Apply per instance regenerates the feature, rather than patterning the faces
    Ah yes, @mbartlett21! This makes sense indeed.

    Now there's just the last remaining mystery of why the error in no.2 is not carried over to no. 6
    It is because it has geometry to pattern, which makes it perfectly happy :-)
    mb - draftsman - also FS author: View FeatureScripts
    IR for AS/NZS 1100
  • Options
    MBartlett21MBartlett21 Member, OS Professional, Developers Posts: 2,034 EDU
    Answer ✓
    @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
    mb - draftsman - also FS author: View FeatureScripts
    IR for AS/NZS 1100
  • Options
    emagdalenaC2iemagdalenaC2i Member, Developers, Channel partner Posts: 859 ✭✭✭✭✭
    Great work

    Maybe @ilya_barancan take a look to add some improvements to the split feature
    Un saludo,

    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
  • Options
    john_hackingtonjohn_hackington Member Posts: 43 ✭✭
    That's really cool! Great job @mbartlett21 ! :-)
  • Options
    MBartlett21MBartlett21 Member, OS Professional, Developers Posts: 2,034 EDU
    Great work

    Maybe @ilya_baran can take a look to add some improvements to the split feature
    Yes maybe he could
    @ilya_baran ?
    mb - draftsman - also FS author: View FeatureScripts
    IR for AS/NZS 1100
  • Options
    ilya_baranilya_baran Onshape Employees, Developers, HDM Posts: 1,178
    The improvement here need to be prioritized against other work the part studio group is doing.  We'll occasionally make random unscheduled improvements based on informal forum requests, but in this case, I'll revert back to our usual refrain: please create / vote on an improvement request so we can prioritize.
    Ilya Baran \ VP, Architecture and FeatureScript \ Onshape Inc
  • Options
    MBartlett21MBartlett21 Member, OS Professional, Developers Posts: 2,034 EDU
Sign In or Register to comment.