Phoenix Children's Hospital 3D printed heart model. (Image courtesy Phoenix Children's Hospital)

Workflow for Creating a 3D Printed Medical Model with Stratasys

For decades in the medical world, surgeons and their professional support teams have relied on X-rays, computed tomography (CT) scans and magnetic resonant imaging (MRI) data when performing their pre-surgical planning approach. These diagnostic tools have been literal lifesavers, yet the resolution and 2D perspective of these images can make it difficult to determine the full details of anatomical geometry. Subtle, critical abnormalities or hidden geometries can go unnoticed when viewing flat films and digital displays.

3D printed heart model produced by Phoenix Children’s Hospital. (Image courtesy Phoenix Children’s Hospital)

With the advent of 3D printing, many surgeons are now using 3D models for both surgical planning and patient communication. While cost is the primary hold-back, such models are seeing increased use. In addition, efforts are underway to quantify the benefits of reduced operating room time/expense and improved patient outcome; see Medical 3D Printing Registry (ACR/RSNA). Supporting this concept are the high-resolution, multi-material PolyJet 3D printers from Stratasys.

But how does the patient’s CT and MRI data become a unique 3D printed model you can hold in your hand? How do you segment out the areas of interest for a particular analysis or surgical model? This blog post describes the necessary steps in the workflow, who typically performs them, and the challenges being addressed to improve the process every step of the way.

Data Acquisition of Patient Anatomy

When we think of imaging throughout the decades, X-ray technology comes to mind. However, classic single 2D images on film cannot be used to drive 3D models because they are qualitative not quantitative. The main options that do work include the series of x-rays known as CT scans, MRI data, and to a lesser extent computed tomography angiography (CTA) and magnetic resonant angiography (MRA). Each approach has pros and cons and therefore must be matched to the proper anatomy and end use.

CT scans comprise a series of x-rays evenly spaced laterally across a particular body section, typically generating several hundred image files. These can be quickly acquired and offer high resolution, however, they do not do well displaying different types of soft tissue, and the process relies on extended exposure to a radiation source.

Sample multiple digital images generated as a CT scan is performed (Image courtesy nymphoenix/Shutterstock.com.)

Typical CT resolution is 500 microns in X and Y directions, and 1mm in Z. This is readily handled by Stratasys printers; for example, the print resolution of the J750 Digital Anatomy Printer is 42 microns in X, 84 microns in Y, and 14 to 27 microns layering in Z, which more than captures all possible scanned features.

Computed Tomography Angiography (CTA) involves the same equipment but uses a contrast agent. With this approach, brighter regions highlight areas with blood flow. This process is superior for showing blood vessels but does not differentiate tissue or bones well.

MRI data is based on a different technology where a strong magnetic field interacts with water in the body. This approach differentiates soft tissue and shows small blood vessels but is more expensive and not effective for capturing bone. Similarly, Magnetic Resonant Angiography (MRA) uses a contrast agent that can track small blood vessels which are important for identifying a stroke but cannot register tissue. MRI scans may also include distracting artifacts and offer poor regional contrast.

A final source of digital imaging data is Positron Emission Tomography (PET). Here, radioactive material is attached to a biologically active area such as cancer; the data obtained with sensors is useful but very local – it does not show surrounding tissue.

Segmentation: Conversion from DICOM to STL format

Whether generated by CT or MRI equipment, anatomic image data is stored in digital files in accordance with the Digital Imaging and Communications in Medicine (DICOM) standard. Two aspects of this standard are relevant to 3D printing medical models: DICOM files include patient-specific, HIPPA-protected information, and the data in the individual images must be merged and converted into a solid model, with the areas of interest defined and partitioned.

Various software packages and services are available that will convert DICOM data into an STL model file (standard format for 3D printer input) while stripping out the personal identifying information. (The latter must be done to comply with HIPPA regulations: never send a DICOM file directly to any service bureau.)

Segmentation involves partitioning a digital image into distinct sets of pixels, defining regions as organ, bone, blood vessel, tumor, etc., then grouping and combining those sub-sections into a 3D model saved as an STL file. Not only does this format offer more meaningful information than a stack of separate images, but it can then be exported for 3D printing.

Example of processed CT scans, combined into a multiple-view 3D visualization and saved as an STL file. (Image courtesy PADT Inc.)

The standard unit of measure for identifying and segmenting the different regions within the combined 3D series of CT scans is a Hounsfield unit. This is a dimensionless value, defined as tissue density/x-ray absorption; for reference, water = zero, a kidney =+40 and bone = +1000.

Human guidance is needed to set threshold Hounsfield levels and draw a perimeter to the area of interest. You can define groups with the same threshold level, cut out certain areas that are not needed (e.g., “mask” the lungs to focus on the spine), and use preset values that exist for common model types. Typically, a radiologist or trained biomedical engineer performs this task, since correctly identifying boundaries is a non-trivial judgement task.

A particularly challenging task is the workflow for printing blood vessels, as opposed to bones or organs. The output from CTA/MRA imaging is the blood pool, not the enclosing vessel. In this case, users need third-party software to create a shell of X thickness around the blood pool shape, then keep both model files (pool and vessel) to guide printing the vessel walls and their internal support structure (which, on the Stratasys J750 Digital Anatomy Printer, is soluble and dissolves out.)

