First steps with the Form 1 Printer

So here it is after many months of waiting the Form1 Stereo printer is sent to backers! and I received a few days ago my puppy, and now the 3D touch has some serious competition.

More on that later, but I’m thinking on selling my 3D touch printer with ~15 filament spools of various colors/materials. So If you are interested mail me, free training included if you are in the bay area 🙂

I will not do a full tear down of the printer, but if you are interested to see the guts of the form1 Bunnie’s blog has an interesting post.

cartboardWith3dTouch

The cardboard boxes are massive and Formlabs decided to avoid foam or bubble wrap to lock the printer in place. The printer was held by 2 plastic films, but you can see in the picture under that during transport it shifted out of the slot. Nothing serious in my case but I have already read some reports of people complaining they received their printer damaged. I’m not exactly sure if this packing method is completely fool proof, especially if the box are rotated during transport/handling.

InsideCartboardBox

The unpacking was really easy, just a few tape pieces to remove… But dang, that’s a sharp looking printer! I’m especially impressed by the build quality. As you can see in the following pictures, they didn’t try to cut on the details. The only small remark I’ve is that the printer detect when the orange hood is closed using a hall sensor and from time to time the magnet is not completely aligned so you need to fiddle/move a bit the hood to get it detected.

Form1ReadyToOperate form1BuildQuality

Now let’s move onto the printing. The samples I’ve seen during the Maker Fair were great but I have to say I feel the Preform software (V0.8.1 at the moment of writing) is still somehow limited and you need to practice a bit to understand how to get the best out of your printer.

My first test was a 25 microns print of one of the Cyvasse game piece but for some reason the support (surface of ~ 2 * 1cm) was not sticking to the platform and the cured resin ended up floating in the tank… So after 2 tries and a fishing party to retrieve the layers, I decided to start with something easier and stick with the default 50 microns layers for the moment.

My first success was with a pocket monster figurine by Andreas. I’ve scaled it down to 50% (.form file) and the result is quite stunning when you are used to the FDM quality. Once cleaned from the resin with alcohol and dry the pieces are a bit cloudy and not very shinny (left picture). I used a Varathane Gloss polyurethane water based spray (interior / Heavy Use Formula) to get a great shine (right picture). With one layer, the details are not lost and you really have the impression that it’s made of crystal.PocketMonster

After that, I was ready to test the limits of the printer. So I tried the simplest structure I could find on George Hart math page. When processed by Preform, the Goldberg polyhedron (.form file) had a large red/unsupported ring area but I decided to print it anyway…goldbergSphereError

It didn’t worked out and I could just  clean up the mess after. golbergFailOnTheTray

As you can see the resin is rather flexible and not fully cured after print. I couldn’t remove the remaining of the sphere from the support without tearing the sphere in half. So lesson 1 is: don’t pull 1mm thick walls… Maybe I should have tried to wash the result and wait until dry?golbergFailFlexibleResin

I was surprised to see how flexible the resin is after print, so I’ve put some of my failed pieces outside in the sun to see how the resin age. As you can see under, after the prints, the parts are white, but just 2 days outside (gyroid – top right) and the resin is much harder/cured but with a yellowish tint. After 4 days (sphere – top left) the tint is even stronger and  all the flex is gone, the cured resin is actually very stiff.form1_aging_resin

Now let’s have a look at print defects that you can get with the form1…

I’d like like to stress that Formlabs team is making progress and the new Preform software revision (0.8.1) is actually solving one of the issues, each layers had a visible seam but the new cleared that point.

seam_form1_defects

Visible seams in Preform 0.8 (Releaux spheres print in 50 microns)

These seams were visible but you couldn’t feel them on the surface so it was more a cosmetic defects. The real issue comes when some parts of the print are not cured properly. In this case the end result is rather ugly on some sides…

reuleaux_form1_defects_0-8-1

Reuleaux Spheres printed with 0-8-1 (50 microns, default generated supports)

To conclude this post, I have to say the form1 is an impressive printer, the details of the parts are great and the build quality is stellar. That said, I know being an early adopters has its disadvantage and even if the printing process is not yet “plug-and-print”, I have high hopes for the future!

[<<Prev. – NA]    [3D Printer articles]   [Preform 0.8.1 – Next>>]

Giant 3D Printed dice!

Two weeks ago I helped my friend Tristan Convert present his crazy shape dice game called Dice Age at the Kubla-Con. This is a big board gaming convention in the bay area and we had the honor to be located in the lobby where everyone was passing. Explaining the rules tens of time loudly to cover the back noise was demanding on our voice but the experience was interesting.

RealSizeDice

