Skip to content

[Feature request] Enlarging cutouts/pushing back faces #10

@jmickelin

Description

@jmickelin

A very common situation for FDM printing is having to tweak clearances, typically for features like pockets or joints that need to fit together with other parts after printing.

Normally, the way you'd do this would be to add small offsets to the dimensions set in your constraints or your feature's properties. This isn't great, because it convolutes the design of the model (nominal) with additional values that are highly dependent on the machine of the user who is printing the model, as well as other factors like layer height or even filament type.

In an ideal world, slicers would incorporate some features like the ones already used in CAM tools, where each cut you define comes with the ability to slightly overlap the nominal edges with the toolpath, thus creating extra clearance.

Sadly, this isn't really the way things are done in 3D printing, so the responsibility falls upon the model designer to do it, and, for open source work, preferably in a way that's easy to edit by others.

As such, I think it makes the most sense to regard the creation of "extra clearance" as more of a dress-up step, applied as one of the last steps of the model.

I think this plugin could benefit from a macro to aid with this.

Suggested behavior

I think there are two kinds of ways to think about this kind of enlargement, each useful in different situations:

  1. Enlarging all the sides surrounding a face (or a wire), e.g. the profile of a pocket. Enlarge a selected face by a specified amount, then pocket it in a given direction (say, along the same axis as the original pocket). This is needed for features that have curved sides, like a round pocket or a slot.
  2. Pushing back an entire face. Create a sketch of all the edges of a given face, then make a very shallow pocket along the normal of that face, with a depth equal to the desired clearance.

I think both options can be done with standard tools in FreeCAD (i.e. SubShapeBinders with offsets for 1 (and maybe 2) and "importing external geometry as defining geometry" (for 2)).

It would be a bit tedious, however, so a macro to automate most of the process is a good idea.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions