Manufacturing guy-at-large.

Photos from a visit to CCAT

Added on by Spencer Wright.

A few months back I had the pleasure of visiting the Connecticut Center for Advanced Technology, which is located on the UTC/Pratt & Whitney East Hartford campus. CCAT began as a facility focused on researching laser drilling, but has moved deeper into 3D printing, and specifically directed energy deposition, in the past few years. 

In addition to a full subtractive (manual and CNC) shop, CCAT has a few cool additive tools that I was particularly interested in. The first is an Optomec 850R LENS system. The 850R is a large format directed energy deposition machine which can be used for both new parts and repairs. It's also useful for material development, as DED machines can create parts with a small amount of powder (while powder bed fusion machines generally require a large amount of powder).

(Click on the photos for larger versions + descriptions)

The other thing I was excited to see was their Kuka HA30 robot, which has a coaxial laser cladding head attached to it. This robot can be used for either etching/engraving or cladding, meaning that it can either subtract or add material to a part. Especially when combined with the two-axis rotary table shown below, this thing can create some really complex parts.

It was really cool seeing these specialized technologies being used in real life. Thanks to CCAT for having me!

Photos from an antenna factory in Shenzhen

Added on by Spencer Wright.

This past July, Zach and I visited The Public Radio's antenna supplier in Shenzhen. I had only a vague idea of how antennas were made, and it was interesting to see the process in person. It was also fascinating to see a shop that relied so much on manual and mechanically driven machinery. 

A few observations:

  • This shop manufactures a variety of parts, with the defining feature being that they're made of tubing. For our antennas, the process works basically like this:
    • Tubing is bundled together with zipties and cut to length by wire EDM.
    • Tubing ends are swaged in/out.
    • Sections are assembled into a single telescoping unit
    • Meanwhile, end fittings are manufactured from solid stock. This happens either on the automatic turret lathes, or on single-operation manual machines (lathes/drill presses).
    • End fittings are installed on the telescoping antennas, again using swaging/forming processes.
  • The whole operation was decidedly low tech and manual - almost disturbingly so. It would seem very difficult to control quality - which I guess should be expected when you're looking at a niche, and rather inexpensive, commodity product.

A few of the photos have notes on them - click to show.

Murray Hill

Added on by Spencer Wright.

I'm reading The Idea Factory, and this description of Bell Labs' Murray Hill facility jumped out at me:

Kelly, Buckley, and Jewett were of the mind that Bell Labs would soon become - or was already - the largest and most advanced research organization in the world. As they toured industrial labs in the United States and Europe in the mid-1930s, seeking ideas for their own project, their opinions were reinforced. They wanted the new building to reflect the Labs' lofty status and academic standing - "surroundings more suggestive of a university than a factory," in Buckley's words, but with a slight but significant difference. "No attempt has been made to achieve the character of a university campus with its separate buildings," Buckley told Jewett. "On the contrary, all buildings have been connected so as to avoid fixed geographical delineation between departments and to encourage free interchange and close contact among them." The physicists and chemists and mathematicians were not meant to avoid one another, in other words, and the research people were not meant to evade the development people.
By intention, everyone would be in one another's way. Members of the technical staff would often have both laboratories and small offices - but these might be in different corridors, therefore making it necessary to walk between the two, and all but assuring a chance encounter or two with a colleague during the commute. By the same token, the long corridor for the wing that would house many of the physics researchers was intentionally made to be seven hundred feet in length. It was so long that to look down it from one end was to see the other end disappear at a vanishing point. Traveling its length without encountering a number of acquaintances, problems, diversions, and ideas would be almost impossible. Then again, that was the point. Walking down that impossibly long tiled corridor, a scientist on his way to lunch in the Murray Hill cafeteria was like a magnet rolling past iron filings.

Sounds like my kind of place.

Photos from a speaker factory in Dongguan

Added on by Spencer Wright.

This past July, Zach and I took a trip to the Pearl River Delta to visit, among other things (see one, two), the factory in Dongguan that made the speakers for The Public Radio. Below are some long overdue photos from the visit, along with whatever comments I can muster up from memory. 

Note: if you click on the photos, you can seem them larger. Some also have my own notes on them too.

Like most factories I've visited in both China and Taiwan, this one comprised a cluster of buildings around a large concrete courtyard. Immediately inside the gate on the right hand side (out of view of the photos below) was the office building; to its left was the assembly shop, then dormitories, then a building that housed the toolroom and the injection molding line.

We started our tour in the office building. I didn't get any photos of the conference areas, where we spent a good portion of the visit (we needed to discuss a redesign of the speaker, which was going to require new tooling and a few other changes). We dropped our bags there and introduced ourselves, and then went upstairs to see the R&D area.

There were a *lot* of different speakers here. The main part of the R&D area housed a few cubicles, each of which seemed to have more product on it than the last. There was also a small workshop area for assembling sample units, a semi soundproof chamber, and a listening room.

Our supplier had on site tooling and injection molding. We didn't even realize this coming in, but it was great to see that they could have full control of their own process and design. 

Tooling is then sent next door to the injection molding line. Our factory was in the process of installing automated part handling on a few of their machines, which was interesting to see in real time. 

Then up to the speaker assembly area. They had (if I recall correctly) six moving assembly lines, which were broken up by the size of the speakers they could handle. Speaker assembly is mostly a process of gluing different components together, so there were a bunch of specialized tools that would inject adhesive in a controlled manner.

