brian442
Posts: 1243
Joined: Mon Nov 28, 2016 5:35 am

Re: Undersized holes

Ok, so the gcode matches the model perfectly, but you still want to be able to modify the position of the coordinates so that they differ from your original model? I guess I'm not sure why you wouldn't just make the change with the original 3D geometry itself.

If your flexible string of plastic isn't ending up where it's supposed to, how would that be any different on any other part of the model? You would see the same thing with other outlines, sharp corners, overhangs, etc. As others said, those are all just things you have to account for when you design a part for 3D printing.
Scott_M
Posts: 12
Joined: Sun Apr 09, 2017 11:31 am
Location: Ohio

Re: Undersized holes

brian442 wrote: I guess I'm not sure why you wouldn't just make the change with the original 3D geometry itself.
I do a lot of R&D prototype work for the real world. I may design a complex mechanism and want to rapid prototype a model or a portion of it to check proof of concept or whatever. Before machining the real parts and finalizing the design and turning in my models and prints to the customer.
So your suggesting that I make 2 models of everything ? One for the printer and the other for the real world. Why would I want to do that. But unfortunately I am. I have even started a cheat sheet to keep by the computer, It tells me how far off it is at certain diameters and slot sizes and I refer to it when designing the 2nd model for the printer. :(

Here's a thought, how about I just model it once to the proper dimensions and expect it to print correctly.

Scott
Last edited by Scott_M on Wed Apr 12, 2017 2:52 pm, edited 1 time in total.
upsm
Posts: 151
Joined: Sun Mar 12, 2017 5:37 am

Re: Undersized holes

brian442 wrote:Ok, so the gcode matches the model perfectly, but you still want to be able to modify the position of the coordinates so that they differ from your original model? I guess I'm not sure why you wouldn't just make the change with the original 3D geometry itself.
Because when you select a 5mm end mill cutter your G-Code will be generated accordingly and when you then do a pass with 0.5mm ball nose the G-code will be different. Just like CAM for milling adapt the path according to your tool so should slicer adapt tool path based on the tool used (diameter of the nozzle, type of the filament).

For starters Simplify3D don't know how to output volumetric data in to G-Code. That's kind of weird, especially as this is super simple thing to do. As for the hole path generated by Simplify3D I see it's more/less identical to path Slic3r is making and I did, some time ago, analysis of that path and it was *not correct*. Not even close. It's not taking into account, at all, that you are extruding plastic. It is generated as if you are milling / extruding straight line.
Used cars search engine
  • TT UP Plus 2 / Smoothieware
  • M150 / Smoothieware
  • Custom (mendel) / Smoothieware
  • Custom (darwin) / Smoothieware
  • Custom (darwin) / Marlin
  • Custom (darwin) / Replicape
horst.w
Posts: 861
Joined: Fri Oct 17, 2014 5:00 pm

Re: Undersized holes

upsm wrote: ...
Just like CAM for milling adapt the path according to your tool so should slicer adapt tool path based on the tool used (diameter of the nozzle, type of the filament).
....
I don't know if it is important to your argumentation, but the path of a nozzle of a 3D-Printer is depending to the ExtrusionWidth and NOT to the nozzles diameter. And the typ of filament doesn't play any part. Only the pre-settings are different but really not often extact what you need, they are only suggestions and have no relation to the tools path.

Regards
horst.w, GER
upsm
Posts: 151
Joined: Sun Mar 12, 2017 5:37 am

Re: Undersized holes

I believe ExtrusionWidth is the proper thing to consider here (it's derived from nozzle size), but far from "only" thing to consider here; and for all slicers it is the only thing considered.

As for "how" to solve the problem, I think I was clear that I have no clue. Obviously more then just extrusion width needs to be taking into consideration, but what and how, no clue. I just say it can be solved as I seen it solved on the printer I own that costs around 1keur. It's not 200$ el cheapo range, but it is also not the arm and a leg 100k+ range.

I'm looking right now at the 5mm hole g-code (0.5mm extrusion width, 0.1mm layer) and it's weird .. might be my excell-foo is not strong enough at this hour but still..
gcode (one layer 5mm hole)

Code: Select all

G92 E0
G1 X95.175 Y96.030 E0.0100 F210
G1 X94.956 Y96.453 E0.0199
G1 X94.842 Y96.794 E0.0274
G1 X94.789 Y97.037 E0.0325
G1 X94.749 Y97.506 E0.0423
G1 X94.774 Y97.865 E0.0498
G1 X94.817 Y98.104 E0.0548
G1 X94.881 Y98.338 E0.0599
G1 X95.012 Y98.673 E0.0674
G1 X95.252 Y99.085 E0.0773
G1 X95.559 Y99.449 E0.0872
G1 X95.831 Y99.686 E0.0947
G1 X96.034 Y99.827 E0.0998
G1 X96.453 Y100.044 E0.1096
G1 X96.794 Y100.158 E0.1171
G1 X97.037 Y100.211 E0.1223
G1 X97.506 Y100.251 E0.1320
G1 X97.865 Y100.226 E0.1395
G1 X98.104 Y100.183 E0.1446
G1 X98.338 Y100.119 E0.1496
G1 X98.673 Y99.988 E0.1571
G1 X99.085 Y99.748 E0.1670
G1 X99.449 Y99.440 E0.1769
G1 X99.686 Y99.169 E0.1844
G1 X99.827 Y98.966 E0.1895
G1 X100.044 Y98.547 E0.1993
G1 X100.158 Y98.206 E0.2068
G1 X100.211 Y97.963 E0.2120
G1 X100.251 Y97.494 E0.2218
G1 X100.226 Y97.135 E0.2293
G1 X100.183 Y96.896 E0.2343
G1 X100.119 Y96.662 E0.2393
G1 X99.988 Y96.327 E0.2468
G1 X99.751 Y95.920 E0.2566
G1 X99.599 Y95.723 E0.2618
G1 X99.350 Y95.464 E0.2693
G1 X98.970 Y95.175 E0.2792
G1 X98.547 Y94.956 E0.2891
G1 X98.206 Y94.842 E0.2966
G1 X97.963 Y94.789 E0.3017
G1 X97.494 Y94.749 E0.3115
G1 X97.135 Y94.774 E0.3190
G1 X96.896 Y94.817 E0.3240
G1 X96.662 Y94.881 E0.3291
G1 X96.327 Y95.012 E0.3366
G1 X95.922 Y95.248 E0.3463
G1 X95.819 Y95.323 E0.3489
G1 X95.466 Y95.648 E0.3589
the segments are varying a lot?! either my calc is wrong or something is fishy.. the segments (length in row4 =SQRT((A4-A3)^2 + (B4-B3)^2) ):

Code: Select all

Mean	0.357158532
Standard Error	0.014569918
Median	0.359702655
Standard Deviation	0.099886326
Sample Variance	0.009977278
Range	0.352414337
Minimum	0.127412715
Maximum	0.479827052
Sum	16.78645101
Count	47
Largest(1)	0.479827052
Smallest(1)	0.127412715
Confidence Level(95.0%)	0.029327724
weird to me that segments vary from 0.13 to 0.48 mm. Maybe have to do with hole geometry (tips of triangles and bases of triangles); still seems too much.

Testing my width calculation, will revisit after sleep, but E is cumulative and should represent mm of input filament. Since my filament dia is set to 1.75 the volume extruded should be =(H3-H2) * PI() * (1.75/2)^2 (change in E value is H, so that * pi * (1.75/2)^2 should give me volume in mm3) I feared I'm getting too small number, all of them together are around 0.8 mm3, the 5mm circle is 5*pi= ~15.7mm *0.5mm width and *0.1mm height that's ~0.78mm3 so it's close. Width is ~= volume / height / length and this is very close to 0.5 as assumed.

Code: Select all

Mean	0.499719592
Standard Error	0.000472147
Median	0.500778178
Mode	0.495245364
Standard Deviation	0.003236876
Sample Variance	1.04774E-05
Range	0.014831574
Minimum	0.490824865
Maximum	0.505656439
Sum	23.48682081
Count	47
Largest(1)	0.505656439
Smallest(1)	0.490824865
Confidence Level(95.0%)	0.000950382
So far everything as expected. The only thing left is to see where is the center of the toolpath in relation to the hole edge; but first some Z
Attachments
Book1.xlsx
(18.28 KiB) Downloaded 191 times
5mmhole.JPG
Capture.JPG
Used cars search engine
  • TT UP Plus 2 / Smoothieware
  • M150 / Smoothieware
  • Custom (mendel) / Smoothieware
  • Custom (darwin) / Smoothieware
  • Custom (darwin) / Marlin
  • Custom (darwin) / Replicape
horst.w
Posts: 861
Joined: Fri Oct 17, 2014 5:00 pm

Re: Undersized holes

upsm wrote:I believe ExtrusionWidth is the proper thing to consider here (it's derived from nozzle size), but far from "only" thing to consider here; and for all slicers it is the only thing considered.

As for "how" to solve the problem, I think I was clear that I have no clue. Obviously more then just extrusion width needs to be taking into consideration, but what and how, no clue. I just say it can be solved as I seen it solved on the printer I own that costs around 1keur. It's not 200$ el cheapo range, but it is also not the arm and a leg 100k+ range.
....
ExtrusionWidth builds the midline on what the nozzle is running. How width the filament is coming out is also a question of accuracy of the settings of diameter and varitions of Multiplier and last but not least the properties of the material itself.

I have the absolutely final solution for this problem: I start my 2.200 Eur -Printer by touching the knob and then I leave the room just to the moment, when the print is terminated.

;-)

Best Regards
horst.w
brian442
Posts: 1243
Joined: Mon Nov 28, 2016 5:35 am

Re: Undersized holes

S3D already allows you to scale the model to account for any plastic expansion issues, and you can also use the size compensation if you need to offset all the surfaces by a uniform amount. So there's already a lot of ability to modify the surfaces to account for most things.

I personally wouldn't expect S3D to do anything more than this, because I'm sure once they added any kind of control for offsetting holes, now people would want similar controls for other surfaces. I'm sure they would also want to offset different sized holes by different amounts, since they would surely need different tolerances due to how they are printed. So now S3D has to support modifying pretty much any surface of the model by an arbitrary amount. In my opinion that's more of a job for the CAD package.

With every CAD model I've made that was going to be manufactured, you definitely have to design the parts based on how they are going to be manufactured. If it was going to be cast, you might give it different nominal dimensions to account for tolerances versus parts that would be machined or injection molded. That has been standard practice everywhere I have worked in the past, so I'm sure 3D printing is the same.

I've printed a LOT of holes, and most of the time if they come out the wrong size, it's due to issues with the STL faceting or with over-extrusion. You can get really close if you fix those 2 things alone.
upsm
Posts: 151
Joined: Sun Mar 12, 2017 5:37 am

Re: Undersized holes

brian442 wrote:I personally wouldn't expect S3D to do anything more
Based on last two years of releases I don't personally expect Simplify3D team to do *anything*, but I can still hope, hope dies last.
Used cars search engine
  • TT UP Plus 2 / Smoothieware
  • M150 / Smoothieware
  • Custom (mendel) / Smoothieware
  • Custom (darwin) / Smoothieware
  • Custom (darwin) / Marlin
  • Custom (darwin) / Replicape
upsm
Posts: 151
Joined: Sun Mar 12, 2017 5:37 am

Re: Undersized holes

btw since we are talking about the holes .. there's a pretty good article on slic3r manual:
http://manual.slic3r.org/troubleshootin ... ion-errors

For e.g. interesting is that they tried to implement Adrian's compensation and then removed it as number of ppl complained
A compensation algorithm was proposed by Adrian Bowyer, and it was implemented in Slic3r some time ago but many users complained about holes being too large – it was removed thereafter since smaller holes are better than larger holes since they can be drilled.
Too bad they didn't leave it with config option to turn it on/off/modify

ATTM Slic3r suggests solving the problem identically as Simplify3D does - with XY Size Compensation (negative value)

as for the GCode from Simplify3D I was testing, the toolpath is 2.75mm radius around the center or 5.5 mm diameter for 5.0 mm hole. So Simplify3D creates the path ideally between 5.0 and 5.0 + 2 * ExtrudedWidth. So, as I checked some years ago, exactly as one would use with endmill, without any compensation of overextrusion on the inside of the circle :(

Anyways, I don't believe this is issue worth pursuing by the Simplify3D, so many more important things that are way more serious issues. I seen one feature request that I'd myself put on the top of any list. Can't find it now but it's simple - plugin system. In my opinion that's the thing Simplify3D devs should implement before doing anything else. With the plugin system, that can be called during object analysis and G-Code generation, all these issues could be solved (or attempt can be made) by vast number of pretty good software devs available to give their time and knowledge for free.
Used cars search engine
  • TT UP Plus 2 / Smoothieware
  • M150 / Smoothieware
  • Custom (mendel) / Smoothieware
  • Custom (darwin) / Smoothieware
  • Custom (darwin) / Marlin
  • Custom (darwin) / Replicape
billyd
Posts: 273
Joined: Mon Jan 19, 2015 12:13 pm

Re: Undersized holes

There is a very simple reason why holes can come out undersized. Over-extrusion. So before you start writing the code for your own slicing engine, check to make sure your steps/mm for your extruder stepper is accurate.

After adding about $2g's in hardware upgrades to my Taz 5, and downloading the latest f/w for Marlin, and carefully calibrating the printer, my holes come out very close, within about 0.2mm which is the generally accepted tolerance for my 3D printer, slicing with S3D and a .4mm nozzle. Bottom line is you can only do as well as your hardware and setup. The slicer can do all kinds of special magic but it won't matter if your printer and settings aren't right.

I haven't read the whole thread but other things that will effect hole diameters are speed and acceleration settings, filament quality (consistency of diameter, moisture and purity) and temperatures.

Return to “General Discussion and Tips”