Installing a Metal 3D Printer: Part 1 (Equipment)

concept-laser-mlab
Fig 1. Concept Laser MLab Cusing R in PADT’s Metal 3D Printing Lab

Download all 5 parts of this series as a single PDF here.

What equipment does one need for metal 3D printing? 

This is the first in a five-part series that brings together the different lessons we learned installing our first metal printer, a Concept Laser MLab Cusing R at PADT, shown in Figure 1. In this post I list the different equipment needed to enable metal 3D printing end-to-end, along with a brief explanation of its purpose. In subsequent posts, I deal with (2) Facilities, (3) Safety, (4) Environmental & (5) Housekeeping aspects of the technology. I hope this information adds to the conversation in a meaningful way and help those who are thinking about, or in the process of installing a metal 3D printer.

The specifics of some of this information will vary depending on the equipment and materials you handle, but my hope is the themes covered here give you a sense of what is involved in installing a metal 3D printer to aid in your preparation for doing the same and for having good discussions with your equipment supplier to ensure these are addressed at a minimum.

One way to look at classifying the equipment needed (beyond the obvious metal 3D printer!) is by its purpose, and I do so here by dividing it into two broad categories: Ancillary Equipment (necessary to the printing itself) and Post-Processing Equipment (focused on the part).

At the outset, it is crucial that the difference between reactive and non-reactive metal alloys be comprehended since a lot of the use of the equipment differs depending on what kind of metal alloy is being used. A previous blog post addressed these differences and these terms will be used in the following sections.

1. Ancillary Equipment

1.1 Wet Separator

wet-separator-ruwac
Fig 2. Wet separator used to vacuum fugitive powder

The wet separator is essentially a vacuum cleaner that is designed to safely vacuum stray (“fugitive”) metal powders that cannot be cleaned up any other way. When dealing with powders, the typical recommendation is to first brush whatever you can into the overflow bin so you can reuse it. The next step is to try and wipe up powder with a moist lint-free cloth (to be covered in the housekeeping post). The wet separator has a water column that passivates the metal powder and renders it non-reactive to allow for easier disposal (to be covered in the environmental post). Wet separators require a significant amount of maintenance, particularly when dealing with reactive metals like Titanium and Aluminum alloys, where the supplier recommends the wet separator be cleaned out on a daily basis. At least one company has developed a kit to help with wet separator cleaning – which gives you an indication of how significant of an issue this is. Most suppliers provide a wet separator along with their equipment.

1.2 Glove Box

glove-box
Fig 3. Glove box used to interact with the build chamber in a safe manner, and in an inert atmosphere for reactive metals

A glove box is a useful piece of equipment for dealing with reactive metals in particular. The glove box allows an operator to manage all the powder handling in the build chamber to be done in a closed environment. For non-reactive metals this is not a necessary piece of equipment but it is highly recommended for reactive metals. The glove box when used in concert with reactive metals will allow for inert gas flushing out of oxygen to low PPM levels prior to operator intervention, and also includes grounding connections for the box to the machine. The nice thing about having a glove box is it reduces the amount of time you need to have a respirator on by allowing you to add powder and unpack builds in a closed environment. The glove box may also be integrated into the machine itself – ours is a stand alone device on wheels that we roll over to the machine when we need it.

1.3 Powder Sieve

Unless you plan on disposing all the powder in each build after it is completed, you need a sieve to separate out the larger particles and contaminants from the powder you wish to reuse in subsequent builds. The sieves are also typically provided with the machine and can be enabled with inerting capability (as shown in Fig 4 on the left, or as shown on the right, come as a small desktop unit that can sieve about 3-5 lbs of powder at a time). While the sieve on the left may be used for reactive metal sieving, it is uncertain if one can safely use the desktop sieve for the same, even with grounding the table it sits on and the operator – this is a gray area and I am keen to hear thoughts on this from those that have the expertise/experience in this space.

sieves
Fig 4. Mechanical sieving: (left) for large quantity sieving, (right) tabletop model for smaller quantities

