Page 1 of 1

Part dimension correction

Posted: Mon Jul 06, 2020 12:58 pm
by bdrmachine
Where do I correct for a part that is modeled correctly but prints undersize? I have a hole in a part that needs to be 35mm. I need to increase the modeled dimension to get this to work properly. Is there a setting in Ideamake to correct this so I don't have to change my models?

Re: Part dimension correction

Posted: Mon Jul 06, 2020 2:18 pm
by Jetguy
I would generally say no, there is no setting for an inside hole in slicing.
This is found in more forum posts than I can count and in every brand and model of consumer 3D printer and slicing software. ... -designed/

Let's take a few moments and understand why this happens in the first place.
#1 in current 3D printing firmware and gcode (hardware side) and STL or OBJ model and slicer (software side), circles and curves are represented as multi sided polygons not true curves. At the most fundamental level, this already forces points or intersections well inside your your round hole at the point of exporting the model from your CAD application. In other words, before you even begin the 3D printing process, the STL or OBJ you exported is technically already undersized due to limitations in the format.

#2 Then, we get into the fine tuning of extrusion width, the fact that a lot of people have nary clue one how to set extruson volume, measure filament diameter, correctly calibrate a printer specific to that filament, yeah, sure, on it's BEST DAY, FDM printing should be considered a highly variable process. At best I consider at least a nozzle width of error typical. In other words, if you have a 0.4mm nozzle, expect dimensions to be off by 0.4mm in some way, shape or form. Possibly 2X greater in bad cases. And sure, one could spend massive time and effort to fine tune a slicing and printer profile to reduce that, but just keep in mind, you fix one thing and break another. If you compensate for inside dimensions, you most likely throw off by a significant factor, outside dimensions.

#3 Plastic shrinks as it cools. Not to mention, the fact that FDM printing by definition is a loosely controlled process. You squirt hot liquid plastic out of the nozzle, kind of squish and drag aand spread that flow wider for better contact to previous and adjacent threads for bonding, meanwhile nothing controls the width like a hard edge of a mold. So the still liquid plastic, affected by gravity, surface tension, even internal stresses and then the shrinkage factor of the polymer change as it goes from liquid to solid can pull and shift the final position of that plastic compared to the original nozzle path. Since this is not fully predictable behavior, how could one modify the nozzle path to compensate and ensure that compensation isn't applied to OTHER areas where such compensation would actually cause dimensional offsets.

#4 Last, most free slicers don't have clue one what defines an inside hole. That's why there is no setting to compensate, while you a human can define and differentiate an inside hole shape that might be critical dimension wise, it has no way to define and calculate a nozzle path offset.

Re: Part dimension correction

Posted: Mon Jul 06, 2020 2:38 pm
by Jetguy
Also note, suggestions like increasing the number of polygons when exporting has pros and cons and MOSTLY cons.
The more polygons you export, the harder everything ELSE has to work to then process that file. The slicer may choke and slow down and take forever creating the gcode file. The print file will be massive and thus more prone to problems including transfer issues, and the poor firmware in the printer has to choke and try to execute this massive amount of lines of gcode.

There are even test prints that were developed by users to show and define system limitations caused by highly segmented designs and resulting gcode files. ... ing#p26989

In fact, in this post, I showed how the exact same gcode could both invoke a problem when printed normally across USB interface, but then when printed with direct SD card access by the motion control firmware, that limitation was reduced. ... ing#p27238

The point being, even increasing polygons only affects one half of the equation. You have a slightly more precise but still, no matter how you look at it, undersized hole in the stl when going into the slicer software. It's still undersized, just less than before.

What I'm trying to say is:
" Is there a setting in Ideamake to correct this so I don't have to change my models?"
No, your best bet is to modify your CAD design and know this when designing in the future for 3D printing. Expecting the slicer to first identify possible inside holes and apply some form of compensation has not yet become commonplace.

Re: Part dimension correction

Posted: Mon Jul 06, 2020 2:46 pm
by bdrmachine

You seem well versed in things 3d printed. You must have that van all tricked out with power and internet.

Thanks for the reply!

Re: Part dimension correction