So far, just a few medical segmentation software packages exist:

  • Materialise Mimics Innovation Suite is internationally known for its excellence in image analysis and allows you to write scripted routines for automating repeated aspects of the segmentation tasks. There are also tools for interpreting images with metal artifacts, designing support connections between parts, measuring specified features, and rendering a view of the resulting 3D model.
  • Synopsys Simpleware ScanIP is a 3D image segmentation, processing, and meshing platform that processes data from MRI, CT, and non-medical imaging systems. Simpleware ScanIP removes or reduces unwanted noise in the greyscale images, allows cropping to the area of interest, supports both automated and user-guided segmentation and measuring and includes API scripting. Modules are available for Cardio, Ortho, and Custom solutions.
  • Invesalius 3 is open-source software that can reconstruct CT and MRI data, producing 3D visualizations, image segmentation, and image measurements in both manual and semi-automated modes.
  • Embodi3D/Democratiz3D is an online service that lets you upload a series of CT scans, select a basic anatomy type (bone, detailed bone, dental, muscle, etc.), choose the free medium-to-low resolution or paid high resolution conversion service, and receive the link to an automatically generated STL file. (Users do not interact with the file to choose any masking, measuring, or cropping.) The website also offers downloadable 3D printable models and 3D printing services.

Note that these packages may or may not have some level of 510K FDA clearance for how the results of their processing can be used. Users would have to contact the vendors to learn the current status.

Setting up the STL file for printing

Most of the segmentation software packages give you options for selected resolution of the final model. As with all STL files, the greater the number of triangles, the finer the detail that is featured, but the model size may get too large for reasonable set-up in the printer’s software. You may also find that you still want to edit the model, either to do some hole repairs or smoothing, slice away a section to expose an interior view, or add mechanical struts/supports for delicate and/or heavy anatomy sections. Materialise Magics software will do all of this readily, otherwise, adding a package that can edit STL files or create/merge geometry onto an STL file will be useful.

Medical Modeling software workflow from CT scan to print, for typical Stratasys 3D printed model.

Whoever is setting the file up for printing needs to make a number of decisions based on experience. For Stratasys Connex3, J55, J8-series or J750 Digital Anatomy Printers, the process begins by bringing the file into GrabCAD Print and deciding on an optimized build orientation. Next, colors and materials are assigned, including transparent sections, percentages of transparent colors, and flexible/variable durometer materials, which can be for a single part or a multi-body model.

For the J750 Digital Anatomy Printer in particular, users can assign musculoskeletal, heart, vascular, and general anatomies to each model, then choose detailed, pre-assigned materials and properties to print models whose tactile response mimics actual biomechanical behavior, such as “osteoporotic bone.” (see Sidebar).

I tested out the free online Democratiz3D segmentation service offered by Embodi3D. Following their tutorial, I was able to convert my very own DICOM file folder of 267 CT images into files without patient ID information, generating a single STL output file. I chose the Bone/Detailed/Medium resolution option which ignored all the other visible anatomy then brought the resulting model into the free software Meshmixer to edit (crop) the STL. That let me zero in on a three-vertebrae section of my lower spine model and save it in the 3MF format.

Lastly, I opened the new 3MF file in GrabCAD Print, the versatile Stratasys printer set-up software that works with both FDM (filament) and PolyJet (UV-cured resin) printers. For the former case, I printed the model in ivory ASA on an F370 FDM printer, and for the latter, I was able to assign a creamy-grey color (Red248/Green248/Blue232) to give a bone-like appearance, printing the model on a J55 PolyJet office-environment printer.

GradCAD Print software set-up of 3MF vertebrae model, ready for printing in a user-defined bone color on a Stratasys J55 PolyJet full-color 3D printer. (Image courtesy PADT Inc.)
3D printed vertebrae parts created from CT scans: on left, ABS part from a Stratasys F370 FDM printer; on right, Vero rigid resin material from a Stratasys J55 PolyJet printer. (Image courtesy PADT Inc.)  

Experience helps in producing accurately segmented parts, but more features, such as AI-enabled selections, and more online tutorials are helping grow the field of skilled image-processing health professionals. Clarkson College (Omaha, NE) also recently announced the first Medical 3D Printing Specialist Certificate program.

Reach out to PADT to learn more about medical modeling and Stratasys 3D printers.

PADT Inc. is a globally recognized provider of Numerical Simulation, Product Development and 3D Printing products and services. For more information on Stratasys printers and materials, contact us at info@padtinc.com.

—————————

Sidebar: J750 Digital Anatomy Printer

The Stratasys J750 Digital Anatomy Printer uses PolyJet resin 3D printing technology to create parts that mimic the look and biomechanical response of human tissue, organs and bones. Users select from a series of pre-programmed anatomies then the material composition is automatically generated along with accurate internal structures. Pliable heart regions allow practice with cutting, suturing and patching, while hollow vascular models support training with guide wires and catheters. General anatomy models can replicate encapsulated and non-encapsulated tumors, while bone structures can be created that are osteoporotic and/or include regions that support tapping, reaming and screw insertion.

Currently the Digital Anatomy Printer models present in the range of 80 to 110 Hounsfield Units. Higher value materials are under development which would help hospitals create phantoms for calibrating their CT systems.

Currently available Digital Anatomy Printer   Model/Section Assignments:

Structural Heart:

  • Clot
  • Frame
  • Myocardium
  • Reinforcement
  • Solid Tumor
  • Valve Annulus
  • Valve Chordae
  • Valve Leaflet
  • Valvular Calcification
  • Vessel Wall

