SlicerIGT / SlicerBoneReconstructionPlanner

3D Slicer module for planning mandible reconstruction surgery using fibula flap
BSD 3-Clause "New" or "Revised" License
26 stars 10 forks source link

About tolerancing (rectangular slots and cylindrical holes) #86

Open mauigna06 opened 1 year ago

mauigna06 commented 1 year ago

comment from @lassoan:

Note that size and location of the screw holes do not affect accuracy (they should be just large enough for the screw shaft to pass through comfortably but not the screw head).

An additional distance (typically 0.05-0.2mm) is indeed necessary to be added as a gap everywhere where a 3D-printed surface (with all its inaccuracies) meets a physical surface. It is not just for screws but for the bone surface as well. We should try to use the same distance value everywhere (or have two values, one for clearance and another for transition fit - see here) and only allow separate tuning of if we find that it is necessary (e.g., we want to have an additional clearance for the bone cutter).

another comment from @lassoan:

Why slightly shift cutting plane positions? Aren't them ideal? I think we should slightly increase groove and make the sawBoxes a little wider to achieve the clearance

Yes, I meant the same thing. The user will enter the desired thickness of the slot but when we compute the cutting plane positions we will shift them slightly, depending on the accuracy of the 3D printer (probably both sides, by equal amount).

It is very important not to add tolerances whenever we feel that something is not quite right, but define very clearly which offset means what. The offset that we apply to planes to account for saw blade thickness is completely different from the offset that we add to compensate for 3D printing inaccuracy and material properties. This allows for example to implement the same surgical plan with different tools (e.g., a different hand saw, different 3D printer).

yet another comment from @lassoan:

Some clearance always have to be added, not just because of the soft tissue residuals but also because of 3D printing inaccuracy. There is a nice and short related article about fits of 3D-printed parts: https://3dchimera.com/blogs/connecting-the-dots/3d-printing-tolerances-fits

Although this is a feature currently available and that can be configured on the Settings box at the bottom of the module GUI, it lacks better documentation of how it works and it's only used by slots (where the saw passes), not by the cylindrical holes (that are for screws)

mauigna06 commented 1 month ago

Saw guides already account for clearance, this needs to be done for cylinders (i.e. screwholes)