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.

Custom Feature Collection: 456D Make

Derek_Van_Allen_BDDerek_Van_Allen_BD Member Posts: 631 PRO
edited December 2025 in FeatureScript

-Link to features up front-

There are probably a few among the users of this forum who are CAD veterans who might remember a fun little suite by Autodesk called 123D that had a powerhouse of an fabrication tool in 123D Make. It could take an object as an input and turn it into slices of stacked cardboard or paper templates for foam or a low poly pepakura model. And then like everything cool Autodesk has, they discontinued support for it and permanently shelved it after promising that the features would end up in their other software. There have been attempts to remake some functionality of 123D Make in Onshape but I've tried all of them and found them… wanting.

So rather than wait around for someone else to build the version of the tool I miss dearly, I'm reimplementing all of the features that 123D Make had, the way it had them.

My unsanctioned sequel. 456D Make

Kicking off things with the first of many slicing features comes Waffle It which takes a solid body and turns it into cross cut slices that fill out the volume of the target body. Now, there are other features that do this, so why did I go to the trouble of writing my own version as the intro to this suite? Two reasons. The first reason is that unlike all other attempts I have found in Onshape's featurescript library, I'm thinking inside the box.

waffleItDemo.gif

Due to the methods I'm using, no edges of my slices exceed the bounding volume of the original input part. All other featurescripts I found used an intersection method that had material sticking out of the input solid. This makes for extra cleanup work if you need these slices to fit into an assembly. The second reason to use Waffle It is that it can output a sheet metal context for easy exports or drawings. Right click the context and export every slice as its own .dxf and send it.

You don't have to use this feature for sheet metal or laser cutting though, even the normalization step is optional if you'd prefer to use this as a structural springboard for plywood with mitered ends for weird corners.

More to come in future updates.