General Anatomy:

  • Dense connective tissues
  • Hollow internal organs
  • Solid internal organs
  • Solid Tumor

Blood Vessels:

  • Clot
  • Fixtures
  • Frame
  • Gel Support
  • Inlets
  • Reinforcements
  • Solid Tumor
  • Valve Annulus
  • Valve Leaflet
  • Vascular Calcification
  • Vessel Wall

Musculoskeletal

  • Facet Joints
  • General Bone
  • Intervertebral Discs
  • Ligament
  • Long Bone
  • Nerves
  • Open End
  • Ribs
  • Skull
  • Vertebra

GrabCAD Print (the App): Making Work-from-Home Actually Work

I am so lucky in a zillion ways to be able to work from home while functioning in my position as a 3D Printing Application Engineer for PADT Inc., a Stratasys 3D printer reseller and engineering consulting/manufacturing company in Tempe Arizona.

Three things are making this possible:

1 – Awesome management and co-workers

2 – Great high-speed internet connection

3 – GrabCAD Print software, and more specifically, the GrabCAD Print phone app.            

Of all the apps on my phone, next to my gmail account, this is the app I check most often, because it is so handy!

First off, I can instantly see the status of the nine PADT printers we have on our Tempe network; I can also check other networks and accounts in other locations for which I have permission. That means I know the status of printers I’m running or want to run, and can tell how long someone else’s job is going to take – a very useful bit of information when it comes to telling a customer or our sales group what printer is open for running a part.

For example, this screen tells me:

–  a job is ready to start on our full-color PolyJet Objet500 Connex3,

–  one print just finished on our Fused Deposition Modeling (FDM) Fortus400,

–  my job is 43 percent complete on one of our FDM F370s, and

–  another of my jobs has just begun on the second F370 system.

I can even see that a print got cancelled on our older F250; in this case, I was expecting that, but it’s good information in case I wasn’t. But there is so much more…

Say I want to confirm the file name of what’s running on that first F370, and get some data about its status. I click on that printer’s name and the app shows me this screen:

Now I see that the print has just gotten to layer 2 of 123 slices total, it started at 1:58pm and it will finish at 6:12pm this evening. It also displays the file name of the part and shows that I’m the owner.

If I slide the image of the printer to the left, I then get the camera view, since an F370 has a build-chamber camera that updates about every ten seconds. Because this print had just started, you can’t really see much beside the build plate (brightly lit at the top), but I can come back to that as often as I like to monitor a particularly challenging geometry – say, perhaps a tall thin part where I added some extra support structure.

At this point I can access several more windows. If I click Job Material Usage, I see

This information is useful if I need a reminder of how much model and support material this print will consume.

The next line offers the bigger picture: clicking through, I see how much material remains in each canister, for both the model and support; it also shows what, if any, material is loaded in the second set of bays. Stratasys printers with double bays will do an automatic hot-swap as needed – a nice feature over the weekend or in the middle of the night.

Here’s another possible status screen: a paused build, where I had planned ahead, inserting a Pause Build instruction in the GrabCAD job set-up. In this case, I wanted to stop the part and remove it, to create a sample piece that exposes the hexagram infill I chose for lightweighting. Another reason to pause and resume an FDM print is to add hardware such as a flat washer to reinforce a deep hole.

The GrabCAD Print App also sends me email alerts (with a chime on the phone) when the status of a print job changes, such as the message below telling me the job has indeed paused as planned:

(I don’t get notifications for other people’s jobs, so I don’t get inundated with messages.)

This real-time information lets me keep track of all my print jobs from my 3D Printing Command Center deep in the heart of suburban Phoenix. I can do 98% of what I need to remotely.

Of course, I depend on the engineers in PADT’s Manufacturing group – essential workers who’ve been in the office non-stop throughout this crazy 2020 work-year. They change filament, load clean trays, run calibrations, remove parts, and put finished prints in our Support Cleaning Apparatus tanks (a PADT-developed system spun off to Oryx and OEM’d to Stratasys since 2009.) That step dissolves the soluble support. (For several of the engineering filaments I run, the support is break-away, and my team takes care of that, too.)

The GrabCAD Print App is available as a free download from the Apple app store. And all of this is in addition to how you can view and interact with GrabCAD Print itself from any computer, setting up a part to print as you sit in one city then uploading the print-ready file to a system across the state or across the country.

Got any questions about the app? We’d love to answer them.

PADT Inc. is a globally recognized provider of Numerical Simulation, Product Development and 3D Printing products and services. For more information on Stratasys printers and materials, contact us at info@padtinc.com.

FDM printed part with surface texture added in SolidWorks 2020.

Printing 3D Texture on FDM 3D Printed Parts – it can be done!

While many examples exist of impressive texturing done on 3D printed Stratasys PolyJet printed parts (some wild examples are here), I have to admit it took me a while to learn that true texturing can also be added to Stratasys Fused Deposition Modeling (FDM) parts. This blog post will walk you through adding texture to all faces or some faces of a solid model, ready for FDM printing. You, too, may be surprised by the results.

I know that complex texturing is possible in a graphics sense with such software packages as Rhino, PhotoShop, Blender and more, but I’m going to show you what you can achieve simply by working with SolidWorks, from Rev. 2019 onwards, as an easy starting point. From there, you can follow the same basic steps but import your own texture files.

Example of Stratasys FDM part set up to print with a checkerboard surface texture. (Image courtesy PADT Inc.)
Example of Stratasys FDM part set up to print with a checkerboard surface texture. (Image courtesy PADT Inc.)

