CDFAM NYC 2025 · New York · 29 October 2025

Simulation and Optimization for FFF/FDM Printed Parts

Abstract

Additive manufacturing with FFF/FDM 3D printing has long struggled to optimize toolpaths for better structural performance. Traditional slicing software failed to fully take advantage of material anisotropy, missing opportunities to boost strength and stiffness. Novineer’s toolpath optimization software changes this by maximizing material properties through tailored print paths based on load paths, resulting in a 60% increase in structural stiffness without changing the geometry.

Transcript

From YouTube’s automatic captions, lightly cleaned; expect some errors. Each timestamp opens the video at that moment.

Read the full transcript · 3,155 words

0:01 Good afternoon everyone. I’m Ali Tamijani, co-founder, CEO of Novineer. I’m also a professor of aerospace engineering at Embry-Riddle Aeronautical University. I’m very sorry for my voice. I got cold about a week ago, but then this weather is not very friendly for me. I’m from Florida. So, a little bit. So, the the discussion today is going to be about Novenir’s tool pathbased design and simulation. But before that, let me give you an overview of Novenir.

So come on please. Then the Novineer technology has been developed from funding that we received from air force NSF office of secretary of defense and if I can close something here and we have shown the the fundamental in different journal articles and so inside now software we have these three modules Na’vi vision Na’vi design now path vision you provides one or multiple pictures and it creates an editable CAD file for you.

1:06 And Na’vi design apply loads, boundary condition, material properties. It provides optimized design that is again editable parametric and Na’vi path optimize simulate and optimize the manufacturing tool path. The one that is already developed and launched is for FFFDM but we are also working on on the version of it. So this is a short demo of how it works. So you take a picture provide that picture with create STL create STP and then then you can go to the next module apply loads boundary conditions and it optimizes the geometry and then can go to the next module and you provide material properties and it optimizes the manufacturing tool path.

1:49 Here here are some additional examples for for for example Na’vi vision and so here you can see you get both SDL and STP. This is another proof of concept that we did recently with a with a defense prime. So the the or baseline design is a a tank wheel hub. The baseline design plus the load were given to us. There were not any manufacturing specifications that were given to us.

2:16 The goal was show us that it can be lighter than this and and over there you can see the the multiple designs that came out of Na’vi design 20% 30% 35% lighter while having the same performance meaning the same displacement same stress distribution but failure load same failure load as the as the original baseline design. So today’s discussion however is about about Na’vi path. So in in FFF FDM type manufacturing you often need if it works you often need the the the tool path.

2:59 And the reason the tool path is important is because if you change it it means you are changing now material direction. Therefore you are changing the mechanical properties and as a result you have a different performance. Right? And and before Novenir there was no software that would be able to get the tool path from slicer and then based on those tool path it would say like what is the failure load of this part or what is the deformation and or or how you should optimize this path to perform better and so so that’s why we we worked on this.

3:33 So so if there is no software that that is doing it or we’re doing it then then how how users in industry they are using FDM these are the two ways they do it either they they experimentally evaluate it right which takes days if not weeks building the fixture printing testing right or we have heard from several large OEMs during the last two years that the way they do it is they consider the weakest property and then they consider everything to be isotropic which means if you look at that table it means a factor of safety of three right which is like designing dishwasher not probably designing parts for for aerospace right so and and the reason is because there was again no simulation that would consider the the manufacturing path or the 3D printing path so the question is how FFF can scale if you can rely cannot reliably say how good this parties, right?

4:34 So, so that was the reason to do this to to do any type of design you you of course need simulation, right? And simulation require material properties. But here I’m not going to talk about material characterization. Here here the discussion is about simulation design and then show you all the validation verification process that we went through from printing to testing. And so these are the the topics that I’m going to talk about today.

5:03 The first the first one is the tool path based optim simulation. So you have the path how you do you do simulation. The second one is now optimizing the tool path and the third one is okay optimize geometry and tool path together. So a coupled optimization I’m not going to talk about geometric optimization when you have anizotropic properties when the properties are not similar in every direction.

5:26 Why not? Because first of all the result is bad as you can see here. Right? If you fix the path and only optimize the geometry, the result is bad. As you can see here in the last two, one and the second reason it doesn’t make sense. Why would you do that? Why would you only optimize the geometry and and do not optimize the path? Even if you are talking about conventional composits, why you would not optimize the the fiber orientation and only optimize the the geometry?

5:52 I couldn’t find a reason. Therefore, I’m not going to talk about it. So, the discussion is going to be about the first three topics. So let’s focus on the first one which is the simulation. So you have all of these filament inside your part. The way we do it is we break the filament to to various sections, right? And as you can see we have hundreds sometimes thousands of section depending on the part and then we find the the elements that they have the the center of element is within those section and then we assign the property from filament to the element for that specific section.