Back outside. The office is on the left here, then the injection molding line & toolroom, then the assembly shop.

Heading back to Dongguan that afternoon, I was impressed with what we had seen. This was a pretty small business, and we were a tiny customer. They (like most of the people we talked to in China) were somewhat confused with our product, but they had a good attitude and definitely understood why we wanted to make the changes we had asked for - and were interested in helping us get what we wanted.

Why Gemba

Added on by Spencer Wright.

I’ve been working a lot on the mechanics of how Gemba (my idea for a shared industrial 3D printing space in NYC) would work, and it struck me that I should probably write down why I want to do this in the first place. These are intended to be mostly personal reasons; here goes.

I like building stuff. Having a measurable output is a big motivator for me, and I find myself similarly drawn to people who are building stuff too. 

In particular, I like building stuff that’s valuable. I’m being intentionally abstract here: my blog is valuable, and so are manufactured goods, and so is the process and craft that one learns by manufacturing things, and so is the management expertise that one develops through years of working on hard problems, and so is the social capital that one accrues by being a considerate, dedicated, hardworking person. Ideally, I’d structure my life such that I can focus on one of these things and still let the others flourish; the compound value would be exponential.

I also, for purely selfish reasons, want to make an impact on long term global problems. Like any new manufacturing method, I believe that metal AM has the potential to make a positive impact on our ability to make long term valuable products (lightweight transportation systems, patient specific orthopedic implants, etc) more effectively and efficiently. And given my experiences over the past two years, I think I can play a significant role in increasing its rate of adoption and maturity.

It’s possible I could do this in a private environment - working full time on a single, proprietary solution. But in order to create a larger impact more quickly, I feel it’s important to work alongside others. I want to work in the MIT Building 20 of advanced manufacturing. I believe that my own output - and my quality of life - will be much improved as a result.

It’s no secret that New York City is no longer the center of manufacturing that it once was. But at the same time we’ve got some of the nation’s top minds in architecture, engineering, and construction, and our 3D printing community is one of the largest in the world. We’re also the geographic center of a huge network of manufacturers (large and small) that populate the I95 corridor, and we remain *the* cultural magnet for young engineers graduating from any of the top tier schools in the Northeast.

These factors - and the anecdotal evidence that myself, and people like me, want a place to work on industrial grade problems - will give Gemba NYC a robust technical pipeline and talent pool. In addition, though, New York adds a significant edge when it comes to business model and marketing leadership. We (and by we I mean a combination of companies like Makerbot and GE) have been at the forefront of a total rebranding of additive manufacturing - one which has brought a huge influx of investment, talent, and ideas. New York also has a proven track record in developing and launching just in time, direct to consumer businesses (see Warby Parker, Casper, Blue Apron, etc) that shorten supply chains and are more responsive to end user needs. Additive manufacturing will need this expertise; New York will provide it.

In short: I believe in the technology; I believe in the power of working in close proximity with others in the industry; I believe in New York City’s ability to lead technical and commercial solutions to the problems facing industrial AM.

I want to increase the success rate of industrial additive manufacturing. I think it’ll be fun, and interesting, and will benefit both myself and humanity as a whole. And in order to increase my own success rate, I want create a space where dedicated, forward thinking companies and individuals can experiment with and develop solutions to the problems facing AM today.

This will require a big effort, and I’ll need the involvement of people and companies much more experienced than myself. I’m looking forward to hearing what their interests are, and developing a space and financial model that serves us all well. If the things above resonate with you, get in touch - I’d love to chat.

On Optimization

Added on by Spencer Wright.

As I've explored further into the obscure regions of design for additive manufacturing, I've been thinking a lot about the philosophical underpinnings of optimization, and the role that design optimization can play in product development. Optimization is in the air today; the major CAD vendors all seem to have an offering which purports to create "the ideal part" with "optimum relation between weight, stiffness and dynamic behavior" and "the aesthetics you want." These promises are attractive for seemingly obvious reasons, but it's less clear how design optimization (at least as it exists today) actually affects the product development process.

Product development inherently involves a three-way compromise between quality, cost, and speed. The most critical trait of a product manager is the ability to establish a balance between these three variables, and then find ways to maintain it.

Understanding the strengths and limitations of manufacturing processes is, then, invaluable to me as a product manager. Given infinite resources, people are pretty good at making just about anything that can be designed; there are designers out there who make very successful careers just by pushing the boundaries of what is possible, and employing talented manufacturing engineers to figure out how to bring their designs into existence. But in my own experience, the more I understand and plan for the manufacturing process, the easier it has been to maintain a balance between quality and cost - and hence to create an optimal end product.

All of which makes me feel a strange disconnect when I encounter today's design optimization software, which always seems to focus specifically on creating Platonically perfect parts - with no regard for manufacturability or cost.

To be fair, traditional CAD programs don't usually have a strong manufacturability feedback loop either. Inventor, SolidWorks, and NX are all perfectly happy with me designing a fillet with a radius of .24999995" - when a 1/4" radius would work just fine and cost much less to manufacture. In this way, traditional CAD requires the user to have an understanding of the manufacturability of the features that she designs - a requirement which, given the maturity and nature of conventional manufacturing methods, is not unreasonable.

