Macro WireFilter

From FreeCAD Documentation
Revision as of 22:30, 19 October 2023 by TheMarkster (talk | contribs) (v0.2023.10.19)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Other languages:

Macro WireFilter

Filter wires from sketches, 2D offsets, scales, rearranges wire order

Macro version: 0.2023.10.19
Last modified: 2022-10-19
FreeCAD version: python 3 versions
Download: ToolBar Icon
Author: TheMarkster
ToolBar Icon
Macro Version
Date last modified
FreeCAD Version(s)
python 3 versions
Default shortcut
See also


WireFilter is a macro that can be used to filter certain wires from a sketch. It can also be used on any object with wires, such as a solid. With WireFilter you can do a 2D offset of a wire, you can scale the wire, you can use one of 4 different facemakers (Part::FaceMakerBullseye, Part::FaceMakerCheese, Part::FaceMakerSimple, or Part::FaceMakerExtrusion) if you want to make a face. You can also reset the wire order, which can be useful where a loft is criss-crossing because the wire order is different with the 2 sketches being used.

Examples and full documentation can be found on github: WireFilter.

In the screenshot below, WireFilter is used to make faces from a bullseye sketch (with nested holes within holes) for use with a PartDesign::Pad. Normally, Pad cannot manage such sketches, but if we make the face for it (using FaceMakerBullseye) and select the faces for the Pad it will be able to pad the WireFilter.

Macro WireFilter screenshot‎

Known Issues

Sometimes Pad cannot find the correct normal and the WireFilter is padded off in the wrong direction. This can be fixed by toggling the Fix Normal property of the WireFilter object, which sets the Pad's custom direction to the correct normal. This also works for Extrude when it fails to find the correct normal.


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,
    "This macro must be downloaded from this link\n"
    "" + "\n"
    "Quit this window to access the download page")


import webbrowser"")

ToolBar Icon


Macro Wirefilter.FCMacro