Comments

  • Ste_WilsonSte_Wilson Member Posts: 552 EDU

    You're a feature script machine!!!!

  • EvanReeseEvanReese Member, Mentor Posts: 2,785 PRO

    Love the sheet metal touch

    Evan Reese
    The Onsherpa | Reach peak Onshape productivity
    www.theonsherpa.com
  • S1monS1mon Member Posts: 3,915 PRO

    This is very cool.

    It seems like there are still some issues with parts protruding through the exterior with Normalize and Sheet metal turned on.

    image.png

    I could also see it being useful to have spacing for planes/ribs just in a single direction. I think about airplane wing/fuselage ribs, like some of the videos from @GregBrown
    https://www.youtube.com/watch?v=ytZVIfquMF4

    Simon Gatrall | Product Development, Engineering, Design, Onshape | Ex- IDEO, PCH, Unagi, Carbon | LinkedIn

  • Derek_Van_Allen_BDDerek_Van_Allen_BD Member Posts: 631 PRO

    @S1mon That block is around waiting for me to figure out how to handle complex saddle curvature. There's a dumb way and a different dumb way and I didn't want to commit to either one just yet until I think of a third dumb way.

    Right now the normalization routine projects faces to the slice plane and then thickens them the direction of the face normal of the slice and removes the wonky bits. Fails on saddle faces like that one where the projection operation doesn't like the doubled back faces. I could do an isocline at 0 degrees to split those faces but that doesn't always work I've found. I could do a small thicken on the errant faces and project that to the slice which should resolve some issues but not all, I could copy the original solid, draw a box around that copied solid, remove the copy from the box leaving a negative, then use the hollowed box to boolean subtract the sheet metal and hope the subtractive operation cuts away all the remaining outside slice faces.

    Rest assured I'll be dealing with that slice at some point, but I published a bit early because @ry_gb mentioned waffles in the other thread and that warranted a response.

  • S1monS1mon Member Posts: 3,915 PRO

    What about creating two parts, one which is driven by the intersection of one face of the rib and the other which is driven by the other face, and then your final rib is the intersection of those two parts?

    Simon Gatrall | Product Development, Engineering, Design, Onshape | Ex- IDEO, PCH, Unagi, Carbon | LinkedIn

  • Derek_Van_Allen_BDDerek_Van_Allen_BD Member Posts: 631 PRO

    Doesn't handle cases where the curvature dips in between the faces. Thought about that, but that would make it too easy.

  • S1monS1mon Member Posts: 3,915 PRO

    Ugh. So maybe that was dumb idea #0?

    So here's dumb idea #0.5:
    For most things that I could imagine using this tool for, sampling (so to speak) the front, back, and the mid-plane of each rib and taking the intersection of all of those might be enough. Within the tolerances of cutting such ribs and the curvature changes of the surfaces you're simulating, that might be enough.

    Simon Gatrall | Product Development, Engineering, Design, Onshape | Ex- IDEO, PCH, Unagi, Carbon | LinkedIn

  • Derek_Van_Allen_BDDerek_Van_Allen_BD Member Posts: 631 PRO

    Yeah that's probably a good enough approximation for many workflows but I'm too stubborn to settle for the approximation. Hence why I was bothered enough to not just use the existing slicer scripts in the first place. I've actually got a decent amount of confidence in the sheet metal remove method but it's gonna be an enormous performance hog more than likely. I'm gonna keep thinking about it.

  • MichaelPascoeMichaelPascoe Member Posts: 2,762 PRO

    Added!

    .


    Learn more about the Gospel of Christ  ( Here )

    CADSharp  -  We make custom features and integrated Onshape apps!   Learn How to FeatureScript Here 🔴
  • Derek_Van_Allen_BDDerek_Van_Allen_BD Member Posts: 631 PRO

    Pushed an update yesterday that refactors a bit of the core logic to be more generalized in preparation for some of the other slicing methods I'll be implementing long term. The foundation of this script was pulled from another grid slice script that makes assumptions about the input geometry that will not be true for future additions to generation methods.

    The update was not ID preserving so if you've been using the waffle feature, the bodies it outputs will be geometrically identical but will have new part names and appearances and all that jazz. Roll back to version 15 if this is a problem for your parts.

  • lanalana Onshape Employees Posts: 752 image

    You can shave a little off sheet metal remove performance by using the opCreateOutline of the complement to the slice. ( the is what sheet metal remove uses after a lot of book keeping)

  • Derek_Van_Allen_BDDerek_Van_Allen_BD Member Posts: 631 PRO

    @lana that's how I'm running my normalization routine prior to getting to the sheet metal step. opCreateOutline abnormal faces then thicken remove from the non-sheet metal body. Or are you suggesting an alternative implementation?

  • martin_kopplowmartin_kopplow Member Posts: 1,192 PRO

    This FS might be very helpful for those building terrain models out of laser cut wood/MDF parts.

    This is a simple sample I once made for the students. The workflow could now be made much faster.

    Screenshot 2026-01-02 191706.png Screenshot 2026-01-02 191716.png

    Screenshot 2026-01-02 191742.png
  • lanalana Onshape Employees Posts: 752 image
    edited January 2

    @lana that's how I'm running my normalization routine prior to getting to the sheet metal step. opCreateOutline abnormal faces then thicken remove from the non-sheet metal body. Or are you suggesting an alternative implementation?

    No - that is the best I could offer. I guess, you can have optimization option Precision vs. Performance so that the user can choose what is important.

    I reviewed normalizeSliceGeometryForLasercutting. Instead of projecting surfaces, I'd use the complement. Build an oversized box containing the slice, with coincident flat sides. Subtract the slice ( keep tools), compute outline of the complement, thicken, subtract. The result should be the same ( approximately) , I would expect performance to be the same, but this approach is going to be more stable for thin slices and bad geometry.

  • Derek_Van_Allen_BDDerek_Van_Allen_BD Member Posts: 631 PRO

    I haven't played around with those settings yet but I have seen some little islands floating around when things don't get fully clipped by the thicken operation that my attention started to shift that way for a solution. I've also noticed that saddle or dome cases on the boundary faces can break the opCreateOutline call so I think I might need to do some isocline or self shadow splits to cover those cases.

Sign In or Register to comment.