But the combination of additive manufacturing on one hand, and generative design on the other, produces vastly different effects. No longer does a designer work on features per se. There's no fillet to design in the first place, only material to move around in 3D space. Moreover, the complex interaction between a part's geometry and its orientation on the build platform produce manufacturability problems (overhanging faces and thermal stresses, to name two) that are difficult to predict - and much harder to keep in mind than things like "when you design fillets, make their radii round numbers."

The remarkable thing about AM design optimization software, then, isn't that it allows me to create expensive designs - it's that these kinds of manufacturing factors (orientation to the build platform, and the structural and thermal effects that it produces) aren't treated as things which need to be optimized for at all.

The purpose of optimization should be to help me, as a product manager, design optimal *products* - not to chase some Platonic ideal.

So: Give me a way to incorporate build orientation, overhanging faces, and slicing data into my designs. Those variables are critical to the balance between cost, quality, and speed; without them, the products I design will never be optimal. 

3D reverse engineering process chain

Added on by Spencer Wright.

Big thanks to Michael Raphael and Peter Kennedy, of Direct Dimensions, for their help with the 3D scanning - the key part of this process. Thanks also to Ryan Schmidt (of MeshMixer) and Bradley Rothenberg (of nTopology) for their ongoing support in designing 3D lattice structures.


As I hinted to a few months back, I've been scheming for a while to create an integrated design for a seatpost/saddle support to be printed in titanium. As a first step along this path, I decided that it'd be easiest to use an existing saddle shell, and design a part that would adapt the shell to fit a piece of carbon fiber tubing.

The saddle I chose consists of a carbon fiber shell, some minimal padding, and five female threaded bosses: three in back, two in the front. The bosses fit through the shell, so that they protrude through the underside; they will be my part's connection points. As you can see below, the saddle comes with (and isn't meant to be separated from; this is a decidedly off-label use of this part) a loop shaped rail part; I'll be discarding that and building my own 3D printed titanium part instead.

The first step in my design process is pure reverse engineering. I need to understand where each of those bosses is in 3D space, so that I can design a part that fastens to them securely. In order to do this, I worked with Direct Dimensions to scan - and then reconstruct - the part to a point where I could design around it.

Reverse engineering via 3D scanning is a process of interpolating, smoothing, and in the end often guessing the design intent behind an observed feature. The same is the case with basically any form of reverse engineering, of course; if you measure (via calipers, for instance) a feature to be 100.005mm, you'll generally assume that it was intended to be 100mm. With simple rectilinear parts this process is relatively straightforward, but with more complicated ones - especially ones that include a combination of complex curvature and manual fabrication methods - it can look a lot like art.

Regardless, the first step is to acquire some data on where exactly the part in question *is.* Direct Dimensions started by laser scanning my part with a Faro Edge arm and an HD probe:

This is an interesting hybrid system: the arm itself knows where it is, and the non-contact laser scanning probe knows how far away (and in what direction) the thing it's pointing at is. When combined, the single-point repeatability of the system is below .1mm.

From the point cloud generated by the probing system, Direct Dimensions was able to create a raw polygon mesh:

This mesh is a representation of the underside of the saddle shell; you can see the five bosses as well. It's a start, but not particularly useful for designing a mechanical assembly. To get there, Direct Dimensions used two methods:

First, they used a method called "rapid NURBS" to wrap a NURBS surface to fit the complex shape of the saddle. This is a fairly quick method (an hour or two of work) and results in something that fits all the weird contours and fine features pretty accurately. As you can see here, there's pretty high feature resolution in the model, which can be useful if I need to make sure to avoid (or fit closely to) something. On the other hand, though, the surface is difficult to manipulate and a little hard (due to its complexity) for me to even open up and play with in Inventor.

For a more useable (but less detailed) model, Direct Dimensions made a CAD surface for me as well. This is a much longer and more manual process, taking most of an afternoon. Here, individual surfaces are modeled and stitched together to create a shell that represents all of the necessary feature geometry accurately, but with a bit less precision than the rapid NURBS model. You can see roughly how the model was created below:

At this point, I finally had a model that I could begin to design around. I started by creating a quick lofted part that would stand in (just visually) for the saddle's exterior surfaces:

