Creating meshes for 3D printing

I wanted to write this to talk about the process in some detail. Not the creation of the mesh itself which is something different but the steps that help smooth that creation.

I am going to address the service and software I use. I will say up front that sure, there are other services and other software that can be and are used to create and print 3d models. I only bring this up because as sure as death and taxes if I mention Shapeways someone will mention i.materalize. If I talk about Sketchup someone will talk about Solidworks. If you use another service or another software then I encourage you to write up a tutorial on using those services and products.

What I use:

Shapeways: I have used Shapeways to print my models ever since PrintAPart stopped.. Printing that is…

When uploading a file to Shapeways you can do so in a variety of formats: STL, OBJ, X3D, Collada and VRML97/2 (WRL).

I use STL. I am familiar with it and I have been able to fairly constantly upload files that will print the first time or at least will with minor adjustments.

Sketchup: This is the 3D CAD program I use. Mine is the free version and works for what I need it for. There are plenty of other programs that will create a 3D mesh – Shapeway’s Supported Application page lists a crazy number of them.

MeshLab: My go to program for manipulating a 3D mesh. I routinely use it for remove duplicate faces and vertices, create a STL from a DAE file, add multiple meshes to make one.

NetFabb: I use this in conjunction with Meshlab to fix problems in my meshes. There is a lot in the program that I haven’t even started to explore. The 100 + page manual provided is something I keep telling myself to explore. There is a Pro version but I am happy with the Basic (free) version.

All of that is “fine and dandy” .. as they say .. but I tossed that into the mix just to set up for the reason for this article.

Sketchup was originally designed for use by Architects .. so I understand. I have not and will not go to the trouble of researching that any further .. I really don’t care other than this explains one of the problems we run into when using Sketchup to design small models.

You cannot create a radius smaller than 0.018”. To someone working nominally in feet and inches .. such as an Architect, this means little .. and probably means nothing at all. To those of us working in modeling scales such as 1:87 or 1:48 it means a lot.

When I say that Sketchup will not create a radius below 0.018” what does that mean? Well .. it literally means that when trying to draw a circle in Sketchup you do so by clicking the center of the point you want the circle and moving the mouse to change the radius of the circle as displayed in the Measurement Box (VCB or Value Control Box). If you try to draw a circle with a radius below 0.018” you get “Radius is too small”.

Bummer …..

So. The maximum circle that Skechup can make is one with a 0.036” diameter. One thing to keep in mind is that when we are talking about a circle in Sketchup we are talking about a polygon that has enough sides that to the eye it looks like a smooth circle. Sketchup normally defaults to a 24-side polygon. I personally prefer to bump that up to 60-sides. In fact .. your bolt head is really a six-sided circle. That 0.036” circle diameter is measured across the points of the hex-head and would give you 0.032” across the flats.

What does this mean for us modelers?

1:160 (N scale) – that is a 5.12” bolt
1:87 (HO scale) – that is a 2.8” bot
1:48 (O scale) – that is a 1.5” bolt

So even in a relatively large scale such as 1:48 the bolt head is STILL 1.5” across the flats – quite a large bolt. The question is .. how do we address this problem?

I hear people say .. “Model at 1000x larger and then re-size”. That works .. sometimes. Not always. If you re-size/re-scale a model smaller (you were modeling at 1000x and now you reduce it by that same 1000x) – you can run into much the same problem. Sketchup has problems intersecting polygons at/or below that magical minimum radius. You will get missing polygons, walls that vanish and so on.

Let’s let that percolate a bit and talk about another problem. I should say .. possible problem as you can run into it .. or not .. depending on how you go about exporting your model.

Sketchup provides a variety of units of measurement for modeling:

Architectural (feet and inches)
Decimal Inches, feet, mm, cm, m
Engineering (feet)
Fractional (inches)

Nice as you can model to whatever unit and precision that makes you break into a happy dance.

Problem (or again, possible problem) …

Sketchup exports the .dae (Collada) 3D mesh as INCHES. It does not matter if you created the model in inches, feet, meters or millimeters .. the exported file is in inches.