Dice age is a fast pace (10~15 minutes), two player game were both player are using strange shape dice that represent fighters and effects to destroy the opponent castle. Tristan is currently molding and painting each dice by hand which is a herculean task. Participating at the convention was the best way to validate that the current set of rules was working and ready for the prime time. The short term goal is to find an industrialization solution to use plastic injection and mass produce the final product. While the game is interesting in its current form, we needed something to attract people eyes. So two weeks before the convention we decided to print a giant 300% set of these dice for the show.

3scales_theorem

You can see in the previous picture the real size dice, hand molded by Tristan and with the magic of 3D printer the giant versions of the same dice. The middle one was an error of “casting” as I made a mistake in the scale and got 200% instead of 300%…

green_with_support

Each of these dice was about 15cm side and took 8 to 12 hours to print on the 3D touch. I had to experiment to figure out what printing angle was the best to get supports that could get cleaned easily. My process was to use the free version of Nettfab to scale and rotate properly the original STL, then using Kisslicer for the slicing/supports/G-code generation.

GreenCleaned

In most of the case the supports are relatively easy to remove, provided you avoid large horizontal surfaces that needs to be supported. In this case a knife and patience are the only way to get rid of the support and the final surface finish is not really clean.

OrangeYellowRedLarge GreenDiceLarge

After a marathon print session were the printer was working 24/7 for more than a week and hand painting using standard acrylic paint, the result was a stunning set of 12 giant dice that did the show for us and attracted many players and photographs.

GlobalView

Next step is to use these printed dice as master to cast a foam version of the giant set 🙂

[<<Prev. – 3D rpinting Ecosystem]    [3D Printer articles]   [3D Touch For sale – Next>>]

3D Printing ecosystem

Today let’s have a look at the 3D printing ecosystem. In previous posts, I’ve covered specific points like online communities, 3D scanners and the evolution of manufacturing that led to 3D printing. This will be a global overview of all important actors that have stakes in additive manufacturing.

An Ecosystem, Really?

An interesting aspect of 3D printing is that it’s spreading everywhere. Individuals and businesses are exploring and using it alike. Individuals population is restricted right now to makers/hackers/doers but it will hopefully change overtime.

Speaking of makers, we went to the Maker fair this weekend in the bay area. And this year Formlabs was participating, and I have to say the quality of the prints was stunning! And this morning I just received the confirmation that my printer is being shipped so I’ll post update as soon as I get it.

Now let’s start with this ecosystem! I’ve split it in 4 areas with:

  1. The needs : why would you even consider it?
  2. The software : How to do generate the input data file?
  3. The hardware : Nature of the beast!
  4. The users : with a distinction between Individuals and the business side.

3dPrinting_ecosystem

1/ The Needs

For professionals rapid prototyping is a great way to visualize early in the development process any design. But in some case it ca also be used to manufacture one of a kind mechanical piece that would be impossible or too expensive to mold or machine from a piece of metal.

Because 3D printer are not yet main stream, right now only technical inclined individuals (doers/makers) will have the patience to tweak a printer. They will use it to create things like games, repair household, learning tools, arts or even print any crazy projects! Note that manufacturers are really trying hard to make these printer easy to use, so the population capable of using one will increase.

needs_pictures
Sources [1], [2], [3], [4], [5], [6]

2/ Software

Without models, a 3d printer is not really useful. Professionals have access to complete CAD software or modelers that costs thousands and need an extensive training. They can also acquire a scene/object using 3D scanners.

Individuals have simpler and mostly free tools available, some of then browser base to create new shapes. Some services like 123D let them rebuild a geometry from a series of picture. Note that most of the pro software are available for free or cheap provided you are or know a student willing to lend his name 🙂

software_pictures

3/ Hardware

Now the range of printer available is only limited by your budget. Each printer can go from $100ks to a few hundreds for the cheap FDM kits.

Professional have access to cindering machine that can print metal/ceramic on very large volumes. The cheap printers are today limited to filament extrusion but there is a intermediate class of device (for prosumer) few $k offers very nice accuracy like the Form 1 stereolithography printer.

printer_pictures
Sources [1], [2], [3], [4]

4/ Users

As for the 3D printing world actors, there is a consolidation going on to group the resources.  Some R&D centers that have a printer for themselves but, like machine shops, it does not make sense (yet) for every business to have a printer in house. So website are proposing a printing service on a large selection of material. These website are even trying to attract casual/pro designers that can expose their creation and let people order them with a markup. Printer manufacturers are also creating online communities to let user upload design. Thingiverse is one of the biggest community and very useful to find preexisting models.

users_pictures

Here is my view of the 3D printing ecosystem, if you have any comments please comment!

[<<Prev. – Mass customization Age]    [3D Printer articles]   [Giant Dice! – Next>>]

Mass Customization and Fast Prototyping Age?

This article is less about technique and more about thoughts that I had while designing my last project. It was based on an idea I had a few days ago: a reminder that you place in top of a medicine tube to remember the last time you took your medicine. This design was published on Thingiverse.