1.4 Ultrasonic Cleaner

ultrasonic-cleaner
Fig 5. Ultrasonic cleaner used to help isolate metal powder trapped inside parts and supports

The purpose of the ultrasonic cleaner is to remove as much trapped powder as possible before the part and the build plate are subjected to any post-processing – this is to minimize the risk of trapped powder getting airborne during downstream processes – which cannot be completely eliminated (which is why PPE should be used all the way through till the final part is in hand after cleaning).

The Ultrasonic cleaner is used twice: first before the parts are removed from the build plate, and again after they are removed. Sometimes I will even use it a third time after all supports have been removed, if the part has internal p. I typically use the 40 kHz and 60 C temperature setting but have not sought to further optimize the parameters at this time.

2. Post-Processing Equipment

2.1 Furnace

Fig 6. Radiation heating furnace with inert gas capability. The Nabertherm 7/H has a maximum temperature of 1280 C, suitable for stress relief.

The purpose of the furnace is to relieve residual stresses built in the parts prior to removing them from the build plate. So this is the first step after the parts and the plate come out of the ultrasonic cleaner. We use a furnace that allows for nitrogen or argon flushing, and place our parts wrapped in stainless steel foil in a gas box. Instructions for heat treatment (time and temperature profile) are typically provided on the technical specifications that come with the material. Metals like stainless steel can be stress relieved in a nitrogen atmosphere but Inconels and Ti6Al4V for example require higher temperatures of between 800-1000 C and argon atmospheres – so you need to be setup for both gases if you are considering running more than 1 metal in your operation.

2.2 Support Removal

All parts are connected to the build plate by between 3-5mm of supports that need to be removed. This is a two step process: the first step involves removing the parts with supports off the build plate, and this is most commonly done with a table saw or a wire EDM. At PADT, we stumbled upon a third way to do this, using an oscillating hand tool and a carbide blade – which works well for small parts (<3″ in X-Y space). It is important to always wear gloves and a supplier recommended (N95 or higher) respirator while removing supports since there could be trapped powder in the supports that was not removed with the Ultrasonic cleaner. The second step is to use hand tools to pry out the supports from the part – this is why it is important to design supports that have weak mechanical connections to the part itself – ideally you can tear them off with hand tools like a perforated sheet of paper [Video below courtesy Bob Baker at PADT, Inc].

2.3 Die Grinder

Fig 7. Die grinder used for removing burrs at the support interfaces on the part

A carbide die grinder is then used to grind away the support-model interface – for tiny parts, this can be achieved with a hand file as well for some parts but is easier to do with a die grinder. For large parts, this need can be eliminated by designing in regions that are to be machined later and aligning these regions with supported regions, so as to reduce the need for finishing on these surfaces.

2.4 Face Milling

This may come as a bit of a surprise, but you also need some way of replenishing the build plates after use so you can re-use the plates – this involves using a face milling technique to remove all the remnant supports on the build plate and take off a thin slice at the top of the build plate, while retaining flatness to within 100 microns (0.004″). Having this capability in-house will greatly speed-up your ability to start successive prints and reduce the need to keep large inventories of build plates [Video below courtesy Bob Baker at PADT, Inc].

2.5 Surface Finishing

A combination of techniques can be used for surface finishing. At a minimum, you must have the ability to do glass bead blasting – this is both for the printed parts, but also for the build plate itself – a bead blasted finish is recommended to improve the adhesion of the first layer of powder to the build plate.

Fig 8. (left) Bead blaster and (right) post-processed build plates, ready for use again

2.6 Other Capabilities

The list above is what I would consider a minimum list of capabilities one needs to get started in metal 3D printing, but is not comprehensive and does not include facility, safety, environmental and housekeeping requirements which I will cover in future posts. Additional CNC equipment for machining metal AM parts, heat treatment and HIP, and superior surface finishing and cleaning techniques are often called upon for metal AM production, but these are highly dependent on application and part design, which is why I have left them out of the above list.