Posted: Mon Jul 06, 2020 2:48 pm
by Jetguy
If you want to jump on a tuning your machine thread, I would suggest maybe reading here and going through the entire topic and links provided in the answers.

In general, I do all the above when commissioning a new printer. I get and fine tune my system so that it correctly follows the commanded gcode, and then that my slicer profile is fine tuned to result in the correct volume produced for a 100% infilled cube.
Then after I'm at that point, we can then move on to worrying about final dimensional accuracy, then possibly cross check volume accuracy yet again if any changes are made to correct for dimensions.

Why that order? Because, of all the axis and least understood when people start off is how the extruder actually works. The other axis (XYZ) use precision components that more or less ensure pretty good accuracy. The extruder has to grip filament wire, feed it an exact distance, and do so over and over and over again- through retracts and forward feeds, over and over. Getting extrusion volume right, getting the fine tuning the hardware as a baseline, fine tuning the profile for volume accuracy means the printer is more in tune with the 3D slicing seeing the model in virtual 3D space. Now that we have a baseline of the things most likely to be off, then we can fine tune other settings and dial in dimensional accuracy that attempts to compensate for specifics of a given plastic.

Re: Part dimension correction

Posted: Mon Jul 06, 2020 5:31 pm
by Jetguy
FWIW, poking around in the version of Ideamaker on this computer, they seem to have added a feature. I personally have never used this feature, nor am I likely to.
Now how well it works??- I cannot vouch for in any way shape or form. Maybe it works, maybe it doesn't.
I still stand by my advice. You have to start somewhere, that somewhere is getting the printer and your profile to a baseline calibration. The printer hardware has to follow the gcode exactly- and i'm not talking about measuring print results, I'm saying you command 100mm of filament, it better send 100mm of filament. You command the nozzle to move 100mm, it moves 100mm.
From there, you calibrate outside dimensions on the largest object you can print (roughly 300mm). Calibrating dimensional accuracy using only a 20mm cube, to me that's asking to actually increase error, not remove it, but there it is.
Regardless, we already have the known fact at the point of export your STL file is technically undersized- even for other than 3D printing due to limitations of the structure of an STL. Thus in my mind, when starting someone out who is learning both CAD and 3D printing/CNC, then the "right" answer is compensate in CAD so that your exports are more correct for whatever processes (3d printing or CNC) you might send that STL to and expect a perfect result. To solely lie on some slicer (CNC CAM) setting to detect an internal hole, and then somehow auto magically know what the correct compensation is, I think that's a stretch.
Ideamaker dimensional compensation.jpg

Last, let's talk about part strength.
A highly accurate 3D dimensional part is likely to also suffer from less than possible part strength. The fact is, the 3D printing additive process, where we lay a hot layer of new plastic over a previous layer has limitations in the bond to those adjacent and underneath previous threads of plastic. Ultimately, there are voids or air space of no bond at all. If you slightly over extrude and flow more plastic as the nozzle moves and thus squishes that hot noodle of plastic more and attempts to fill those void spaces- strength goes dramatically up. We simply have more contact area and more forces involved all resulting in more plastic and more bond. The flipside is, over extrusion also results in poor dimensional accuracy. In other words, we lose control of the outer edge of this plastic flow, we are intentionally squishing and deforming but the plastic has to go somewhere right? So again, in 3D printing we have tradeoffs. You can fine tune for dimensional accuracy by less deformation, thus less variability, at the cost of layer to layer bond strength. Altyernately, you can over extrude forcing maximum density and layer bonding strength, with a poor surface finish and dimensional quality.
This is why on actual high end and large additive manufacturing systems like the BAAM, they intentionally print oversized, and then machine away the excess as a multi step process.

In the casual user advice here, I recommend a similar process. You print as sized (thus purposely undersized holes) and possibly over extrude. You go back with light hand tools and drill and ream, maybe sand down, file, or whatever is required down to your dimensional accuracy. This results in a much stronger part, much more durable.

Re: Part dimension correction

Posted: Mon Sep 21, 2020 1:02 pm
by all1
Basically all said is correct @jetguy. Thank you for the response.