Trouble with Weaverbird Mesh + 3D Printing

Hi there – have been watching a couple of videos to try and achieve what should ultimately be a printable candle holder, but am having some trouble with the end mesh. The script is created using a ‘faceted dome’ and then in order to get the appropriate offsets for thickness, using Weaverbird ‘Mesh Thicken’, welding those meshes and baking. Unfortunately, while the end result is a single closed mesh, my printer isn’t getting that from the gcode and is instead producing PLA spaghetti on the bed. I’ve taken the baked mesh and run ‘MeshToNURB’ on it, and it looks like all of the welds are non-manifold edges on the polysurface, so I think that may be contributing to the failed print.

Additionally, as it’s meant to be a candle holder in the end, it would be great to remove some of the surfaces at the top, so potentially having the ability to cull specific surfaces in the Z direction using a number slider for distance? I’m not sure how to achieve this, but have attempted a bit of list management and numbering the surfaces.

What I would really appreciate some help with, please, is the following:

  • Create a closed polysurface or mesh with the appropriate thickness that can be baked and exported for printing
  • Have the ability to remove surfaces from the top (which will vary based on the initial point population and seed) to create an opening
  • (Bonus) Align one surface to ‘the ground’ to make it planar for printing (currently, I just did this after baking, but it would be great to integrate into the script, if possible)

Thank you for taking a look! Script is attached.

polyhedra.gh (20.6 KB)

1 Like

Hi, I don’t have weaverbird but when ahead and flattened your lofts before joining and baking the mesh, from there i turned it into a SubD and did an offset. See attached.

You can do some further refinement as needed to the subD. Figuring this route might get you closer.


ReMeshyIssues.3dm (3.9 MB)

here is one using an offset Brep component from the Sasquatch plugin, there’s one in parakeet too i believe.


ReMeshyIssues-Solid.3dm (1.3 MB)

I loaded your GH file and exported the final mesh as an STL file. The latest version of PrusaSlicer loaded the STL file with no errors and sliced it fine. My default is mm so I scaled your file up 300% before slicing.

I see no problem printing this, but…you’ll have to orient it so there’s a flat surface on the bottom, and, depending on what that orientation is, you may have to add supports for some of the sections.

I tried getting the Loft to slice, but it has errors that even Netfabb can’t correct. So it looks like meshing is the way to go for this geometry.

1 Like

My apologies, i didn’t realize i was working in decimal feet, so the models above are large.

This is brep to quadmesh

If you are getting an STL into the slicer software and it is not throwing errors when generating G-Code then the spaghetti may well be caused by a print setting or printer error.

Classic spaghetti causes include prints not adhering to the printer bed or prints cooling unevenly and curling up at the edges causing the printer to crash.

There are some good examples above on alternative ways to design this shape… if the spaghetti persists, focus on the printer!

Thank you for checking this, @Birk_Binnard – yes, I too wasn’t getting any errors on the slice and I had re-oriented it to be planar after baking, so that wasn’t a problem. Basically, on starting the print, it would do the raft and then begin the first layer and kind of stop extruding, then as it continued, wouldn’t adhere. I am seeing I need to do a firmware update, so that could be a contributing factor!

Hi @Japhy – appreciate you looking into this too. Will try a couple of your solutions.

Any thoughts on the removal of some of the top surfaces in order to create that opening I mentioned in OP? Ideally, this would follow along with the randomness of the facets / seed generation – just not sure how to integrate that into the script.

See attached for a script that cycles through the various facets once oriented to the XY plane.

Once you find the one you like you can plug into your definition.


Re_Polyhedra.gh (19.8 KB)

This might be a little hacky but could work in this case. Requires elefront.

Once you’ve chosen the configuration but want to edit the shape slightly you could bake the curves and move the points around a bit (F10 turns on control points)

These are re-referenced and should work OK in your definition.

Since some have more than 3 sides they will not be planar once moved around, which causes the error in the Area component.

Re_Polyhedra_Elefront.gh (25.7 KB)

I think this can be a lot simpler!

Here’s a definition that makes a solid closed planar faced Brep, for which the default meshing is watertight, and without any plugins/subdivision/remeshing.

You choose a face to open and it orients it so the opposite face lies on the ground plane (and also makes that base face closed).

candleholder.gh (21.8 KB)

1 Like

A nice thing about this method is that (presumably) you could print each face separately, face down on the print bed, and glue them together afterwards to avoid the need for support structure and to get a consistent finish on each face.

1 Like

candleholder_separate.gh (15.2 KB)
layout_00000

Good point!

11 Likes

Ooh, @DanielPiker, I think you may have nailed it! Thank you so much – really appreciate everyone’s input on it! These will be for my wedding next year, so gotta make them most excellent :slight_smile:

3 Likes

Daniel’s method is impressive for sure. Assuming you use it I’d suggest you print the parts with PLA and not use glue at all to assemble the final result. Instead use a solvent that essentially welds the pieces together. This is the stuff I use to do this: Weld-On and it works very well.

It is highly volatile so only use it in a place with good ventilation. It will dry out skin so wear rubber gloves if you can. And a tiny amount will do the job.

1 Like

Ultimately, was able to print it all in one go, so no assembly required! It’s maybe a little large (about 5.5" tall) and I wanted to see how it would do without supports (not terrible, but some stringy bits here and there), so some tweaking will happen today (especially in testing out more facets!). Thanks again for all the help, everyone!

3 Likes

Surprisingly good results for no supports. Congratulations.

1 Like

I am sure you have got this covered already but … just in case…“Among the most popular filaments used in 3d printing, PLA is by far the most flammable . Additionally, parts made out of ABS will also catch on fire if exposed to high temperatures for prolonged periods of time. The most flame-retardant filaments readily available for 3d printing are TPU and PETG.” … What temp does PLA ignite?4043D (datasheet) 160-220°C around 180°C is a good start…

I seem to remember extruding PLA at around 220degC. Is that what you are referring to? The extrusion temp or ignition temp? It certainly doesn’t ignite at 220degC!

You have a good point about flammability though… if the candle holder just catches fire as the candle burns down then perhaps this is a design flaw?

I know there are some excellent PLA filaments with natural additives to give them better strength properties. Perhaps you can get fire retardant ones?

I use a propane torch to clear jammed nozzles, heatbreaks, etc. of fused PLA. What happens is first the PLA melts. Then it boils - it will actually produce bubbles, albeit small ones. Then it starts to flame by itself. After that it just burns itself up and disappears. So my sense is that a candle flame that does not come in direct contact with PLA would cause it to soften or melt, but that’s about it. If the flame did come into direct contact with PLA it would probably take some time for it to ignite the PLA, but this would only happen after the PLA melted and started dripping . My torch, which is a lot hotter than an open candle flame, takes maybe 20 seconds to ignite a small amount of PLA.

Nevertheless, PLA is flammable for sure. so I’d take steps to eliminate the potential for direct candle flame/PLA interaction. Maybe put the candle inside a glass shield?