Macro PDWrapper

From FreeCAD Documentation
Revision as of 21:17, 22 October 2021 by David69 (talk | contribs) (Created page with "Macro PDWrapper")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Other languages:

Macro Pdwrapper

Description
Encapsulate non-PartDesign solids to work in PartDesign

Macro version: 0.2021.10.21.rev3
Last modified: 2021-10-21
FreeCAD version: python 3 versions
Download: ToolBar Icon
Author: TheMarkster
Author
TheMarkster
Download
ToolBar Icon
Links
Macro Version
0.2021.10.21.rev3
Date last modified
2021-10-21
FreeCAD Version(s)
python 3 versions
Default shortcut
None
See also

Description

PDWrapper encapsulates solids created in other workbenches inside a PartDesign::FeaturePython object so that they behave as if they were native PartDesign features. In the screenshot below it shows a Part Workbench fillet of a PartDesign Additive Box encapsulated inside a PDWrapper object of type Common Additive. But PDWrapper can do more than just encapsulate non-PartDesign solids for use in a PartDesign Body. It can also encapsulate PartDesign features and change their nature. For example, you can encapsulate a PartDesign Hole inside a PDWrapper Additive type and turn the Hole into a threaded rod (presuming the Hole is threaded). With PDWrapper you can create types of Primitives that are not available, such as Common (Intersection) types and XOR types. It also allows to dynamically include/exclude some solid features from the Body's Tip shape.

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

Macro PDWrapper 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/4106e84eeaaf4d6e056cd286cbc39170/raw/e50415782b4c37f04650d2b25468dc41b499f0bd/Pdwrapper.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/4106e84eeaaf4d6e056cd286cbc39170/raw/e50415782b4c37f04650d2b25468dc41b499f0bd/Pdwrapper.FCMacro")


ToolBar Icon

Script

Macro Pdwrapper.FCMacro