Move on to part 2 of this series where I discuss the facilities requirements for metal 3D printing (electrical, inert gas etc.). Did I miss anything or do you have a better way of doing the things described above? Please send your thoughts to info@padtinc.com, citing this blog post, or connect with me on LinkedIn.

Acknowledgements:
Garrett Garner at Concept Laser, Inc and Bob Baker at PADT, Inc. for their insight and expertise that helped us select and bring in the above capabilities at PADT.

CLICK HERE for part 2

ANSYS How To: Result Legend Customization and Reuse

ansys-mechanical-custom-legend-0A user was asking how to modify the result legend in ANSYS Mechanical R17 so Ted Harris put together this little How To in PowerPoint:

padt_mechanical_custom_legend_r17.pdf

It shows how to modify the legend to get just what you want, how to save the settings to a file, and then how to use those seettings again on a different model.  Very simple and Powerful.

ansys-mechanical-custom-legend-1

 

 

ansys-mechanical-custom-legend-2

NICE Desktop Cloud Visualization

nice-dcv-banner

In a previous post I argued that engineers do magic (read it here). And to help them do their magic better PADT Inc. introduced CoresOnDemand.com.

af-1
Among the magical skills engineers use in their daily awesomeness is their ability to bend the time fabric of the universe and perform tasks in almost impossible deadlines. It’s as if engineers work long hours and even work from home, while commuting and even at the coffee shop. Wait, is that what they actually do?

Among a myriad of tools that facilitate remote access and desktop redirection available, one stands out with distinction. NICE-Software developed a tool called Desktop Cloud Visualization (DCV for short). DCV has numerous advantages that we will get into shortly. The videos below give a general idea of what can be achieved with NICE-DCV.

Here is a video from the people at NICE:

And here is one of two PADT Employees using an iPhone to check their CFD results:

Advantages of Nice-DCV

Physical location of cluster/workstation or the engineers becomes irrelevant

Because engineers have fast, efficient and secure access to their workstations and clusters, they no longer need to be in the same office or on the same network segment to utilize the available compute resources. They can utilize NICE-DCV to create a fast, efficient and encrypted connection to their resources to submit, monitor and process results. The DCV clients are supported on Windows, Linux & IOS and even have a stand-alone Windows client that can be run on shared or public computers. In a recent live test, one of our engineers was travelling on a shuttle bus to a tiny ski town in Colorado, he was able to connect over the courtesy Wifi, check the status of his jobs and visualize some of the results.

af-2

The need for a powerful laptop or remote workstation to enable offsite work is no longer the only solution

There is no need for offsite engineers lug around a giant laptop in order to efficiently launch and modify their designs or perform simulation runs. Users launch the DCV client, connect to their workstation or cluster and are immediately given access to their desktop. No need to copy files, borrow licenses or transfer data. Engineers don’t need to create copies of files and carry them around on the laptops or on external storage which is an unnecessary security risk.

af-3a

 “If it ain’t broken don’t fix it!”

Every engineer uses ANSYS in his own special way. Some prefer the good old command line for everything even when a flashy GUI option is available. Others are comfortable using the Windows like GUI interface and would

af-3

Opens the door for GUI-only users to utilize large cluster resources without a steep learning curve or specialized tools.

Nice-DCV makes the use of ANSYS on large HPC clusters within reach for everyone. Engineers can log into pre-configured environments with all of the variables needed for parallel ANSYS runs already defined. Users can use can have their favorite ANSYS software added to the desktop as shortcuts or system admins can write small scripts or programs that serve as an answer file for custom job scripts.

From 0-60 in about…10 Minutes

For an engineer with the smallest amount of system administration skills it takes about 10 minutes to install the Nice-DCV server and launch the first connection. It’s surprisingly simple and straightforward on both the server and the client side. The benefits of Nice-DCV can be immediately realized in both simplified cluster administration and peace of mind for both the engineers and the system admins.

PADT’s CoresOnDemand and Nice-DCV