pillReminder_assembled pillReminder_dissasembly

To get a practical design I had to go through multiples iterations and the 3D printer was a great way to directly have a confirmation that my changes were going in the right direction. In this case I just had to wait 50 minutes to see the alterations results…

PillReminderEvolution

So what are the consequences of these short prototype cycles? Can these 3D printer be used by the end customer to get exactly the right custom product?

When we think about the “2D” version of printing we can see and evolution with:

  1. Scribes and monks reproducing parchment by hand
  2. Gutenberg and the print press with mass production of books
  3. To reach mass customization with modern printer technologies like inkjet or laser

2D_evolution
Images sources: [1] [2] [3]

Now if we look at the 3D object reproduction, we can see that the first step was sculpting to get a custom object. Then injection molding and casting helped to mass produce the same shape and now the 3D printers are opening the realm of mass customization…

3D_evolutionImage Sources: [1] [2] [3]

Note that I’m not trying the start a flame war when I make a parallel between hand-writing and CNC. Modern machining is in a sense the final step of evolution of sculpting. The helmet picture is one of the most impressive demonstration of 5 axis machining that I’ve seen so far. Built by Daishin, the speed and the details that this machine is capable of carving are absolutely stunning.

Now 3D printing is currently at his infancy slow and some time limited. But it as already access to many materials from plastics to metal and ceramic. New fields are opening with organ and organic tissues printing. So who can really know where it will stop?

[<<Prev. – First Prints]    [3D Printer articles]   [3D printing Ecosystem – Next>>]

Impossible Dovetail Joint

For this week Impossible object, we will revisit the dovetail joints and have a look at some interesting variation on the theme. This time we will use the “master sketch” technique in Inventor to build our different pieces.

 

This technique is using a single part with all the sketches required to model the whole assembly. Each piece is then derived from the master. To update the model, you just have to update the master sketch, and if everything is properly built, your whole assembly should follow.

Result_picture1

The inventor result files links are at the end, with the STL and the thingiverse link.

  • To start, create a part with a bunch of user parameters to control the design. Then on the horizontal plan XY create a sketch with the outline of the 2 main blocks (length*width).
    impossibleDovetail_01_userParam
  • The dovetails are extruded on a non-vertical plan, so the easiest way to control the result is to create a sketch in XZ plan and draw a segment with ‘Tilt’ angle from the horizontal. Then use this segment and the origin point to create the work plane using “Normal to axis through Point” tool.
    impossibleDovetail_02_TiltPlan
  • The next sketch will be on this newly created plan. The left triangle and the left side of the center one are drawn and the rest is a mirror copy. The base of the left triangle is at length/5=10mm. To allow some clearance in the pieces, all triangle have been “offset” inside by “clearance” parameter (0.25mm here).
    impossibleDovetail_03_DovetailSketch
  • The final master sketch part should now look like the view under.
    impossibleDovetail_04_Mastersketch
  • Now we create a new part to model the first piece. From the manage tab, select the “Derive” tool and choose the master sketch part. Then make sure that the User parameters and the Sketches are shared (yellow plus) and validate. The master sketches will appear in you new part. Now any change in the master sketch will update the part (you will have to press the update button / thunder bolt)
    impossibleDovetail_05_Derive
  • Each sketch will be used multiple time to build the piece, so don;t forget to make them “visible” again once they have been used by an operation. The first thing will be to create the “male” dovetail in the center, so the first step is to extrude the small version of the center triangle by a very large amount on both side.
    impossibleDovetail_06_Centerdovetail
    Then extrude the left rectangle by height and keep only the intersection. to create the dove tail.
    impossibleDovetail_07_CenterdovetailFinished
    impossibleDovetail_08_CenterdovetailFinished2
  • Now the main body can be created by Extruding the right rectangle by “height”.
    impossibleDovetail_09_body
    To create the 2 side female dovetails, just select both the external rim and the internal triangle on both side and cut into the main piece.
    impossibleDovetail_10_body
  • To finish the piece you can add a fillet on the internal side of the dovetail.
    impossibleDovetail_11_finish
  • The second piece is created the same way, from a derived part except you have to do the “negative” geometry.
    impossibleDovetail_12_PieceB

And here is the result assembled with a “wood” finish 🙂

impossibleDovetail_Result01

impossibleDovetail_Result02

I’ve printed the result to check that the piece would indeed fit and yes it works!

The STL files are available in Thingiverse here and the Inventor files are here.

[<<Prev. – Symmetric Penrose Triangle]    [3D Printer articles]   [TBD – Next>>]

First prints & lessons learned

After many tests print I finally got to print some real stuff these last day. The first object was something completely useless but full of gears and very cool (so by my standard indispensable).