Then I placed the saddle (my lofted exterior + Direct Dimension's underside) into an assembly in Inventor, and added a carbon fiber seatpost to connect to. 

At this point I'm finally ready to start designing. I begin by creating a new part in Inventor that represents the design space available for my lattice:

Then I bring an STL of the design into MeshMixer and make the mesh way, way less precise. This process involves selectively remeshing (and reducing the mesh quality of) face groups one at a time. Eventually I'll record a time lapse video of the whole thing, but for now you can see a little of the process below:

From this low resolution mesh I'm finally able to create my lattice. I export an OBJ file, bring it into nTopology Element, and create a surface lattice with beams at each one of every triangle's edges.

Next, I create a volume lattice on the inside of the part. I've chosen a large cell size and a vertex-centroid cubic cell structure. When I generate the lattice, nTopology Element only creates the lattice cells whose centers fit within the part. In order to make sure the whole volume is at least partly filled, I step the volume lattice out a few levels, and then warp it to conform to the volume. Then I trim the outlying cells, leaving only the beams that lie fully within the design space.

Now I go into the lattice utilities and set the surface lattice as an attractor. I select the volume lattice as the one whose nodes I want to move, increase the snap range to 50mm and valence to 5 (I want basically all of the volume lattice's nodes to move, except those that have 6 connections), and then move the nodes:

Now I've got a merged structure: A surface lattice and a volume lattice, and they share nodal connections so the whole thing is tied together. I'm ready to thicken the lattice and see what it actually looks like. As before, I've added attractors in the areas where the design has mechanical features. I set the thickness range from .5mm to 1.2mm, and let it run:

Here, you can see both the internal and external structures:

spencer-wright-saddle-fixture-lattice-model.gif

And here it is with the saddle and seatpost attached:

As it's designed now, the lattice part is 18141 mm^3. In titanium 6/4, the weight of the part is 81.76g.

That's light.

Now, this part still isn't really manufacturable - there are too many overhanging faces. It also hasn't been run through FEA, and its distribution of mass probably needs some adjustment.

But it's a pretty good start :)

More soon.

Remeshing wishlist

Added on by Spencer Wright.

So: I need to reduce overhangs on my lattice stem design. As you can see here in MeshMixer, there are a lot of them (highlighted in red/blue):

(Incidentally: If you know of a really easy way to measure the surface area of unsupported faces in an STL/OBJ, let me know! Right now I'm doing some crazy stuff in Blender (thanks, Alex) but I'd love a one-step process if there is one.)

Now as you'll recall, I'm generating these beams (and varying their thicknesses) in nTopology Element, but the method I'm using starts by looking at all the edges in an STL/OBJ that I create in MeshMixer. When I go to generate the lattice (in Element), a beam is created on every triangle edge of the mesh (which I created in MeshMixer). So if I want to control the orientation of the beams in the lattice, I really need to start with that input STL/OBJ.

But here's the thing: remeshing algorithms tend to prefer isotropic (equilateral) triangles, which result in a *lot* of beams that are oriented parallel to any given plane (e.g. the build plane). They also prefer nodes that have a valence close to 6 (valence refers to the number of other nodes that a given node is connected to).

This is mostly because most remeshers assume that you want to preserve features - a reasonable assumption, in general. But for the vast majority of my design (basically everywhere except the clamp faces and bolt hole features), I care *way* more about eliminating overhanging faces than I do about feature preservation.

Over the next week, I'll be playing with the underlying mesh a bunch more and trying to find a way to reliably reduce overhangs in my end design. Specifically, I'm looking at remeshing methods that result in:

  • Anisotropic triangles, specifically ones whose orientation I can set as a global variable. I want my triangles to be longer than they are wide/deep.
  • Nodes with valences <6. This will essentially reduce my beam count (I think).
  • A mesh which is adaptive (as opposed to regular), so that I can preserve my mechanical features (high density mesh) and still reduce beam count elsewhere (low density mesh).

I'm also interested in using some curved beams (especially in the clamp areas), but that's prioritized below the things above.

More soon!

Gemba NYC

Added on by Spencer Wright.

A collaborative center for the advancement of industrial additive manufacturing

Over the past two years, I've been blessed to work with some of the most forward thinking, intelligent people in metal additive manufacturing. Their industry knowledge - and their willingness to hold my hand through the product development process - has given me a huge leg up in my own efforts.

More broadly, though, I believe that the metal AM industry does a poor job of working with independent designers. The product development process is unnecessarily opaque, and the industry's focus on a few huge clients has produced an IP framework that actively discourages new applications of metal AM.

I believe that there should be a new model for product development - one that offers more openness than most job shops can handle, and that doesn't require the big up-front investment required to build internal capabilities. A place where ambitious manufacturers and designers can learn the workflow and toolchain hands-on. A place for startups to test new software and hardware solutions for AM.

Gemba refers to the lean management practice of spending dedicated time on the shop floor, going through the manufacturing process step by step in order to appreciate, understand, and eventually improve it. I believe that hands-on involvement, collaboration across the additive supply chain, and an open perspective towards intellectual property is the best way for the industry to truly advance. Gemba NYC is the place for ambitious companies to do just those things.

At the moment, Gemba has no official home or launch date, but I'm working hard to change that. I'm also actively looking for founding partner companies - organizations that want a better way to establish or improve their additive manufacturing capabilities. If this sounds like you, sign up for updates below - or email me directly to get involved now.

My writing in Metal Additive Manufacturing Magazine

Added on by Spencer Wright.

I'm extremely proud to say that my writing is featured in the current issue of Metal Additive Manufacturing Magazine. The article summarizes much of my work over the past two years, and includes many of my thoughts about how the industry can be better in the future. You can read the full article here.

Thanks so much to Nick Williams and the rest of the Metal AM for asking me to contribute!

Lattice design workflow, part 3: Integrating full mechanical features

Added on by Spencer Wright.

Note: As before, thanks to Bradley Rothenberg (of nTopology) and Ryan Schmidt (of MeshMixer/Autodesk) for their continued help on this workflow.

As documented previously (1, 23, 4), I've been working on a multi-step workflow to create printable lattice structures for mechanical parts. In earlier posts, I described some of the techniques I used to generate the lattice itself, and at this point I'm ready to refine the mechanical features and evaluate the end result.

I've made a few changes to my remeshed surfaces since my last post, so I start this process today in MeshMixer. Here I've got three parts: The stem body itself, a surface that's designed to reinforce the threaded portions of the faceplate bolt holes (this is mostly hidden inside the stem body, but you can see its border still), and the faceplate itself. 

From this, I export three separate OBJ files and import the into nTopology Element. There, I generate simple surface lattices: each edge in the OBJ is turned into a beam in the new lattices.

Next, I create a set of attractors that I'll use to control the thickness of my lattice. The locations of these attractors were taken directly from Inventor; I know the XYZ locations of the general areas that I want to thicken, and so put the attractors right where I want them. Then I control each attractor's size and falloff curve to thicken just the areas I want. In the shots below I have every attractor on a cosine falloff; the bolt attractors are 12mm in size, and the clamp cylinder attractors are just a few mm bigger than the diameter of the cylinder.

Once I've got the attractors set up, I go through each part and thicken the lattice. The grey appearance is just where nTopology is showing me a wireframe, and the density of the mesh is really high:

You can see here that each part has some degree of variation in its beam sizes. In the bolt areas the mesh is dense and the beams are thick; in the middle of the stem body the mesh is sparse and the beams are thin.

At this point, I export each of the three lattices and bring them back into MeshMixer. Here you can see them overlaid on the original meshes:

Now, I import meshes that correspond with the mechanical features I want to preserve in the part. I've taken these directly from Inventor: I created an assembly file containing the original IPT and then created a new IPT that refers directly to the mechanical features. I export that as an STL, bring it into MeshMixer, and then select it and flip all of its normals so that it's inside out. Here you can see those boolean parts - first as red bodies in Inventor, then as meshes in MeshMixer, then as inside-out meshes:

Now I select the three lattice objects, combine them into one, and run the inspector tool and fix all of the mesh problems. Then I run "Make Solid" on the whole object. I run this in "Accurate" mode and turn the "Solid Accuracy" and "Mesh Density" settings *way* up in order to keep the whole thing smooth:

Now I've got a single lattice object that's fully solid and ready to have its mechanical features taken back out. Pretty rad. I combine the lattice and the mechanical features into one object and run "Make Solid" again, again at high density and accuracy:

I select the result, run the Inspector tool, and fix any errors. Then I look around the lattice and evaluate it. Inevitably there are a bunch of areas that are cut off, thin, or chunky - places where the lattice was thin once the mechanical features were removed, and the meshing operation rounded over the resulting isthmus. Unfortunately, that's not something that I can go back and fix; I need to move individual nodes back in my original lattice in MeshMixer. But at least I know that now, and going back through the workflow actually isn't as painful as it sounds. And anyway, the part that I have now is actually pretty good:

I should note here that I got a *lot* of help on the Boolean operations from Ryan Schmidt. Ryan also recorded a full video showing how to reintroduce the mechanical features even if you didn't have the ability to create them in Inventor. Although I went a slightly different route, there's a lot here that's super useful - and it shows the really powerful features that are built into MeshMixer:

Now that I've gone through the full process from start to finish, I see a few aspects of my design that still need some work. I also know that I still need to reduce the number of overhanging features in my design (which will probably be built on its end, with the handlebar side up). I'm also excited to test out the lattice utilities that are built into the most recent build of nTopology Element - especially in the area where the handlebar bolt reinforcements interface with the rest of the stem body. Bradley describes the process here:

I also, for what it's worth, need to do some actual FEA on my part. But by focusing on a repeatable workflow for even designing parts like this - and keeping a mind towards some basic manufacturability constraints - I've got something here that shows some promise. More soon :)

DMLS vs EBM titanium parts

Added on by Spencer Wright.

Note: Below, I use the term "DMLS" to refer to laser metal powder bed fusion. Some will have issues with this usage; I encourage readers to ignore the (possibly trademarked) terms themselves and focus on the information contained within them.

Over the past few months I've spent a lot of time trying to determine whether DMLS or EBM would be a more suitable technology for the titanium bike parts I'm working on. Early on (in my collaborations with DRT and Layerwise) I focused on DMLS, and more recently I've worked with Addaero on EBM. These two technologies are in many ways complementary, and in truth I expect to work with both of them - but their design constraints and total manufacturing process chain are a bit different, and I wanted to spend some time understanding how that will affect the cost and quality of the parts I'm working on.

In the video below, I show some of the basic differences in surface quality and support structures. Of course there are many other factors that are worth exploration, starting with minimum feature size and built-in stress, probably; I'll get to those in future updates.

This video gives an overview of the differences between DMLS and EBM titanium parts. I show basic surface finish characteristics, support structures, and support removal.

Incidentally, I'm *really* interested to see the differences between DMLS and EBM in printing the lattice structures I've been working on. More soon :)