SolidWorks Texture Options

First off, let’s clarify some terms. Texture mapping has existed for years and strictly speaking creates a 2D “texture” or pattern. If I were to wrap that imagery around a 3D CAD model and print it on, say, a PolyJet multi-color 3D printer, I’d get a 3D part with a flat or perhaps curved surface decorated with a multi-color “picture” such as a map or a photo of leather. It could conform, but it’s still basically a decal.

A 3D texture instead is more properly referred to as Bump Mapping (not to be confused with …..too late….bit mapping). Bump mapping interprets the color/contrast information of a 2D image such that it renders light and shadow to give the illusion of a 3D part, while remaining in 2D. Taking this concept one step further, 3D CAD software such as SolidWorks can apply rules that convert white, black and grey shades into physical displacements, producing a kind of tessellated topology mapping. This new information can be saved as an STL file and generate a 3D printed part that has physical, tactile variations in material height across its surface. (For a detailed explanation and examples of texture versus bump-mapping, see the GrabCAD Tutorial “Adding Texture to 3D Models.”)

For FDM parts, you’ll get physical changes on the outer surface of the part that appear as your choice of say, a checkerboard, an arrangement of stars, a pebbly look or a series of waves. In the CAD software, you have a number of options for editing that bump map to produce bigger or smaller, higher or lower, finer or coarser variations of the original pattern, prior to saving the model file as an STL file.

Stepping through SolidWorks 3D Texturing

The key to making this option work in SolidWorks 3D CAD software (I’m using SolidWorks 2020), is in the Appearances tab. Here are the steps I’ve taken, highlighting the variety of choices you can make. My example is the Post-It Note holder I described in my PADT blog post about advanced infill options in GrabCAD Print.

  1. Open Post-It note CAD file, select Solid Bodies (left menu) and select Appearances (in the right toolbar).
A screenshot of a video game

Description automatically generated
  1. Expand Appearances and go all the way down to Miscellaneous, then click to open the 3D Textures folder.
A screenshot of a cell phone

Description automatically generated
  1. Scroll down to choose one of the more than 50 (currently) available patterns. Here, I’ve chosen a 5-pointed star pattern.
A screenshot of a computer

Description automatically generated
  1. I dragged and dropped that pattern onto the part body. A window opens up with several choices: the default is to apply the pattern to all faces:
A screenshot of a computer

Description automatically generated

However, you can mouse over within that pop-window to select only a single face, like this:

A screenshot of a computer

Description automatically generated
  1. When you’ve applied the pattern to either all faces or just one or two, you’ll see a new entry in the left window, Appearances, with the subheading: 5-pointed Star. Right-click on those words, and choose Edit Appearance:
A screenshot of a computer

Description automatically generated

Then the Appearances window expands as follows, opening by default to the Color/Image tab:

A screenshot of a computer

Description automatically generated

In this pane, if desired, you could even Browse to switch to a different pattern you have imported in a separate file.

  1. Click on Mapping, and you’ll see a number of “thumb wheel” sliders for resizing the pattern either via the wheel, clicking the up/down arrows, or just entering a value.

Mapping: this moves the pattern – you can see it march left or right, up or down. I used it to center the stars so there aren’t any half-stars cut off at the edge.

A screenshot of a computer

Description automatically generated

Size/Orientation: You can also try “Fit width to selection” or “Fit height to selection,” or experiment with height and width yourself, and even tilt the pattern at an angle. (If you don’t like the results, click on Reset Scale.) Here, I’ve worked with it to have two rows of five stars.

  1. Remember I said that you can also make the pattern higher or lower, like a change in elevation, so that it stands out a little or a lot. To make those choices, go to the Solid Bodies line in the Feature Manager tree, expand it, and click on the part name (mine is Champfer2).

In the fly-out window that appears, click on the third icon in the top row, “3D Texture.” This opens up an expanded window where you can refine the number of triangular facets that make up the shape of the selected texture pattern. In case you are working with more than one face and/or different patterns on each face, you would check the box under Texture Settings for each face when you want to edit it.

A screenshot of a computer

Description automatically generated

Here is where you can flip the pattern to extend outwards, or be recessed inwards, or, if you brought in a black/white 2D pattern in the first place, you can use this to convert it to a true 3D texture.

I’ll show you some variations of offset distance, refinement and element size, with exaggerated results, so you can see some of the possible effects:

A screenshot of a social media post

Description automatically generated

In this first example, the only change I made from the default was to increase the Texture Offset Distance from 0.010 to 0.200. The stars are extending out quite visibly.

Next, I changed Texture Refinement from 0% to 66.7%, and now you can see the stars more distinctly, with better defined edges:

A screenshot of a computer

Description automatically generated

Finally, I am going to change the Element size from 0.128 to 0.180in. It made the star edges only slightly sharper, though at the expense of increasing the number of facets from about 24,000 to 26,000; for large parts and highly detailed texturing, the increased file size could slow down slicing time.

  1. To make sure these textured areas print, you have to do one more special step: Convert to Mesh Body. Do this in the Feature Manager by right-clicking on the body, and selecting the second icon in the top row, “Convert to Mesh Body.” You can adjust some of these parameters, too, but I accepted the defaults.
A screenshot of a computer

Description automatically generated
  1. Lastly, Save the file in STL format, as usual.