Example: Suppose you create a cube that is one inch on a side .. 1” x 1”x 1” and export it as a .dae file. The cube in the file is 1” x 1” x1”. Ok. Make sense. Now, switch your units to mm and create a cube 25.4mm x 25.4mm x 25.4mm and export that. The exported cube will be 1” x 1” x1”.

Oh you may say .. what does it matter? It is the same size after all.

Well .. it does matter .. depending ….

When uploading a file to shapeways you get the ‘Usual’ .. “Select File” and then three radio buttons – Model units:

millimeters inches meters

If you exported that cube which you designed in inch units you select inches

If you exported the cube which you designed in millimeter units you select .. inches

!! what !! you say. “But but .. I designed it in MILIMETERS!!”

Look back. I SAID .. Sketchup exports in INCHES. That cube which in millimeters when exported is NOT 25.4 millimeters.. but 1 inch. Therefore you have to tell Shapeways that the model units is INCHES.

But .. you were talking about how Sketchup can’t draw a radius smaller than 0.018” and now you are talking about inches and millimeters .. I am confused!

Stay tuned.

I model in what I call pseudo-millimeters. I set the “unit of measurement” to Decimal inches .. and then pretend I am modeling in millimeters.

Let’s use a cube as an example again .. this time it is 1 foot on a side .. 12” x 12” x 12” .. meaning it is full size.

Now .. I am wanting to model this 12”^3. cube in 1:48/O scale. This is also called ¼” scale as 12” full size equals ¼” or 0.25”.

Now .. let’s convert that to millimeters. 0.25 x 25. 4 = 6.35mm

Now .. I use the tape measure tool in Sketchup to scale that 12” to 6.35”

This is why I call it Pesudo-Millimeters. I don’t CARE that it is 6.35” .. I IGNORE the “ (inch symbol).

This does the following:

1. It completely eliminates the problem with drawing a radius under 0.018”. Think about it. We are using my pseudo-millimeters. We are working in inch units but pretending it is millimeters. Suppose I want to draw a 1” hex-head bolt. In 1:48 that is 0.021” .. or .. 0.53mm .. WHICH MEANS .. we are using pseudo-millimeters so we draw a radius half that or 0.27” (pseudo-inches). IF .. for some strange reason I made a circle with a radius of 0.018” (pseudo-millimeters) that would equate to 0.0007” … or … 0.005” full scale .. that is 5 thousands of an inch. So .. the radius problem is solved.

2. Shapeways has a materials page where for each material the various constraints are listed that we have to pay attention to when modeling. Example, FUD: The minimum wall thickness is 0.3mm. Since we are using pseudo-millimeters we simple have to do a quick check of any wall. If it is larger than 0.3” (pseudo-millimeters) then everything is fine. It is quick, and accurate.

3. Sketchup exports in inches as I said. So now .. we export that cube which measures 6.35 pm (ok. Gonna use pm for pseudo-millimeters from now on, tired of typing it out fully). When that .dae file is opened in MeshLab for processing and saved as a STL file .. guess what? It is 6.35 UNITS on a side. STL files contain no system of measurement .. no inches, millimeters etc. It is simple the number .. 6.35

4. When you upload the STL file to Shapeways and they ask you for the “Model Units” .. since we used pm (pseudo-millimeters) we simply check the millimeters radio button. Easy as that.

Finally .. THIS .. is a WordPress Blog. That means you can ask questions or throw rocks in the comments below.