More workflow details

Added on by Spencer Wright.

The other day I got a nice email from Xavier Alexandre, which included a few good questions about my update from last week. His questions are here, along with my answers:

XA: It isn't entirely clear for me what guides your remeshing from a mechanical/strength optimization point of view. I get that you are trying to optimize for stiffness so you're trying to maximize the stem virtual hull volume. But this global shape is set at the beginning of your workflow in Inventor. Then you're trying to have an higher lattice density around the mechanical features but how did you set on edges length or thickness. Is it based on gut feeling? If so, do you feel that there will still be a lot of room for weight/mechanical properties optimization?

Yeah - you could definitely call my process "emergent." I know that my minimum practical beam size is going to be something greater than .6mm (the exact number is unclear and will require testing). I know that I want to minimize overhanging features, and that it'll probably be appealing (from a cost perspective) to build the main stem body on its end, so that I can pack more of them into a build plate. I also know that the clamp areas will need some significant surface area in order to not, for instance, damage a carbon fiber part that they might be clamped to. I also know that the threaded bolt holes (which will be M4, but which Inventor exports as 3.2mm diameter smooth holes) will need a minimum wall thickness of about 1mm, and will really want more than that. And I know that the heads of the bolts will similarly need a bearing surface of about 1mm, and that both the bearing surface and the threaded hole will need to be reinforced back to the rest of the structure in order to distribute the clamping load on the part.