The CoresOnDemand service that PADT introduced last year utilizes the Nice-DCV tool to simplify and enhance the user experience. If you are interested in a live demo on Nice-DCV or the CoresOnDemand environment contact us either by phone: 480-813-4884 or by email cod@padtinc.com. For more information please visit: CoresOnCemand.com

(Note: some of the social media posts had a typo in the title, that was my fault (Eric) not Ahmed’s…)

Using Probes to Obtain Contact Forces in ANSYS Mechanical

Recently we have had a few questions on obtaining contact results in ANSYS Mechanical. A lot of contact results can be accessed using the Contact Tool, but to obtain contact forces we use Probes. Since not everyone is familiar with how it’s done, we’ll explain the basics here.

Below is a screen shot of a Mechanical model involving two parts. One part has a load that causes it to be deflected into the other part.

p1

We are interested in obtaining the total force that is being transmitted across the contact elements as the analysis progresses. Fortunately this is easy to do using Probes in Mechanical.

The first thing we do is click on the Solution branch in the tree so we can see the Probes button in the context toolbar. We then click on the Probe drop down button and select Force Reaction, as shown here:

p2

Next, we click on the resulting Force Reaction result item under the Solution branch to continue with the configuration. We first change the Location Method from Boundary Condition to Contact Region:

p3

We then specify the desired contact region for the force calculation from the Contact Region dropdown:

p4

Note that the coordinate system for force calculation can either be Cartesian or Cylindrical. You can setup a coordinate system wherever you need it, selectable via the Orientation dropdown.

There is also an Extraction dropdown with various options for using the contact elements themselves, the elements underlying the contact elements, or the elements underlying the target elements (target elements themselves have no reaction forces or other results calculated). Care must be taken when using underlying elements to make sure we’re not also calculating forces from other contact regions that are part of the same elements, or from applied loads or constraints. In most cases you will want to use either Contact (Underlying Element) or Target (Underlying Element). If contact is non-symmetric, only one of these will have non zero values.

In this case, the setting Contact (Contact Element) was a choice that gave us appropriate results, based on our contact behavior method of Asymmetric:

p5

Here are the details including the contact force results:

p6

This is a close up of the force vs. ‘time’ graphs and table (this was a static structural analysis with a varying pressure load):

p7
p8


***** SUMMATION OF TOTAL FORCES AND MOMENTS IN THE GLOBAL COORDINATE SYSTEM *****

FX = -0.4640219E-04
FY = -251.1265
FZ = -0.1995618E-06
MX = 62.78195
MY = -0.1096794E-04
MZ = -688.9742
SUMMATION POINT= 0.0000 0.0000 0.0000

We hope this information is useful to you in being able to quickly and easily obtain your contact forces.

Making Charts and Tables in ANSYS Mechanical

imageOne of the nicer features in ANSYS Mechanical is the fact that when you enter in any type of tabular data, or look at any type of tabular results, you can view it as a table or as a graph.  But what if you want to make your own graph, maybe even viewing values from two different solutions?  ANSYS Mechanical has a little used feature called “New Chart and Table” that will allow you to make a table or a graph (chart) of quantities in your model tree that make sense when displayed as a graph or table: Time, loads applied over time, and results over time.

image

I have found myself exporting data to excel and making graphs all the time. And this is OK if you just do it once. But if you make a change to the model, you need to export again and redo your graph.  The Chart and Table function makes this an automatic step, right there in your model tree.

For this posting, we will just use a simple plasticity bending example. We hold the bottom of a round bar with a grove cut in the bottom part and push on the top with forces.

In its simplest form the “Chart and Table” duplicates what you see in the graph and Tabular Data windows when you click on a load or a result. Here is what you get when you click on a displacement:

image

And if you select the probe in the tree and click on the “New Chart and Table” icon you get:

image

No woop.  But even if I want to just plot one value, I can now customize the look of the graph a bit.  Take a look at the Details for the Chart:

image

With the Chart Controls you can define what is shown on the X axis; if you want lines, points or both with Plot Style, log or linear scale, and if you want horizontal, vertical, neither, or both gridlines.