6:29 For example in that section A B C D all of them will have theta 1 orientation because they all located in that section of the of the filament. Then we can patch them several sections, put them together depending on how close the orientations are. But regardless of what we do, we are going to get at the end hundreds of thousands, sometimes millions of elements and and even if you use parallel processing, even if you use MPI, it’s going to take hours to be able to do these simulations.

So so while this assignment is not difficult, you can use even blind parallel processing to do something like this. But the actual simulation finite element simulation is going to is going to take hours. So the way we took care of it is by using these two resolution machine learning model. So what happened is okay now you assign the property now you go from fine mesh to coarse mesh.

7:24 You map the elastic modulus and other properties that you need. You map them to this coarse mesh. You perform finite element on the coarse mesh. You get the result. Then you use your machine learning to map it back to fine mesh. Right? The same methodology I heard there were there were a few talks about like sensitivity adjint the same methodology can be used for for sensitivity because the difficult part of adjint analysis is that FEA is similar to FA FA takes a lot of time so what you can do you can do it on very coarse mesh and then you can map it back to to the fine mesh to get accurate for example stress derivatives so so that’s the way we took care of the the high computational cost and then after that validation right so the first things we did was about the the coupon testing right so you have this path you have multiple materials so it’s not about one material you have still filaments but filaments related to to different materials and so you have different therefore material properties in different section and here you can see the computational experimental the results are published probably five five years ago yes five six years ago and And you see 223 megapascal versus u 226.

8:43 So close enough. We did a lot of other testing and validation. I’m going to talk about some of them today. But but let’s go to a recent one that we did with the stratus. So this was a blind experiment we did with the stratus. So we were given the the 3D printing path in different layer. We were given the geometry and and this is the the real environment that the part is being used and the question was where it’s going to fail at what load it’s going to fail right and some other simulation software when we we tried the same thing we had error up to 150%.

9:21 Right? So the question was how accurate this can model this problem. So these are the two load cases that were were given to us. The first load case is you can see the load is applied vert in both load cases the load are applied vertically but the part is is in different orientation. One of them of course is weaker than the other one. And then so so here you can see the the tool path and then the other data are coming from like the tip and other other things are coming from the grabcad and this is the the actual experimental testing.

10:00 And here you can see where the part broke and where the simulation is saying part is going to break. That was for the for the stronger one. And this is the weaker one. And again here you can see here the deformation. And then afterwards you will see the the comparison between the failure loads between the the two. So again for this one you see it’s saying it’s going to fail here.

10:25 And so here you see the failure loads for this these two cases. And for load case two you see the difference is about 5%. So great right? For the load case one, you see the difference is about 18%. It’s not bad still for simulation versus experiment, but it’s not great. So what’s the reason? The reason is because the part was loaded unloaded many times. So the reason is fatigue is something we didn’t consider in in our simulation.

10:51 Right? Okay. Good. Now you have a validated simulation, tool path based simulation. Now the next step is I want to optimize it. I want to optimize the tool path. Right? How should I do it? So in in in 2000 yeah this is showing how we get the path and then a little bit more information about the simulation. Let’s move on to this. So back in 2017 18 we we published an article about what is load path because in industry they they talk about load path like something that is known but we couldn’t find any definition for that like what is exact load path.

11:34 So we offer this definition a structural load flow is the component of internal load that is from or to where the boundary condition is or where the load is out. Okay. So based on that we came up with this hypothesis that in in every structure there must exist a load function that if you look at the contours of that load function the difference between the amount of function value between the two contours must equal the amount of load that is passing through that function.

Right? And we mathematically proved this and we showed how how this works. So if you have the stress distribution inside your part, you can take derivatives and then you can get the those those functions and then you can draw them. Okay, great. Now you have load path. Probably the best thing you can do is put exactly the filament on those load path because they will make sure the load is transferred from point of application to point of support as you will see in some examples.

12:36 But there was a problem. The problem is that the load path doesn’t have to be in one layer right and here we are talking about layer by layer as you manufacturing the load path depending on where you are applying the load can can be a curve right so if you have a kind of a robotic printer right then it’s possible as you can see for this case it’s possible to go from point of application the two top holes to point of support which is the two bottom holes but then if you’re using layer by layer manufacture ing 2 and a halfD type manufacturing then there is no way you can do that.

13:11 The the only thing possible you can do is try to connect the path in different layers as as I will show you later. Right? So then there are different scenarios depending on what manufacturing method you are using. The first step is to analyze the part to find out the the 3D distribution of the stress inside the part. Based on that get the load path but then after that the manufacturing specifications become important.