In short: Yeah, it's mostly gut at the moment. But to be honest the biggest constraint right now is manufacturability; I need the lattice to be oriented so that it won't require support structures *everywhere*, and am focusing mostly on that at the moment. Once I've got that (and basic mass distribution in areas that I *know* will need it, e.g. bolt holes) mostly solved, then I'll move on to FEA. nTopology Element has an FEA solver built in, and you can feed the results back into the design so that overstressed areas get reinforced. I'm definitely excited to get there, but for now I'm focusing on making something that a job shop will be willing to make in the first place :)

XA: I didn't get the part with the interior Oct-Tet volume lattice at all. Is it gonna be merged with the exterior lattice? A lot of these beams will be surprisingly useful once the whole part is put together Huh?

Exactly - the volume lattice (which is an oct-tet topology - see this paper for a better description than I could ever give you) will be booleaned with the surface lattices to create one structure. If you look at that volume lattice on its own,  you'll notice that there are some stray beams that don't appear to be doing anything - they stick out into the middle of nowhere, and don't appear to be taking any load. But when you merge the volume with the surfaces, the situation changes, and those beams might be more useful than you would have thought.

As it happens, I've been focusing more and more on surface lattices in the past few days, as they're a bit easier to control explicitly - and the changes that I make are easier to immediately grasp the effects of. The "generate multiple individual lattices and then merge them at the end" workflow really isn't optimal for this reason: it takes way too long to understand what the finished structure will work like.

XA: You won't have skins in your design. I guess that for the stem to fit handlebars and steerer tubes you'll need the contacting beams to match the tubes curvature. Did you plan to design the beam shape for this or is it something you'll let for post processing. If so, do you plan to make those beams sturdier to account for grinding?

I'd *love* to bend the beams around the clamp area, actually. Right now I don't have a convenient way of doing that, but I'm looking into it. Either way I'll boolean out the clamp regions before printing, so I shouldn't need to grind away much. 


As you might expect, my thoughts on this workflow are changing as I use it more. It's a rather finicky process, and I'm eager to industrialize it a bit - and improve the areas that are most difficult to reproduce.

More soon!

Photos from NYIO's trip to the MTA's Coney Island Complex

Added on by Spencer Wright.

The other day, the New York Infrastructure Observatory took a tour of the MTA's Coney Island Yards. I had heard that the Coney Island Yards were *the* thing to see in the MTA's vast array of locations and properties, and was thrilled that they were able to accommodate us.

You can read more about the Coney Island Complex in the tour announcement email, and sign up to learn about upcoming tours here.

Note: Most of the photos below have descriptions, which you can see if you click on them :)

Thanks again to the MTA for hosting us!

Photos from a noodle factory

Added on by Spencer Wright.

This past August, I visited Tsue Chong Co, a noodle and fortune cookie factory in Seattle. Most of this is pretty self explanatory, but I figured it was worth posting on a Friday for fun :)

They had two methods of making fortune cookies. Here's the older machine:

A video posted by Spencer Wright (@pencerw) on

And here's the newer, modern machine:

A video posted by Spencer Wright (@pencerw) on

They also made rice noodles. The process is a little hard to see here but it's basically a big steamer that congeals the rice slurry as it is fed through the machine:

A video posted by Spencer Wright (@pencerw) on

And a few photos of the rest of the shop, including their wheat noodle production process:

Manufacturing, huh? Happy Friday :)

The beginning of a workflow

Added on by Spencer Wright.

Note: Special thanks to Bradley Rothenberg (of nTopology) and Ryan Schmidt (of MeshMixer/Autodesk) for their continued help on this workflow. Also, both of them make awesome (and very weird ;) software that you should check out.


A scenario: You've got a part that you want to manufacture with metal powder bed fusion. You've got a few mechanical features that you know you need (to mate up with other parts in an assembly) and a general sense of the design space that's available for the part you're designing. You know the mechanical properties you need (via an ISO test that the part needs to pass) and you've got a target mass (which is basically "less than the competition"), and a target cost (which is basically "similar to the competition, taking into account a ~35% margin for me").