At my company, PADT, my favorite FDM printer is our F370, so I’m going to set this up in GrabCAD Print software, to print there in ABS, at 0.005in layers:

A screenshot of a computer

Description automatically generated

You can definitely see the stars popping out on the front face; too bad you can also see two weird spikes part-way up, that are small bits of a partial row of stars. That means I should have split the face before I applied the texture, so that the upper portion was left plain. Well, next time.

Here’s the finished part, with its little spikes:

A picture containing table, sitting

Description automatically generated

And here’s another example I did when I was first trying out a checkerboard pattern; I applied the texture to all faces, so it came out a bit interesting with the checkerboard on the top and bottom, too. Again, next time, I would be more selective to split up the model.

A picture containing table, sitting, wooden, luggage

Description automatically generated

NOTE: It’s clear that texturing works much better on vertical faces than horizontal, due to the nature of the FDM layering process – just be sure to orient your parts to allow for this.

For More Information on Texturing

SolidWorks offers a number of tutorials on the texturing set-up process, such as http://help.solidworks.com/2019/english/solidworks/sldworks/c_3d_textures.htm, and Shuvom Ghose at GrabCAD gives even more details about what to expect with this process in his post https://grabcad.com/tutorials/how-to-3d-texture-your-parts-for-fdm-printing-using-solidworks-2019

There will also be a general Stratasys webinar on The Benefits of 3D Printing Physical Textures on July 29 at 9am PT.

Commercial aircraft companies are already adding a pebble texture to flight-approved cosmetic FDM parts, such as covers for brackets and switches that keep them from being bumped. If you try this out, let us know what texture you chose and send us a photo of your part.

PADT Inc. is a globally recognized provider of Numerical Simulation, Product Development and 3D Printing products and services, and is an authorized reseller of Stratasys products. For more information on Stratasys printers and materials, contact us at info@padtinc.com.

Example of full color part with mapped image, created from 3MF file format brought into GrabCAD Print and printed on a Stratasys PolyJet 3D printer. (Image courtesy GrabCAD)

3MF Printing Format Comes to GrabCAD Print

Example of full color part with mapped image, created from 3MF file format brought into GrabCAD Print and printed on a Stratasys PolyJet 3D printer. (Image courtesy GrabCAD)

Example of full color part with mapped image, created from a 3MF file-format brought into GrabCAD Print and set up to print on a Stratasys PolyJet 3D printer. (Image courtesy GrabCAD)

What is the 3MF format? How does it differ from the standard STL format? And what can you do with it, especially if your 3D printers run GrabCAD Print software from Stratasys?

For most designers, engineers and users involved in 3D printing, regardless of the 3D CAD software you use, you save (convert) your model to print as an STL format file. A lot has been written about it, including a PADT post from back in 2012 – and STL-wise, things really haven’t changed. This format approximates the native CAD solid model as a closed surface comprising small triangles of various shapes and sizes. STL has been the standard since the AM industry began, and although different CAD packages use different algorithms to create the mesh, for the most part, it’s worked pretty well.

A Sample STL File Segment

However, an STL file is simply a large text file listing the Cartesian coordinates for each vertex of the thousands of triangles, along with info on the normal direction:

Sample code from saving a CAD model in STL format.

A modest number of large triangles produces relatively small files but doesn’t do a good job of reproducing curves (think highly faceted surfaces); conversely, big files of many small triangles produce much smoother transitions but can take a long time to process in slicing software.

And, perhaps the biggest negative is that an STL file cannot include any other information: desired color, desired material, transparency, internal density gradient, internal fine structure or more.

What is 3MF?

In early 2015, Microsoft and a number of other major corporations including Autodesk, Dassault Systèmes, HP, Shapeways and SLM Group created a consortium to address these issues. They decided to overhaul a little-used file format called the 3D Modeling Format (3MF), to make it support highly detailed 3D model information and be more useful for 3D printing and related processes.

Logo 3MF Consortium

This ongoing consortium project defines 3MF as “a set of conventions for using XML to describe the appearance and structure of 3D models for the purpose of manufacturing (3D printing).”

In developer language, 3MF is a standard package or data that follows a core specification and may include some task-specific extensions.

In user terms, a 3MF file contains some or all of the following information in ASCII format:

  • Metadata about part name, creator and date
  • Information on the mesh of triangles (yes, it still creates and uses these, but does it better for a number of reasons, one of which is that it cannot create non-manifold edges (i.e., triangles that share endpoints with more than one triangle, which confuses the printer))
  • Color information (throughout the complete part body or in sub-sections)
  • Ways to define multiple materials combined as a composite
  • Texture information – what it is and where to place it
  • Ways to assign different materials to different sections of a part
  • Ways to duplicate information from one section of a part to another section, to save memory
  • Slicing instructions

Without getting into the nitty gritty, here are just two examples of XML code lines from 3MF metadata sections:

Example code of saving a solid CAD model in 3MF format.

Meaning, information about the part number and the part color rides along with the vertex coordinates! For a deep-dive into the coding schema, including a helpful glossary, see the 3MF github site; to learn how 3MF compares to STL, OBJ, AMF, STEP and other formats, check out the consortium’s About Us page.

Exporting 3MF Files

Now, how about using all of this? Where to start? Many 3D CAD software packages now let you save solid models as 3MF files (check out your “Save As” drop-down menu to verify), but again, they can vary as to what information is being saved. For example, a SolidWorks 3MF file can generate data on color and material but does not yet support transparency.

