Those of you who attended the 2011 Pointwise User Group Meeting may remember that our company president, John Chawner, mentioned during his closing statements how nice it would be to have the ability to print your grids in 3D. That was more than just a dreamy, “what if” statement. It is a reality!
A Little History
I have always been fascinated with 3D printing. My first exposure to it was more than 20 years ago when I worked at General Dynamics Fort Worth Division (now Lockheed). Back then, I created an interface from our proprietary desktop CAD application to the then inaugural 3D Systems printers.
I still have the first F-16 forward fuselage model I printed to test their printer’s capabilities. This model included the F-16’s Gatling gun, ammo cans, exposed radar array, and electronics bays!
Nothing Better to Do
While reminiscing about my 3D printing glory days one (idle) weekend last year, I found myself wondering if I could use Pointwise’s Plugin SDK to export a file suitable for 3D printing. After some mental analysis and jotting down some ideas on the back of a few napkins (every great idea involves a napkin), I decided the answer was yes. Much to my wife’s amusement, I spent that entire weekend creating the Pointwise Print 3D plugin.
Where We are Today
The Print 3D plugin is fully functional. During export, it converts a grid to a printable solid model by inflating each cell edge into a cylinder. Edges shared by multiple cells are only exported once. To increase overlap at the grid points, each cylinder’s length is increased by 1/2 radius in each direction.
In addition to the geometric output. There are three boundary-condition types and three volume-condition types supported. These types control which edges are converted to cylinders or are hidden.
- mesh – thicken the boundary or volume edges in output
- hidden – exclude boundary or volume edges from output
- solid – thicken the boundary or volume edges in output. If a boundary, also thicken the tris and quads to form a solid wall.
I Said “Almost”
In true Murphy style, that initial weekend of computer time has since mushroomed into many more additional hours of building test grids, exporting STL files, and uploading them to Shapeways, my 3D printing service. Most of this was done to help debug issues that prevented me from obtaining a successful 3D print.
As best as I can tell, the files exported by the Print 3D plugin push the 3D printing software to the limit. I often am frustrated when the exported models are rejected by the printing service. If the grid is not rejected, the printed part may be missing some pieces.
Typical STL files used for printing contain a small number of individual, non-intersecting solid bodies. For instance, an STL file for a chain of three links would contain three distinct, water-tight bodies. One for each link.
However, due to the nature of the grid to STL conversion process used in the plugin, a typical Print 3D file exported from Pointwise contain thousands of small, individual solid cylinders. By design, these cylinders intersect at their ends. This intersection is the glue that holds the pieces together in the finished part.
The current limitations of 3D printing technology prevents the printing of most real grids. The element sizes for a typical, boundary layer resolved grid are just too small to print. The print machines also have a physical limit on the largest part that can be produced. Print services may also limit the maximum number of facets allowed in a model. This limit determines the largest grid that can be printed.
For instance, the material I use when printing grids at Shapeways has a minimum wall thickness of 0.7mm, a maximum part size of 66 x 35 x 55cm, and a facet count limit of no more than 1 million.
The Print 3D plugin exports edge cylinders using a diameter of 0.9mm. This means any grid cell smaller than 0.9mm would be lost in the solid blob formed by the relatively fat, 0.9mm edge cylinders.
Despite these limits, we have been able to print some fun and interesting grid models. It is very cool to hold the printed 3D grid in your hand! We have been brainstorming new ideas for how to best use printed grids. Education? Trophies? Visualization tools?
Where We are Going
As 3D printing technology improves, we hope to be able to incorporate post-processing data (color) back into the grid printing.
I have been looking for other printing services to see if we have better printing luck. My attempts to contact Print3D for more information have gone unanswered. I also recently found the Sculpteo printing service. If you can recommend a 3D printing service, we are listening.
We hope to include the Print 3D plugin in an upcoming release of Pointwise (sorry not v17.0). We are still trying to work out the kinks in the printing process to provide a more enjoyable experience.
In the meantime, why don’t you take a look at Pointwise and let us know how we can help you make better grids? If you have an idea on how to use the CAE Plugin SDK to output grid data in a new and unexpected way, give it a shot and let us know how it turns out.
I’ve done some similar parts on shapeways. One of the ways I’ve found to get nice manifold meshes out of all those mashed together cylinders is to use the Ball Pivoting surface reconstruction method in meshlab. You have to fiddle a bit with the parameters to get a nice result (and re-sample the initial surface to add resolution along the cylinders). It’s painfully slow for large numbers of edges, but I’ve successfully printed parts made this way.
I appreciate the information. I will give the Ball Pivoting Surface tool a try.
I have also been looking for a free or open source “STL boolean” application/algorithm. If you know of one, please let me know. I considered writing one myself, but haven’t found the time for this relatively low priority issue (it is not trivial!).
I know 3D printing typically targets only single and multi-non-intersecting body models. However, I am very surprised that the STL slicing software is not very good at performing a “2D Union” at the slice level. A 2D union is far simpler than the 3D equivalent. And I say “not very good” because some prints succeed while other, similar prints do not.
Pingback: Another Fine Year in Blogging About Meshing | Another Fine Mesh
Pingback: This Week in CFD | Another Fine Mesh
Thank you! I’ve got a lot of useful information now!