I've spent a lot of the past week going back and forth between Inventor, MeshMixer, and nTopology Element, trying to make a 3D lattice structures that are both mechanically effective and easy to manufacture. My workflow has been decidedly emergent, and it's also been counterintuitive at times; I've often found myself working backwards (away from my final design intent) in order to create the conditions where I can make progress down the line. My end goal is to design a bike stem that's sub 125g and which has minimal post-processing costs and requires minimal support structures (I'll deal with the actual dollar cost later, as it'll depend on a bunch of factors that aren't under my direct control).

I've got 27.7 cubic centimeters of titanium to play with. Where do I put it?

I began in Inventor. Setting up a design space is, counterintuitively, kind of a hard thing to do. Very few parts that I've designed have hard and fast design space boundaries; most of them could always be a little bigger, or a little smaller, and the rest of the assembly would stretch or squish to accommodate it. Nevertheless, I need to start somewhere, so I created a T-spline form that was close to what I thought I'd want:

I export it as an STL at low resolution (where we're going, resolution doesn't matter :) and bring it into MeshMixer:

From here, things start to get complicated. The way I see it, this part essentially has three components: 

  1. The mechanical features. This includes the two clamp cylinders (one, the handlebar clamp, is 31.8mm in diameter and split; the other, the steer tube, is 28.6mm and slit along the back side) and the four bolt holes (all M5, and all with one counterbored part and one threaded part) that do the clamping.
  2. The design space's exterior surface. In general, the stiffness of the part will be determined by how much volume it takes up, and I should generally make the part as stiff as possible. Therefore the exterior surface of the part is going to be made up of a big non-Euclidian 2D lattice.
  3. The volume of space between the mechanical features and the exterior surface. I'll want some bracing here to tie the whole part together and transfer loads from the mechanical parts over to the exterior lattice.

For this design, I'm using lattice structures throughout the part. I won't design any skins (I'm generally anti-skin, unless you've got fluid separation requirements in your design), instead opting to let the lattices vary in density from zero (in the middle of the part) to 100% (in areas like the threaded and counterbored bolt holes). 

Because the different surface regions of the part (the mechanical features and the exterior surface) will have different mechanical requirements, I begin by duplicating my lattice in MeshMixer and isolating each of them in its own object:

I then go through each region and remesh it in MeshMixer. A few notes here:

  • I generally begin by remeshing the entire object at a medium-high resolution, just to get rid of the dense lattices that Inventor creates at edges and small fillets. 
  • I then choose the area that I want to be at the highest resolution (which is almost always lower than the one I chose in the first step) and remesh it. On the part's exterior, that was the bolt counterbores.
  • Then I work my way down to the lowest resolution areas. On the part's exterior, I targeted edges in the 15mm range, but I play around with the remesh settings a *lot* until I get something I like.
  • Then I'll go back and find areas that are still a bit high-res and remesh them again until they look good. There's a bit of back and forth here, and I haven't really figured out a one-size-fits-all workflow yet.

I DON'T worry about geometric accuracy much during this process; I assume that I'll need to clean up the geometry at the end (after I've generated the full lattice structure - more on this in a future post) anyway.

Then I export the lattices as OBJs, bring them into nTopology Element, and see what they look like:

At this point, I decided that I really wanted to stretch the entire exterior lattice out so that more of the beams would be horizontal. The part will probably be built on its end, so these will be easier to build as a result. So I go back into MeshMixer, transform the part down (it happens to be the Z axis here) by 50%, and remesh the outer skin. Then I transform it back up to 100%, stretching everything out.

As you can see in the last few shots, the lattice has been stretched significantly. I've also remeshed a few of the higher resolution areas individually, evening them out a bit. Back in nTopology Element, you can see the difference between the old lattice (the last shot below) and the new one:

Meanwhile, I've used nTopology element to create (and warp) an Oct-Tet volume lattice for the interior of the part. This may look odd (and to be sure it needs some work) but a lot of these beams will be surprisingly useful once the whole part is put together. The red stuff here is a zero-thickness representation of the mechanical features' lattice structures; the white/yellow structure is the volume lattice:

When you put the whole thing together, it starts looking pretty good:

Now, there's still a lot wrong with this. There are a *lot* of overhanging faces. The threaded bolt holes aren't very well connected to the outer mesh, and there's probably too much material on all of the flat faces (where the slits/slots are). I'm also over my mass target - my total is 34.1 cubic centimeters, and my target was 27.7.

But there's a lot right with the design, too. My beams are about the right size throughout, and I've been able to (more or less) distribute my mass where it will matter most. And while the aesthetics of the part aren't exactly what I'd like them to be, they're not far off either. 

So, a few things I need to work on:

  • First, I need to make overhanging faces easier to eliminate. Some part of this *needs* to be happen when I remesh a surface (assuming I'm using the surface topology to determine the lattice topology). Ditto with volumes - I need to be able to stretch the lattice out so that it isn't horizontals all over the place.
  • I also need to be more careful about directing my volume lattice where it'll be more effective. It's possible I should break it up into a few regions - some near the mechanical features, and one in the middle of the part - but I'm concerned that if I do that, I'll never get the two to tie together. Either way I need a denser volume lattice at the bolt holes, and I need to be able to tie the volume lattice beams up to the other regions of the part.
  • I should probably play with modifying my mechanical features back in Inventor to make them more conducive to lattices. This might involve warping the clamp cylinders somewhat to reduce overhanging faces... or drilling the threaded holes through the part so that they connect to the exterior surfaces... or puncturing the flat faces so that they aren't as massive as they are in the current design.

Clearly, there's a lot to do here still. But I'm beginning to get the hang of this workflow, and hoping to have some printable (and extremely lightweight) designs to make soon :)

Quick & closer

Added on by Spencer Wright.

From the end of the day yesterday:

This is still not manufacturable, and is still missing all the mechanical features too. But it's getting there! By combining a skin lattice (which my part definitely needs in at least some regions, for instance the clamp faces) and a minimal, bonelike volume lattice, I hope to be able to create something that's significantly lighter than a comparable tube-to-tube (e.g. welded) structure.

The next step, I think, is to reintroduce the mechanical features (at least some of them) into the model *before* I remesh the surfaces. I would really want the mesh density to be created relative to the kinds and intensities of the forces that the part is going to be under: for instance, all of the bolts and clamp faces will want higher density meshes around them, etc. At the moment my best bet is to do that manually, by selecting areas I want to be at higher densities and just remeshing them to suit my intuition. 

More soon :)

Remeshing

Added on by Spencer Wright.

I get the feeling I'll be doing a *lot* of this in the coming month:

Here I've taken an STL from Inventor and brought it into MeshMixer, where I'm remeshing the outside skin. I'm doing this so that I can then create a surface (as opposed to a volume) lattice in nTopology Element. If I tried to create the mesh directly from Inventor's STL, it would be much to fine and have a bunch of artifacts from the way that Inventor processes T-Spline surfaces (Inventor breaks the surface up into panels, and then subdivides each one individually - you can see the panel boundaries in the beginning of the gif), and would also be *way* too fine to be used as a scaffold for a surface lattice. By remeshing at a lower resolution - and playing with MeshMixer's remeshing settings a bit - I can get to a topology that's way better.

The design that I'm pointing towards here still isn't manufacturable - and is missing a bunch of mechanical features that the end part will need too - but it's starting to come together a lot better:

Special thanks to Ryan Schmidt (of Autodesk/Meshmixer) and Bradley Rothenberg (of nTopology) for pointing me in this direction - and for helping me out with the even cooler stuff I hope to do in the next week :)