Creating meshes for 3D printing — 5 Comments

  1. Well, I thought I understood your process but now I may be confused.
    When I do my design I create everything in full size, ie: 12″ rather than the 6.35pm. It isn’t until I’m ready to export the model to MeshLab that I change it to the pseudo mm.
    It seems that you are saying you design your parts using the pseudo mm which means converting all the real dimensions to mm. Now i don’t believe this is what you are doing but reading the above it seems to say that.
    See….I really am confused (smiles)

  2. You design full size. Ok. You are ready to export to send a scale file up to Shapeways. To scale correctly the easiest thing is simply to draw a line, block, retangle .. that is 12 inches long. You use the tape measure tool, measure along that length and you see 12″ in the VCB/Mesurement Box. You type in .138 and hit enter for HO scale .. or .250 and hit enter for O scale. When you upload the mesh to Shapeways you tell them the Model Unit is inches.

    That it is fine as long as everything scales nicely. It will do so .. EXCEPT .. when you are working in things that cuve, were polygons meat at anlges , where curved surfaces meet straight surfaces, where for example a rivet heat sits on a surface. Then .. you can get problems where you have a radius smaller than the magic 0.018″ .. then you can get missing polygon faces, failed intersections and so on. Does this happen always? no. It happens enough to cause problems for someone like myself that creates complicated meshes with mutliple intersections of curved surfaces and small objects such as in O scale , 1″ bolt heads.

    To get around that I design at scale .. O scale .. HO scale. Doing so allows me to take direct measurements agianst wall thickness and minimum detail and compare that to the minimums for FUD .. 0.0118″ minimum wall and 0.004″ minimum detail. The problem with doing this in inches is that 0.018″ minimum radius.

    I keep the model scaled to say .. 1:48 or 1:87 .. draw a line a foot long in whatever scale I am working. If O it is .250″ .. if HO it is .138″. I then determine what that scale foot is .. in the scale I am working in. If O scale .. 1 scale foot is 6.35mm .. if HO scale .. 1 foot is 3.5mm

    I then scale that foot to either 6.35 for O scale .. or .. 2.5 for HO scale. This creates a model that is in pesudo-millimeters. That scale foot which .. full size is 12″ .. is now 6.35″. I ignore the ” .. and think of it as in millimeters. I can tape a wall. If it is 0.3″ or larger (pesudo-millimieters .. pesudo 0.3mm) then it passes the checks for FUD. If I draw a circle with a 0.018″ raidus it scales to 0.005″ full size. That means I have no problems with a small radius .. simply because the minimum size for FUD is .1mm/0.004″ .. or .. the smallest radius that will print is .5mm .. which is .5″ in pesudo-millimeters .. so WAY above the 0.018″ radius problem.

    When I export to a .dae file it exports in Inches. Sketchup ALWAYS exports in inches. The thing is .. when it is coverted to a STL file it is not in inches, not in mm .. but units. That 6.25″ (pseudo-millimeters) long retangle I used to scale from will be 6.35 units in the STL file.

    When Shapeways asks what Model Unit the mesh is in …l tell them it is millimeters. It will pritnt exact size.

  3. I have been following your site with interest since I design some stuff for Another 3D CAD program to consider is Punch! ViaCAD 2D/3D. The basic program is around $90.00 and can export to .stl and other formats. It is quite easy to use although the manual leaves much to be desired. In addition to the “Lego and Play-Do” method of creating shapes it also has a surfaces function which can be used for more complex shapes. I experimented with the double curve from the “belts and pulleys” drawings on your projects page to create this pulley. The arms were quite complex since they have an ellipse shape to them that is both curved and tapered from the hub to the rim.

    • Michael –
      Thanks for the prompt .. I will check it out when I get back .. off in a bit for a NMRA convention (horray for me!). Wowziers! Really like the pulley design. Great job! I really like the way you did the arms .. and can imagine the difficulity level in creating them. I have a plugin for Sketchup called Curviloft that “creates loft junctions between surfaces based on spline curves” .. which basically means you create a path between two shapes and the plugin will create the ‘bits’ in between. Now you did it. I get back will have to see if I can re-create those arms!! Fun stuff.

      • Another thing about ViaCAD you can export in either inches or millimeters and it’s available in either Mac or PC. There’s also no issue with radius or curve size.
        The one big issue I had when I first used it was drawing using actual measurements. I thought you could just plug in a scale like 1/35 and it would shrink down the object to that scale. It didn’t work that way, you have to do it as a percentage and besides many parts would be too thin for a 3D print. It’s better to draw a scale part as an actual size of the part to be printed for a good 3D print.
        The program was designed for the Mac and the Mac version has a few more features but less export options for some reason. I use both the Mac and PC and versions and save my work on Dropbox so this is not an issue for me. There is also a full up professional version called Shark that’s around $1000.00 and can export in CATIA and other high-end CAD programs.

Leave a Reply

Your email address will not be published. Required fields are marked *

I'm not a spammer This plugin created by Alexei91

Heads up! You are attempting to upload an invalid image. If saved, this image will not display with your comment.