13:38 Based on manufacturing specific specifications either you will have this curved layer or you will have a straight layers in different different dimensions. So so here are are are three ways you can do it. The conventional way which is the first one right? This is the conventional way. You can find it in any slicer. Cura this is the way you do it right. So there are there are two conventional ways.

14:02 The first one is unidirection right whatever angle but unidirection. The second in different layer you can have different direction but in each layer unidirectional. The second way is boundary offset. So you can see both of them here in this case boundary offset and unidirectional. Now the other two are from novi path. So the first one if you design different path in different layers but still you can see you are going from point of application to point of support in each layer.

14:30 So for the first layer you go from to the first point of support in the second layer you go to the second point of support. If the load and the support are on the same layer, you are very fortunate. That’s the best case for layer by layer additive manufacturing. Then you can define this unified tool path which is going to be much better than changing it in different layer as you will see.

14:53 So how much am I going to gain from doing this? 60% improvement in a stiffness. Don’t change the geometry, just change the path. This is what conventional slicers can do and these are the two that we have done optimizing the tool path that’s huge right and you can also look at the the failure analysis look at the failure index where the weakest part is how you can make it stronger and all of that okay great you optimize the tool path and sometimes you don’t want to go further because if you change the geometry then there’s going to be design review design committees all of that right but if you have the luxury to change the geometry and tool path together that’s where this one will help right so the best way to do the the change in geometry is implicit and the reason is because it makes sure that the part is not going to break during the the optimization iteration and implicit means level set right so you define a function if you cut it at zero you get the boundary of of the part and then while the the math seems difficult.

16:05 It’s actually really easy. You use the Hamilton Jacobi, move it up and down using the velocity until you get to the to the right shape. Right? But but the important thing is that there are two parts here. Now the first part is the sensitivity with respect to the shape and the second part G2 is the sensitivity with respect to the path and that’s why it is a coupled optimization not just not just topology or shape optimization.

16:31 So the question is again how much would I gain? You already showed 60%, if I do both of them, how much will I gain? So here is a result for example that is again published and you can see that 90% improvement in stiffness. If you do both geometry and topology optimization and at some point we had this hypothesis that maybe doing topology optimization is not good because it it sometimes increase the singularity in the direction.

17:06 Direction suddenly changes because of all these different members that you have. Maybe shape optimization is better than topology optimization. We compared them. No, the hypothesis was wrong. Actually topology is better, right, than shape optimization. And at least with couple of tests that we did, we found out that the the topology optimization is much better. Here you can see the result for for the two, the topology and the shape optimization, right?

And sometimes u there is a discussion whether I should do a stiffness based or a strength-based optimization. Strength-based is of course much more difficult but much more valuable. Here is an example. Right? So the the this one is stiffness based that one is a strength based. You see why the stiffness when both designs are are kind of similar 103 96 the the failure load is completely different right 42 versus 96.

17:59 So two times better failure load if you do strength based optimization. So what is the next step for us? Building API right API with different slicers different 3D printing OEMs why because if we do that then you don’t have to upload the the model or upload the tool path or select material none of that all of that is can can be transferred from a slicer to to the to the software if you don’t need to optimize the tool path great the tool path is what you selected originally in the slicer and you just do simulation to see how good the part is.

18:38 If you want to change it, you can do the optimization inside our software and you can compare it with the with the original solution. Thank you very much for your time.

More from CDFAM NYC 2025

Design as Dialogue: Form Jamming with AI Agents

Design as Dialogue: Form Jamming with AI Agents

Matthew Goldsberry; Junling Zhuang · HDR

AI and the Battle for the Soul of Design

AI and the Battle for the Soul of Design

Chris McComb · Carnegie Mellon University

Assembly Configuration Spaces

Assembly Configuration Spaces

Sai Nelaturi · C-Infinity

Accelerating Metal-to-Plastic Conversion with AI, Implicit CAD, and Mesh-Free Simulation

Accelerating Metal-to-Plastic Conversion with AI, Implicit CAD, and Mesh-Free Simulation

Karthik Rajan Venkatesan; Neel Kumar · Eaton; Intact Solutions

Digital Twining a Living Lab

Digital Twining a Living Lab

David Gerber · University of Southern California

AI for Electronics Hardware Innovation

AI for Electronics Hardware Innovation

Pratap Ranade · ARENA Physica

Super-modular Chiral Origami Metamaterials

Super-modular Chiral Origami Metamaterials

Tuo Zhao · Princeton University

Origami Master

Origami Master

Alfonso Parra Rubio · MIT

Register for Updates and Discounts on CDFAM events.