Macro Parametric Defeaturing

From FreeCAD Documentation
Other languages:

Macro Parametric Defeaturing

Description
This macro is similar to the defeaturing tool in the Part Workbench, but it's parametric and it also works in PartDesign. To use: select the faces of the features you wish to remove from the model and run the macro. Faces are used in defeaturing, not edges or vertices. The faces used may be edited later and the object will rebuild itself automatically.

Parametric is generally a good thing in 3D modeling, but because defeaturing relies upon face names: Face1, Face2, etc. it is vulnerable to topological naming issues and might break if changes are made to the original source object being defeatured when those changes result in the face names getting renumbered. Defeaturing is also a somewhat finicky process, not guaranteed to always succeed.

Full documentation can be found on github: Parametric Defeaturing.


Macro version: 0.2021.10.10.rev2
Last modified: 2021-10-10.rev2
FreeCAD version: python 3 versions
Download: ToolBar Icon
Author: TheMarkster

Author
TheMarkster
Download
ToolBar Icon
Links
Macro Version
0.2021.10.10.rev2
Date last modified
2021-10-10.rev2
FreeCAD Version(s)
python 3 versions
Default shortcut
None
See also
None

Description

This macro is similar to the defeaturing tool in the Part Workbench, but it's parametric and it also works in PartDesign. To use: select the faces of the features you wish to remove from the model and run the macro. Faces are used in defeaturing, not edges or vertices. The faces used may be edited later and the object will rebuild itself automatically.

Parametric is generally a good thing in 3D modeling, but because defeaturing relies upon face names: Face1, Face2, etc. it is vulnerable to topological naming issues and might break if changes are made to the original source object being defeatured when those changes result in the face names getting renumbered. Defeaturing is also a somewhat finicky process, not guaranteed to always succeed.

Full documentation can be found on github: Parametric Defeaturing.

Macro Parametric Defeaturing screenshot‎

Legend

Temporary code for external macro link. Do not use this code. This code is used exclusively by Addon Manager. Link for optional manual installation: Macro


# This code is copied instead of the original macro code
# to guide the user to the online download page.
# Use it if the code of the macro is larger than 64 KB and cannot be included in the wiki
# or if the RAW code URL is somewhere else in the wiki.

from PySide import QtGui, QtCore

diag = QtGui.QMessageBox(QtGui.QMessageBox.Information,
    "Information",
    "This macro must be downloaded from this link\n"
    "\n"
    "https://gist.github.com/mwganson/0d55a5c51b1d6ff488b7a2f62bf50656/raw/140e9118deb955981a1ea499778cbf2521818e40/parametric_defeaturing.FCMacro" + "\n"
    "\n"
    "Quit this window to access the download page")

diag.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
diag.setWindowModality(QtCore.Qt.ApplicationModal)
diag.exec_()

import webbrowser 
webbrowser.open("https://gist.github.com/mwganson/0d55a5c51b1d6ff488b7a2f62bf50656/raw/140e9118deb955981a1ea499778cbf2521818e40/parametric_defeaturing.FCMacro")


ToolBar Icon

Script

Macro parametric_defeaturing.FCMacro