Here are all the options that you see in SolidWorks when you click the arrow next to “Save As”:

Second step in SolidWorks for saving a file in 3MF format: check off “include materials” and “include appearance.” (Image courtesy PADT)

“Save As” window in SolidWorks 2019, where step number one is to select “.3mf” format. (Image courtesy PADT)

You can select “.3mf” but don’t Save yet. First, click on the “Options” button that shows up below the Save as File Type line, opening this window:


Second step in SolidWorks for saving a file in 3MF format: check off “include materials” and “include appearance.” (Image courtesy PADT)

You need to check the boxes for “Include Materials” and “Include Appearances” to ensure that all that great information you specified in the solid model gets written to the converted file. A good, short tutorial can be found here.

Another interesting aspect of 3MF files is that they are zipped internally, and therefore smaller than STL files. Look at the difference in file size between the two formats when this ASA Omega Clip part is saved both ways:

Comparison of file size for STL versus 3MF formats.

The 3MF-saved file size is just 13% the size of the standard STL file, which may be significant for file manipulation; for files with a lot of detail such as texture information, the difference won’t be as great, but you can still expect to save 30 to 50%.

Working with 3MF files in GrabCAD Print

Okay, so CAD programs export files in 3MF format. The other half of the story addresses the question: how does a 3D printer import and use a 3MF file? Developers of 3D printing systems follow these same consortium specifications to define how their software will set up a 3MF file to print. Some slicers and equipment already act upon some of the expanded build information, while others may accept the file but still treat it the same as an STL (no additional functions enabled so it ignores the extra data). What matters is whether the system is itself capable of printing with multiple materials or depositing material in a way that adds color, texture, transparency or a variation in internal geometry.

GrabCAD Print (GCP), the cloud-connected 3D Printer interface for today’s Stratasys printers – both FDM and PolyJet – has always supported STL and native CAD file import. However, in GCP v.1.40, released in March 2020, GrabCAD has added support for 3MF files. For files created by SolidWorks software, this adds the ability to specify face colors, body colors and textures and send all that data in one file to a PolyJet multi-material, multi-color 3D printer. (Stratasys FDM printers accept 3MF geometry and assembly structure information.)

For a great tutorial about setting up SolidWorks models with applied appearances and sending their 3MF files to GrabCAD Print, check out these step-by-step directions from Shuvom Ghose.

Example of setting up a textured part in SolidWorks, then saving the file in 3MF format and importing it into GrabCAD Print, for printing on a full-color Stratasys PolyJet printer. (Image courtesy GrabCAD)

Example of setting up a textured part in SolidWorks, then saving the file in 3MF format and importing it into GrabCAD Print, for printing on a full-color Stratasys PolyJet printer. (Image courtesy GrabCAD)

At PADT, we’re starting to learn the nuances of working with 3MF files and will be sharing more examples soon. In the meantime, we suggest you download your own free copy of GrabCAD Print to check out the new capabilities, then email or call us to learn more.

PADT Inc. is a globally recognized provider of Numerical Simulation, Product Development and 3D Printing products and services. For more information on Stratasys printers and materials, contact us at info@padtinc.com.

Varied Infill Options for CAD models brought into GrabCAD Print software for 3D Printing. (Image courtesy PADT)

GrabCAD Print Software, Part Two: Simplify Set-ups, Save Time, and Do Cool Stuff You Hadn’t Even Considered

(Edited 3 August 2020 to reflect GrabCAD Print V1.44)

You haven’t really lived in the world of 3D printing until you’ve had a part fail spectacularly due to open faces, self-intersecting faces or inverted normals. Your part ends up looking more like modern art than technical part. Or perhaps the design you have in mind has great geometry but you wish that some parts could have regions that are dense and strong while other regions would work with minimal infill.

In Part One of this blog post about GrabCAD Print software, we covered the basics of setting up and printing a part; now we’ll look at several of the advanced features that save you set-up time and result in better parts.

Behind the Scenes Repairs

Stratasys GrabCAD Print software, available as a free download, is crafted for users setting up solid models for 3D printing on Stratasys FDM and PolyJet printers. Once you’ve started using it, you’ll find one of its many useful advanced features is the automated STL file-repair option.

Imported STL file, with GrabCAD Print ready to automatically repair errors. PADT image.

Most people still create solid models in CAD software then convert the file to the industry-standard STL format before opening it in a given 3D printer’s own set-up software. Every CAD package works a little differently to generate an STL file, and once in a while the geometry just doesn’t get perfectly meshed. Triangles may overlap, triangles may end up very long and very skinny, or the vector that signals “point in” or “point out” can get reversed.

Traditionally, the 3D printer set-up program reacts to these situations by doing one of two things: it prints exactly what you tell it to print (producing weird holes and shifted layers) or it simply refuses to print at all. Both situations are due to tiny errors in the conversion of a solid CAD model to a tessellated surface.

GrabCAD Print, however, gives your file a once-over and immediately flags sections of the model in need of repair. You can see a color-coded representation of all the problem areas, choose to view just some or all, and then click on Automatic Repair. No hand-editing, no counting layers and identifying sections where the problems reside – just a click of the virtual button and all the problem regions are identified, repaired and ready for the next processing steps.

CAD vs. STL: Do So Much More with CAD