image

This is what it looks like if I turn on both gridlines and use a log scale for the Y Axis.

Next, we can add axis labels with “Axis Labels:”

image

The “Report” Section tells the program what to do when a report is generated. By Default you get a table and a graph.  But you can do either, both, or you can suppress it in the report.  You can give the plot and/or table in the report a caption by filling in the Caption field.  It comes out nice:

image

Note that it actually includes a legend in the report. If you want the legend when you are looking at a graph interacively, just Right Mouse Button on the graph and choose “Show Legend” to turn it on:

image

image

Note that the legend shows the name of the branch in the tree. That is not very informative. So I change it to something useful and now the legend is useful:

image

 

So even with a basic graph, we can do a lot. But the real power is when you want to look at more. Let’s say I want to plot the force and the stress over time. I create a new chart with the icon then select the force and the stress results as my “Outline Selection”

image

I get a lot of stuff on my graph. That is because the program starts by plotting all the components for the load, and all max and min stress over time for the result. I simply change the ones I don’t want from “Display” to “Omit.”  Then I get:

image

Much more useful.  Note that it does not create two separate Y axis. Instead it normalizes the values between the min and max for each. This is not ideal, and hopefully in the future they will support multiple axis, but it still works for most cases when you want to compare things. Note that I renamed the branches in my tree so they show up in the legend correctly.  Next I will add some labels and turn on gridlines.

image

We have been neglecting the table. It also gets created:

image

As with any table in ANSYS Mechanical, it can be exported to Excel. So if you find yourself grabbing data from multiple input or result tables and pasted them into Excel, make a Chart and Table item to grab all the data you want in one place, then export it once.  To be honest, the quality of the graphs that are made are good enough for engineering, but maybe not good enough for a presentation. By making a Chart & Table of what you need, then exporting to Excel or some other graphing tool, you can still save a lot of time.

Next, let us look at plotting values from multiple simulations.  If you look at the tree, you will notice that the charts are a child of the model, not the simulations.  This signals that we can show data form the same model, but different simulations:

image

In our example I’ve simply made one with a tip force in the Y direction, and one with a tip force in the X direction. And I can show that by making a chart:

image

And I get a table:

image

HINT: If you want to make a single table or chart that shows all your input loads over time, in a single simulation or across multiple simulations, this is the way to do it.  If I add a third simulation where I vary the load in all three directions, I can capture all three cases in one table:

image

These examples show loads. Here is what it looks like if we review the deflection on the tip probe over time for two simulations:

image

Or mash it all up, and show stress and deflection for both cases:

image

In every case so far we have used time (Load Step for static) as our X axis. But you can put any value you want on the X axis.  Here is Force applied vs Tip Deflection:

image

Make sure you turn off Time and loads you don’t want to see.  This is a great way to plot hysteresis effects.

You may notice the plots in this posting are nice and big and have a good aspect ratio. And your screen looks like this:

image

Every window in ANSYS Mechanical can be dragged out of the frame and positioned/sized however you want. So I pull off the Graph window by itself and resize it to the aspect ratio I want. Now when I want to save the image all I have to do is select that window and hit Alt-Print Screen. The image is now stored in the clipboard and I can past it where I want.

image

To get the normal window configuration back, click View>Windows>Reset Layout.

As always, play with it to figure more out. I’ve included my simple test case in case you want to play with it first:

Utilizing a Thermal Contact Conductance Table in ANSYS ANSYS Mechanical

We recently had a tech support request from a customer, asking for the ability to define a spatially varying thermal contact conductance (TCC) on a contact region in ANSYS Mechanical. We came up with a solution for ANSYS 14.5 via an example which includes a couple of verification plots.

The test model consists of two solids, connected via a contact region. The thermal contact conductance at the contact region was defined as a table, with the rows and columns of the table corresponding to local coordinates within the plane of the contact surface. The table was defined and implemented using Mechanical APDL commands in the Mechanical tree.

image