One of the mistake I made, was to print the raft and the pin out of PLA. I could not get them to stick to the bed without but couldn’t separate the result so my yellow internal pieces have a black layer 🙂 GearCube_Assembly

The end result is a nice transformer like cube…GearCube_EndResult

My second print was one of my puzzle: double dovetail with a twist.

The pieces are large and I got warping as my bed is not heated… Nevertheless, the comb infill is nice to see…DoveTail_warping

The dovetails ended pretty flat, and just a little bit of sanding was necessary to allow a nice sliding between the parts. DoveTail_separated

And here is the final assembly 🙂 I need to design more puzzle!DoveTail_assembled

And here is the puzzle in action!

[<<Prev. – A New comer]    [3D Printer articles]   [Mass Customization – Next>>]

3D printing: your friend the Slicer

Modeling your shape is only the first step of 3D printing. You need to process the resulting mesh with a slicer program that will cut your solid into thin slice and decide how to print them. The output of a slicer program is a G-code file that contain the instructions to move the printer and extrude the filament. They are multiple slicers programs available but I will only mention three that were evaluated by Reprap magazine (in no particular order):

  • Cura and Slic3r are very effective open source packages
  • KISSlicer is a commercial product, but the free version let you print single object with most of the options available.

As you can discover in the Reprap magazine, there is no one solution to the slicing problem. It’s an optimization task and each program is solving the paths differently. Each of these package offers different options to reduce problems like strings / seams on the edges and increase overall printing quality.

slicerJob

In the previous picture you can see how KISSlicer is splitting this “gear”. The path colors on the right represent the type of extrusion the printer will do. Like you want to have a lower speed and more precision for the output shell, but for the inner shells, the printer can go faster.

As I was looking at the subject I found these vase pictures from 3DPrinterGear user on KISSlicer forum where you can see that depending on the printing mode, you can end-up with a very visible seam on one side, or more like a “chicken-pox” effect  when the slicer starts each profile at a different point each time.

seamOnVase

The ‘obvious’ solution was to extrude the plastic in one path, think of it as a spiral and avoid completely the issue. I found later that Cura slicer has an option called “Joris mode” to exactly do that for single wall objects. That seems like an interesting challenge to take and see how hard it would be to build a slicer and generate some G-code to print a continuous extrusion profile. As this is only considering the outer shell profiles it’s a nice subset to experiment and develop algorithm for. So let’s dig in the slicer, algorithm!

Note: all the graph on this post are generated using Matlab. The code is available at the end of the post. The gear shape is coming from this thing on Thingiverse made by Emmett.

Slicer Step 1: Find Intersecting triangles

The first step once the tessellation is read is to find for each Z plan the section of the geometry.

gearSlice

The geometry of a STL file is a tessellation of triangles in space. So the brute force method to do it is to test if each triangle is intersecting the current plan. This is obviously not optimal and we have to weed out most of the candidates otherwise we’ll spend ages processing the file.

Let’s simplify the problem and display it in 2 dimensions (only X and Z), now for each triangle we can find the lower Z vertex and the higher Z vertex. Example in triangle A the lower is at Z=2 and the higher Z=13. Then we have to sort all the minimum and the maximum in 2 lists of increasing Z values.2dSlice

Now we can have a tool to figure out which triangles are in any Z plans in 2 steps by doing:

</code>
for currentZ = 0:N
    1/ Add any triangle from the bottom list
       with bottomZ value smaller or equal than currentZ
    2/ Remove any triangle from the top list
       with topZ value smaller than currentZ
<code> 

So for example if the plan you want to test is Z = 8.5 you will have:

  1. Add in list triangles : [C A D B]
  2. Remove from list triangle C

=> the answer is only triangle [A D B] have to be tested for the section.

For a real implementation you would keep the list from one Z plane to the next and the location in the list were your stopped the search because triangle that are already under will never be used again. Also to keep the R/W low it’s probably more efficient to use a linked list in C.

Slicer Step 2 : projection of Intersecting triangle on current plan

For each of the intersecting triangle we have to check how many vertex are already in the plan as no extra computation are required in this case.

vertexInPlan

For every remaining segment of the triangle with vertex on both side, the “segment to plan” intersection is easy to compute:

segmentProjection

And here are example of the result for the gear section. The left picture is the bottom plan of the object so all the faces are in the plan and displayed as triangles of various colors. The right picture is a plane over were all the intersecting faces are represented as segment.

sliceResult

That’s all for today, the graph are generated using this Matlab package, and all code are copyrighted, only usable for non-commercial purpose and provided as is with no guaranty of any sort! The package includes a Matlab STL reader that can open TXT and binary files.

[<<Prev. – STL Matlab Writer]    [3D Printer articles]   [TBD – Next>>]