GrabCAD Print also uniquely allows users to bring in their models in the original CAD file-format (from SolidWorks, Autodesk, PTC, Siemens, etc.) or neutral formats, with no need to first convert it to STL. For FDM users, this means GrabCAD recognizes actual CAD bodies, faces, and features, letting you make build-modifications directly in the print set-up stage that previously would have required layer-by-layer slice editing, or couldn’t have been done at all.

For example, with a little planning ahead, you can bring in a multi-body CAD model (i.e., an assembly), assemble and group the parts, then direct GrabCAD to apply different parameters to each body. This way you can reinforce some areas at full density then change the infill pattern, layout, and density in other regions where full strength is unnecessary.

Here’s an example of a SolidWorks model intended for printing with a solid lower base but lighter weight (saving material) in the upper sections. It’s a holder for Post-It® notes, comprising three individual parts – lower base, upper base and upper slot – combined and saved as an assembly.

Sample multi-body part ready to bring into GrabCAD Advanced FDM. Image PADT.

Sample multi-body part ready to bring into GrabCAD Advanced FDM. Image PADT.

Here was my workflow:

1 – I brought the SolidWorks assembly into GrabCAD, assembled and grouped all the bodies, selected an F370 Stratasys FDM printer, chose Print Settings of acrylonitrile butadiene styrene (ABS) and 0.010 inches layer height, and oriented the part.

2 -To ensure strength in the lower base, I selected just that section (you can do this either in the model tree or on the part itself) and opened the Model Settings menu at the right. Under Body, I chose Solid Infill.

3 – Next I selected the upper base, chose Hexagram, and changed the Infill Density to 60%.

4 – Lastly, I selected the upper slot section, chose Sparse, and changed the Infill Density to 35%.

5 – With all three sections defined, I clicked on Slice Preview, sliced the model and used the slider bar on the left to step through each section’s toolpath. For the screenshots, I turned off showing Support Material; the yellow bits indicate where seams start (another parameter that can be edited).

Here is each section highlighted, with screenshots of the parameter choices and how the part infill looks when sliced:

Upper base set up in GrabCAD to print as Hexagram pattern, 60% infill; sliced toolpath shown at right. Image PADT.
Upper slot section set up in GrabCAD to print as Sparse pattern, 35% infill; sliced toolpath shown at right. Image PADT.

So that you can really see the differences, I printed the part four times, stopping as the infill got partway through each section, then letting the final part print to completion. Here are the three partial sections, plus my final part:

Lower base (solid), upper base (hexagram) and first part of upper slot (sparse), done as partial prints. Image PADT.
Completed note-holder set up in GrabCAD Print, Advanced FDM mode, weighted toward the bottom but light-weighted internally. Image PADT.
Completed note-holder set up in GrabCAD Print using advanced infill features, weighted toward the bottom but light-weighted internally. Image PADT.

Automated Hole Sizing Simplifies Adding Inserts

But like the old advertisements say, “But wait – there’s more!” Do you use heat-set inserts a lot to create secure connections between 3D printed parts and metal hardware? Planning ahead for the right hole size, especially if you have different design groups involved and fasteners may not yet be decided, this is the feature for you.

Sample part set up for easy insert additions, using Advanced FDM in GrabCAD Print. Image PADT.

Sample part set up for easy insert additions, using advanced, automated hole-resizing features in GrabCAD Print. Image PADT.

In your CAD part model, draw a hole that is centered where you know the insert will go, give it a nominal diameter and use Cut/Extrude so that the hole is at least the depth of your longest candidate insert. Save the file in regular CAD format, not STL. Next bring your part into GrabCAD Print and go to Model Settings in the right-hand menu.

This time, click on Face (not Body) and Select the inner cylindrical wall of your hole. Several options will become active, including Apply Insert. When you check that box, a new drop-down will appear, giving you the choice of adding a heat-set insert, a helicoil insert or creating a custom size. Below that you select either Inch or Metric, and for either, the appropriate list of standard insert sizes appears.

Automatic hole-resizing in GrabCAD Print, for a specific, standard heat-set insert. Image PADT.

Choose the insert you want, click Update in the upper middle of the GrabCAD screen, and you’ll see the hole-size immediately changed (larger or smaller as needed). The new diameter will match the required oversized dimensions for the correct (melted into place) part-fit. You can even do this in a sidewall! (For tips on putting inserts into FDM parts, particularly with a soldering iron, see Adding Inserts to 3D Printed Parts: Hardware Tips.)

Note that this way, you can print the overall part with a sparse infill, yet reinforce the area around the insert to create just the right mass to make a solid connection. The Sliced view will show the extra contours added around each hole.

Sliced view showing insert holes with reinforced walls, done in GrabCAD Print. Image PADT.
Manufacturing notes automatically created in GrabCAD Print when insert holes are resized. Image PADT.

To document the selected choices for whoever will be doing the insert assembly, GrabCAD also generates a numbered, manufacturing-footnote that lists each insert’s size; this information can be exported as a PDF file that includes a separate close-up image of each insert’s location.

GrabCAD Print keeps adding very useful functions. Download it for free and try it out with template versions of the various Stratasys 3D printers, then email or call us to learn more.

PADT Inc. is a globally recognized provider of Numerical Simulation, Product Development and 3D Printing products and services. For more information on Stratasys printers and materials, contact us at info@padtinc.com.

GrabCAD Print Software: Part One, an Introduction

Where are you on your New Year’s resolutions? They often include words such as “simplify,” “organize” and “streamline.” They can be timely reminders to rethink how you do things in both your personal and professional lives, so why not rethink the software you use in 3D Printing?