Low values of TCC were used for testing purposes. This helped verify that the tabular values were actually being used as intended. A constant temperature was applied to the face at one end of the model, while a different constant temperature was applied to the face at the extreme other end of the model. This temperature differential caused heat to flow through the contact region, subject to the resistance defined via TCC values.

The coordinates in the plane of the contact surface were Y and Z. Thus, the table of TCC values varied in the Y and Z directions, as shown here:

            Z        
  Y |  0.0        1.0
0.0 | 0.0001    0.0005
1.0 | 0.0005    0.0002

Three ANSYS Mechanical APDL command objects were inserted into the tree in the Mechanical editor. The first command object simply added a scalar parameter to keep track of the contact element type/real constant set number for use later:

image

The second command object was placed in the analysis type branch, meaning this set of commands would be executed just prior to the Solve command. This command object does three things:

1. Defines the TCC table vs. Y and Z coordinates.

2. Reads the table in as an MAPDL real constant for the contact elements identified in the first command object.

3. Issues the command, “rstsuppress,none”. More on this later.

This is how the second command object was defined:

image

That third step mentioned above was a key to getting this technique to work in 14.5. The rstsuppress command is not documented currently, but Al Hanq of ANSYS, Inc. has told me that it will be documented in the future. The default setting turns off contact results from being written to the results file in a thermal analysis. The idea is to help keep results file sizes from getting excessively large, especially for transient thermal runs. In this case, we actually wanted the thermal contact results in the results file, so we issued “rstsuppress,none” so the thermal contact results were not suppressed.

The final command object was for verification of the applied TCC values. This set of commands generates two plots using MAPDL postprocessing commands. The first plot is of heat flux going through the contact elements. The second plot displays the TCC values for node ‘i’ of each contact element (averaged).

Here is the third command object:

image

Both of these plots show up in the tree, labeled as Post Output and Post Output 2 in the image above.

This is the resulting thermal flux at the contact surface:

image

Here is the applied thermal contact conductance, as mapped from the table defined in the second command object:

image

In summary, we took advantage of Mechanical APDL command objects to apply thermal contact conductance values that vary along the contact region. We also used MAPDL commands to create two plots that help verify that the TCC values were applied as intended. Hopefully this is a helpful example.

Saving Mechanical APDL Plots in a Design Study

One of the cool features in the ANSYS Workbench is the ability to set up a design study and kick off a bunch of runs that bring back key parameters.  This is great for a design exploration but sometimes you actually would like a result plot, or maybe the info in a text file as well.  When a design study is done, unless you tell Workbench to save all your run files, it deletes all the files.

To do the posting on ICEM CFD in the workbench project page, I needed to do just that, so I thought I would share my method in case others want to use it.

The way I do it is pretty simple:

  • Use a /INQUIRE to get the directory the run is running in
  • Use some string functions to get the name of the design point from the directory name
  • Temporarily change the jobname
  • Save my plots
  • Change the jobname back to file
  • Copy the files to the User_Files directory.

Here is what it looks like:

   1: /post1

   2: set,last

   3: finish

   4: /inquire,aa,directory

   5: ii = strpos(aa(1),'\dp')

   6: ij = strpos(aa(ii+1),'\')-1

   7: dpn = strsub(aa(1),ii+1,ij)

   8: dpn = strcat(dpn,'_')

   9: /file,dpn

  10: /post1

  11: /view,1,1,1,1

  12: /vup,1,z

  13: /show,png

  14: eplot

  15: plnsol,u,sum

  16: /show,close

  17: /sys,copy *.png ..\..\..\user_files

  18: finish

  19: /file,file

See how it uses /inquire to get the directory, then strpos(), strsub(), and strcat() to get the design point name.  Then it simply changes the file name, does a /show,png and plots. The results are copied using a system command.

Two important things to note:

  1. You have to do the set command before you change the jobname, otherwise your RST files will not work
  2. This version is written for windows, you need to use forward slashes and cp for Linux.

You can attach this to a MAPDL system or as a code snippet.