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.

[FeatureScript] Creating randomized voids in order to strengthen 3D prints

kenn_sebesta167kenn_sebesta167 Member Posts: 22 ✭✭
edited April 26 in FeatureScript
Inspired by https://reprapltd.com/fibre/, I made a FeatureScript which does something similar:


The idea is that a user could draw a volume inside a 3D print and use this to strengthen that volume. 

Users can choose to have the defects be uniformly distributed, to decay linearly toward the volume boundaries, or to decay quadratically toward the boundaries.

Uniform distribution:

Linear decay:

Quadratic decay:

I used spheres instead of cylinders, as my logic is that the goal is to make a stronger isotropic material, whereas the cylinders as proposed in the original lead themselves more to anisotropic improvements. But if they are for anisotropic enhancement, then why choose random orientations? Seems like spheres are a more natural fit.

CAVEAT: This makes the STL file huge, like in some cases >100MB. However, once the file is imported the slicer hardly takes any longer to process it, and the gcode isn't much larger. I'm open to suggestions for how to reduce the STL file size. Perhaps cubes might be friendlier than spheres?

My first script, I'm curious for feedback. Took me gawdawful forever, but a lot of that was just learning the ropes.


  • Evan_ReeseEvan_Reese Member Posts: 1,374 PRO
    Cool! Thanks for sharing it. I think you'll have to make a version so people can link it (add it to their toolbar). I've not seen this technique before, so I'm looking forward to reading up on it.
    Evan Reese / Principal and Industrial Designer with Ovyl
    Website: ovyl.io
  • kenn_sebesta167kenn_sebesta167 Member Posts: 22 ✭✭
    edited April 26
    Cool! Thanks for sharing it. I think you'll have to make a version so people can link it (add it to their toolbar). I've not seen this technique before, so I'm looking forward to reading up on it.
    I just made a document version, is that what others need to use it?

    Will it break things badly for me to rename it and/or move it to another directory?
  • NeilCookeNeilCooke Moderator, Onshape Employees Posts: 4,238
    That's all you need to do - move it anywhere you like, the URL is unique.
    Director, Technical Services, EMEAI
  • Evan_ReeseEvan_Reese Member Posts: 1,374 PRO
    Thanks, that did it and I've got it working now. To keep the stl size down, you could certainly use some kind of polygonal shape instead of spheres. I think you're right that cubes are a good choice for this. If you ever wanted to do long skinny shapes like his cylinders, then something polygonal, like square or hexagonal holes would definitely reduce the triangle count.

    Now that I've given it a look and read the blog post you referenced I think I see why he chose cylinders instead of spheres. He was referencing composite fibers like carbon fiber and fiber glass (or old bricks made of clay and straw). You may already know all of this, but composite materials like that use long straight fibers (glass, carbon, or straw) which can take a lot of compression, but are too flexible on their own, and add a substrate that binds them together keeps them from bending (like resin or clay). I don't have a good guess whether that analogy actually translates to his 3D prints, or if the little holes just compel the slicer to add more material which makes it stronger no matter what the shape is. I'd say at least the second if not both. If you're up for running a test to see, I'd absolutely read a report of the findings 🤓

    I'm always keeping an eye out for 3D printing related features so thanks for sharing yours.
    Evan Reese / Principal and Industrial Designer with Ovyl
    Website: ovyl.io
  • kenn_sebesta167kenn_sebesta167 Member Posts: 22 ✭✭
    edited April 26
    Thanks for the input. The thing about composites is that they provide their strength by being in the outer skin. It doesn't make sense to fibers in the core where they don't contribute to bending stiffness nor strength.

    Of course, for those same purposes it makes just as little sense to have spheres in the core. Instead, the advantage of having improved core material is better core crush resistance, which is a failure mode for transversally loaded composite beams. The improved core also provides strength for loadings in unanticipated directions.

    It occurs to me that a future version of this could provide a "composite" reinforcement option, where the particle density decays from a maximum at the skin to 0 at the shear line. In my mind that's a lot harder, though, since it requires some way to handle the load direction.

    Our printers are freeing up at the end of the week, we should be able to print a bunch of test coupons and see what real-world benefits, if any, this featurescript has.
  • Ste_WilsonSte_Wilson Member Posts: 102 EDU
    Interesting stuff.
  • nicholas_radzykewycznicholas_radzykewycz Member Posts: 30 PRO
    I agree with the issue of spheres being not the best shape. As 3D prints are very not isotropic and layer shear is one of the big issues when parts can be loaded in random directions.

    I'd think this method might be deceptive as adding internal holes would potentially trigger different settings for most printers about an external layer, making it potentially have better layer adhesion and a higher in-fill percentage thus enhancing strength, but not really being that much better compared to a higher in fill percentage. I'm also not sure how this technique would compare to other in-fill techniques that create internal 2D or 3D Truss geometry along with adjusting the 3D printer settings for higher layer adhesion.

    I've found this guide very helpful over the years for strength estimates as a product of layer direction:

    There is also this small book of a paper on the varying factors of 3D print strength:

    It seems for high strength In-Fills the generally agreed upon engineering best practice at the moment is 3D cubic In-fill.
    Example images available at https://icesl.loria.fr/pages/features/tetrahedral-infills/

Sign In or Register to comment.