Preparing a CAD solid model or an STL file to print on a 3D printer requires using set-up software that is typically unique to each printer’s manufacturer. For Flashforge equipment, you use FlashPrint, for Makerbot systems you use MakerBot Print, for Formlabs printers you use PreForm, and so on.

GrabCAD Print software for setting up STL or CAD files to print on Stratasys 3D printers (main screen).
GrabCAD Print software for setting up STL or CAD files to print on Stratasys 3D printers (main screen). Image courtesy PADT.

For printers from industrial 3D printing company Stratasys, the go-to software is GrabCAD Print (along with GrabCAD Print Mobile), developed for setting up both fused deposition modeling (FDM) and PolyJet technologies in new and efficient ways. Often just called GrabCAD, this versatile software package lets you organize and control prints assigned to one of more than 30 printer models, so the steps you learn for one printer transfer directly over to working with other models.

If you’ve previously used Stratasys Catalyst (on Dimension and uPrint printers), you’ll find similarities with GrabCAD, as well as some enhanced functionality. If you’re accustomed to the fine details of Stratasys Insight, you’ll see that GrabCAD provides similar capabilities in a streamlined interface, plus powerful new features made possible only by the direct import of native CAD files.  Additionally, you can access Insight within GrabCAD, combining the best of both traditional and next-generation possibilities.

Simple by Default, Powerful by Choice

GrabCAD lets users select simplified default settings throughout, with more sophisticated options available at every turn. Here are the general steps for print-file preparation, done on your desktop, laptop or mobile device:

1 – Add Models: Click-and-drag files or open them from File Explorer. All standard CAD formats are supported, including SolidWorks, Autodesk, Siemens and PTC, as well as STL. You can also bring in assemblies of parts and multi-body models, choosing whether to print them assembled or not. (Later we’ll also talk about what you can do with a CAD file that you can’t do with an STL.)

2 – Select Printer: Choose from a drop-down menu to find whatever printer(s) is networked to your computer. You can also experiment using templates for printers you don’t yet own, in order to compare build volumes and print times.

3 – Orient/Rotate/Scale Model: Icons along the right panel guide you through placing your model or models on the build platform, letting you rotate them around each axis, choose a face to orient as desired, and scale the part up or down. You can also right-click to copy and paste multiple models, then edit each one separately, move them around, and delete them as desired.

4 – Tray Settings: This icon leads to the menu with choices such as available materials, slice height options, build style (normal or draft), and more; always targeted to the selected printer. These choices apply to all the parts on the tray or build sheet.

5 – Model Settings: Here’s where you choose infill style, infill density (via slider bar), infill angle, and body thickness (also known as shell thickness) per part. Each part can have different choices.

6 – Support Settings: These all have defaults, so you don’t even have to consider them if you don’t have special needs (but it’s where, for example, you would change the self-supporting angle).

7 – Show Slice Preview: Clicking this icon slices the model and gives you the choice to view layers/tool paths individually, watch a video animation, or even set a Z-height pause if you plan on changing filament color or adding embedded hardware.

8 – Print: You’re ready to hit the Print button, sending the prepared file to the printer’s queue.

Scheduling Your Print, and Tracking Print Progress

A clock-like icon on the left-side GrabCAD panel (the second one down, or third if you’ve activated Advanced FDM features) switches the view to the Scheduler. In this mode, you can see a day/time tracking bar for every printer on the network. All prints are queued in the order sent, and the visuals make it easy to see when one will finish and another start (assuming human intervention for machine set-up and part removal, of course).

Scheduling panel in GrabCAD Print, showing status of files printing on multiple 3D printers.
Scheduling panel in GrabCAD Print, showing status of files printing on multiple 3D printers. Image courtesy PADT.

If you click on the bar representing a part being built, a new panel slides in from the right with detailed information about material type, support type, start time, expected finish time and total material used (cubic inches or grams). For printers with an on-board camera, you can even get an updated snapshot of the part as it’s building in the chamber.

Below the Scheduler icon is the History button. This is a great tool for creating weekly, monthly or yearly reports of printer run-time and material consumption, again for each printer on the network. Within a given build, you’ll even see the files names of the individual parts within that job.

Separately, if you’re not operating the software offline (an option that some companies require), you can enable GrabCAD Print Reports. This function generates detailed graphs and summaries covering printer utilization and overall material use across multiple printers and time periods – very powerful information for groups that need to track efficiencies and expenditures.

And That’s Just the Beginning

Once you decide to experiment with these settings, you begin to see the power of GrabCAD Print for FDM systems. We haven’t even touched on the automated repairs for STL files, PolyJet’s possibilities for colors, transparency and blended materials, or the options for setting up a CAD model so that sub-sections print with different properties.

For example, you’ll see how planning ahead allows you to bring in a multi-body CAD model and have GrabCAD identify and reinforce some areas at full density, while changing the infill pattern, layout, and density in other regions. GrabCAD recognizes actual CAD bodies and faces, letting you make build-modifications that previously would have required layer-by-layer slice editing, or couldn’t have been done at all.

Stay tuned for our next blog post, GrabCAD Print Software, Part Two: Simplify Set-ups, Save Time, and Do Cool Stuff You Hadn’t Even Considered, and reach out to us to learn more about downloading and using GrabCAD Print.

PADT Inc. is a globally recognized provider of Numerical Simulation, Product Development and 3D Printing products and services. For more information on Stratasys printers and materials, contact us at info@padtinc.com.