What I'm working on

Added on by Spencer Wright.

Ada and I got back from our honeymoon on Wednesday evening. It was really great to unplug a bit over the past month (aside from the first few days of October, I really haven't worked much this month), and between yesterday and today I'm spending a little time reprioritizing the backlog I was chewing through in September. Here are the things I'm focusing on in the next few weeks:

  • An explainer post (with video!) on the practical differences between EBM and DMLS. This is something I've been meaning to do for a little while; I think it'll be a good exercise for me and useful for a *lot* of other people.
  • A functional design for a titanium bike stem that implements lightweight lattice structures. I ran through some initial designs in late September, but they're not printable yet and will require at least a few days worth of design work on my end - plus help from a few others, including my friends at nTopology - before I have something that is manufacturable. Once I get there, I'll run a few prototypes and put them into service.
  • A short study on surface treatment options for EBM parts. I'm looking primarily at micro machining, isotropic superfinishing, and wet blasting, and will be comparing methods on cost, aesthetics, and the resulting mechanical properties of the part. I'm doing this on the seatpost parts that I got from Addaero recently, but hope that what I learn can be applied to other parts in the future.
  • An integrated seatpost + saddle frame design consisting largely of a lightweight lattice. I hinted at this recently, and have been working with Direct Dimensions to get a saddle shell modeled in a way that I can base my design off of. I'm also looking a little more into building a fully custom carbon fiber saddle shell, but that's a little further off.

I'm also thinking about a few longer term things:

  • More thoughts on "optimization." As a product manager, I want tools that will help me balance quality, cost, and speed to market. I find that most design software misses the mark on this, and I'm working on a blog post that points to a better paradigm.
  • Building a real product development shop in NYC - a place where people like myself can use both additive and subtractive manufacturing to build engineered products. This is something that's close to my heart, but it's also a longer term undertaking; it may be a little while.

More on all of this soon.

Guidelines for The Prepared

Added on by Spencer Wright.

My weekly manufacturing newsletter, The Prepared, has grown significantly in the last few months. I had more signups in August than any month before, and I've been proud to recognize more and more of my subscribers for having done work that I've admired in in the past.

As it's matured, I've gotten a bit better about knowing what I - and my subscribers - want from it. Here are a few guidelines I use currently:

  • Be focused. While I might fancy myself capable of commenting intelligently on a wide range of topics, the fact of the matter is that while people will appreciate the "manufacturing guy comments on other random subject" link, they won't love the "random guy comments on whatever he wants" link. 

  • Have a voice. I'm with Joe Biden on this: No matter how well it pays, I don't want a job that doesn't allow me to be me. 

  • Be pithy. I tend to pontificate, but this is a weekly email. Try to keep it short.

  • Be warm. I tend to be skeptical of things I don't have personal experience, but the point of the newsletter is to connect people with interesting stuff. Where appropriate, show a little enthusiasm :)

  • Differentiate yourself. I subscribe to a few great newsletters (check out Jon Russell's, Reilly Brennan's, Alexis Madrigal's, and Benedict Evans's), and will definitely repost stuff that those guys share. But ultimately it's good for me to have my own niche, and defining myself in opposition to them helps make The Prepared better and more useful to my subscribers.

  • Don't stress the format. The categories are useful for organization, but they really don't matter that much.

  • Attribute links where it makes sense. This is a tricky one, especially because my workflow (which is 90% Pocket, 10% IFTTT+Gmail) doesn't make it easy for me to remember who sent me what. As a result this ends up being mostly driven by practical constraints, like whether or not the person who sent it could use a shout out, and whether or not they have a web presence that I can link to, and how well publicized the thing they sent me was. Not exactly a science, but I try.

  • This is a weekly email, but the actual day I send it out doesn't really matter. Some people may feel differently, but my rule is that I need to send it "sometime in the weekend," and I define "weekend" liberally.