Difference between revisions of "Macros recipes"

From FreeCAD Documentation
Jump to navigation Jump to search
m (link update)
m (link update)
(One intermediate revision by the same user not shown)
Line 626: Line 626:
  
 
<!--T:317-->
 
<!--T:317-->
* {{MacroLink|Icon=FCTexture.png|Macro_FCTexture|Macro Texture}}: Create a project from a bmp image to create a texture easily.
+
* {{MacroLink|Icon=FCTexture.png|Macro_Texture|Macro Texture}}: Create a project from a bmp image to create a texture easily.
  
 
<!--T:318-->
 
<!--T:318-->
Line 687: Line 687:
  
 
<!--T:328-->
 
<!--T:328-->
* {{MacroLink|Icon=Macro_3d_Printer_Slicer_Individual_Parts.svg|Macro_3d_Printer_Slicer_Individual_Parts|Macro 3d Printer Slicer Individual Parts}}: This code, when run, will export the visible bodies at the top level (bodies deeper in the tree will be ignored) of the currently open design to individual STL files, and open them it in the slicing software that you use. This macro will look for Cura as the default but you can change it to any other slider by changing the SLICERAPP variable in the source code.
+
* {{MacroLink|Icon=Macro_3d_Printer_Slicer_Individual_Parts.svg|Macro_3d_Printer_Slicer_Individual_Parts|Macro 3d Printer Slicer Individual Parts}}: This code, when run, will export the visible bodies at the top level (bodies deeper in the tree will be ignored) of the currently open design to individual STL files, and open them it in the slicing software that you use. This macro will look for Cura as the default but you can change it to any other slicer by changing the SLICERAPP variable in the source code.
  
 
</translate>
 
</translate>

Revision as of 16:35, 20 June 2022

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎polski • ‎svenska • ‎čeština • ‎русский
Text-x-python.png Macros

This page lists macros that can add functionality to a FreeCAD installation.

If you have written a macro and want to include it in one of the categories on this page, then go to Macro documentation to learn more about properly documenting a macro.

Categories

Part CheckGeometry.svg 3D View operations

  • FCCamera 00.png Macro FCCamera: This macro can rotate the screen in a defined angle and the defined axis and creates a plan to face the screen to create a form in the specified plan positions the selected face facing the screen, to detect the position of the camera.
  • Macro Mouse Cross.png Macro Mouse Cross: This small macro turns the arrow of the mouse in a precision cross.
  • Text console python.png Macro Rotate View Free: This macro is used in the Python console and rotates the current view in the angle and plane given.
  • Macro Screen Wiki.png Macro Screen Wiki: This macro allows to save the 3D view in the desired format. The 3D view or the full 3D window of FreeCAD takes the desired dimensions.
  • Snip.png Macro Snip: Easily post screenshots to the FreeCAD forum.
  • Macro View Rotation.png Macro View Rotation: Provides a GUI to permit rotation of view by precise amounts in all three directions.
  • Zoom1 1.svg Macro Zoom 1:1: 1:1 Zoom so objects appear their actual size on the screen.

Draft FlipDimension.svg Animation

  • Animator.svg Macro Animator: Animate your model by animating its properties with this feature Python object.
  • Macro Constraint Draft.png Macro Constraint Draft: Simple example animation Draft wires by use the Expressions for associate many wires and simulate or verify the movement. Here the circle rotation create the movement for all objects connected (This macro run with FreeCAD version 0.16).

Applications-python.svg Code and scripting

  • Macro Build Utility.png Macro Build Utility: This macro provides a utility to assemble a project from sub-project files using the Merge Project facility.
  • Macro clone explicit.png Macro clone explicit: Creates a copy of each selected object and sets its properties to an expression linking to the original object, making it an explicit and editable clone.
  • Macro Python Assistant Window.png Macro Python Assistant Window: This macro provides a cut/copy/paste workspace for Python code, it is segmented so different sections can be selected and it is persistent between FreeCAD sessions.
  • MEPlan.png Qt Example: Example of using Qt commands, their connections, extraction and data assignment.
  • Text-x-python.png scanObjects: Inspection tool for FreeCAD macro development and project debug.

Arch MeshToShape.svg Conversion

  • Macro Compound Plus.png Macro Compound Plus: Draft command set in a small macro for the 2D sketch example: work with the DXF files.
  • Macro DeepCopy.png Macro DeepCopy: Make a compound out of a part with a copy of all its shapes.
  • Macro Dxf To Shape.png Macro Dxf To Shape: Macro utility for create unique wire with many wires, the type wire created is selected to MakeWire, Bspline, BsplineCurve, BsplineCurve + Arc, Polygon, Bezier curve.
  • FCBmpImportLogo.svg Macro FCBmpImport: Import Black and White BMP images into FreeCAD as sketch, wire, or solid or Grayscale BMP for lithophanes.
  • Macro FCWire To Volume.png Macro FCWire To Volume: This macro create boolean operation with the objects selected just select the wires give the thickness and click "Create".
  • Applications-python.svg Macro Iges PyImporter: Imports an iges file with entity 128, for example an iges-file from FreeShip, into FreeCAD.
  • MultiCopy-reduced.png Macro MultiCopy: MultiCopy allows the duplication (copy and paste) of multiple FreeCAD objects that can be labelled sequentially and in a custom manner.
  • PartToVRML.png Macro PartToVRML: Converts selected parts to VRML meshes for small size and faster loading (VRML models Kicad and Blender compatible).

Workbench Draft.svg Draft Workbench and 2D

  • Macro EdgesToArc.png Macro EdgesToArc: Converts the selected Edges to a circular Arc if possible. Useful for restoring discretized arcs.
  • Macro FCConvertLines.png Macro FC Convert Lines: This macro convert the object line, wire in line Dash, DashDot, DashDotDot, ZigZag and Hand with the dimensions given.
  • Macro Draft Circle 3 Points.png Macro Make Circle 3 Points: Creates a circle on 3 selected points, the points can be objects (this example brings together the two examples below, all parameters simply settle on a graphic window).

Drawing-orthoviews.svg Drawing Workbench

The Drawing Workbench is obsolete since FreeCAD 0.17. Consider using the TechDraw Workbench instead.

  • Macro Automatic drawing.png Macro Automatic drawing: Allows the user to get the view of his object in a drawing with 4 different position (front,top,iso,right). Needs some modification to be perfectly effective.
  • Macro CartoucheFC.png Macro CartoucheFC: This GUI macro to fill simply all fields of the cartridge of the plan implementation worksheet FreeCAD, the format of the date and the symbol of the projection mode adapt to the EU region or US selected.
  • Macro CartoucheFC 2.png Macro CartoucheFC 2: This GUI macro to fill simply all fields of the cartridge model 2 of the plan implementation worksheet FreeCAD.
  • Macro CartoucheFC Full.png Macro CartoucheFC Full: This GUI macro to fill simply all fields of the cartridge Misc templates Full of the plan implementation worksheet FreeCAD, the format of the date and the symbol of the projection mode adapt to the EU region or US selected.
  • Macro Normal Vector.png Macro Normal Vector: Get the normal vector of a preselected face for creating a drawing view normal to that face.

Workbench FEM.svg Fem Workbench

  • Text-x-python.png Macro export transient FEM results: This macro exports multiple FEM result objects from a transient analysis to the VTK format and generates a PVU file which can be used to load the results directly into ParaView for post-processing.
  • Macro GMSH.png Macro GMSH: Create FEM Meshes by GMSH Mesh Generator.

Std Windows.svg Gui

  • Macro MacroMenu.png Macro MacroMenu: Add the macros found in the macros folder to the Macros menu of FreeCAD.
  • Text-x-python.svg Macro SplitPropEditor: Temporarily split the property editor from the combo view to a separated dock widget.
  • Macro Toggle Views Visibility.png Macro Toggle Panels Visibility: This macro toggles the visibility of various supporting panels in FreeCAD, allowing the main window to be viewed with all available screen space.

Part Measure Linear.svg Info and measurements

  • CenterFace.png Macro CenterFace: This macro red trace (editable) the center face (mass) with 1 point and print the coordinates.
  • Macro CenterOfMass.png Macro CenterOfMass: Gives the total mass and the center of mass of multiple objects selected with the density chosen.
  • Macro Delta xyz.png Macro Delta xyz: Gives the Delta values and the distance between 2 points.
  • Macro Dump Objects.png Macro Dump Objects: This macro generates a listing of all objects in the current document - the list can be in a window or on the Report view.
  • Macro FC element selector.png Macro FC element selector: This macro display all elements below cursor same "Macro Mouse over cb" with GUI (elements covered by other elements will also be displayed).
  • FCInfo.png Macro FCInfo: Gives a series of information about the selected shape and can display a conversion of length, inclination (degrees, radian, grade) shape, surface, volume and the weight of the form in the density selected in various international and Anglo-Saxon units.
  • FCInfoToolBar.png Macro FCInfo ToolBar: Gives a series of information about the selected shape as FCInfo in a mini ToolBar.
  • Macro FCInfoGlass.png Macro FCInfoGlass: Gives a series of information about the selected shape and displayed in screen 3D.
  • FCInfoToMouse.png Macro FCInfoToMouse: Provides informations coordinates, length and angles in real time on the mouse in a bubble annotation displayed in the 3D screen.
  • Macro FCTreeView.png Macro FCTreeView: Macro for list all objects in the project in one list without hierarchy, options sort by name, label, visibility, group, by length option search by name, label... without case sensitive or with case sensitive and select all objects displayed in the macro window.
  • Macro Mouse over cb.png Macro Mouse over cb: This macro display all elements below cursor (elements covered by other elements will also be displayed).
  • Macro SimpleProperties.png Macro SimpleProperties: Display in a concise way basic physical properties of an object (volume, bound box dimensions, ...).

Draft VisGroup.svg Libraries

  • Macro BOLTS.png Macro BOLTS: The aim of BOLTS is to build a free and open-source standard parts library for CAD applications.

Bound-expression.svg Mathematical functions

Part Primitives.svg Object creation

  • AeroFoil.png Macro AeroFoil: AeroFoil creates airfoil curves and faces using pre-defined models, algebraic functions, and DAT or CSV Files.
  • Macro Circle.png Macro Circle: Create a circle or arc giving radius, diameter, circumference, area, startangle, endangle, arc, anglecenter, cord, arrow, center (point) on choice (same above without GUI).
  • Macro CirclePlus.png Macro CirclePlus: Create a circle or arc giving radius, diameter, circumference, area, startangle, endangle, arc, anglecenter, cord, arrow, center (point) on choice (same below but with GUI) plus create sector and face.
  • Macro Cut Circle.png Macro Cut Circle: Cut a circle or arc and create x arcs, giving the number of cut.
  • Macro Cut Line.png Macro Cut Line: Cut a line and create x points, giving the number of points, create line or not, create points or not, create bicolor or not on choice.
  • Hilbert curve icon.png Macro HilbertCurve: Creates an Hilbert curve wire in 2 or 3 dimensions with many iterations.
  • Macro Honeycomb.svg Macro Honeycomb: Creates a feature Python Honeycomb object compatible in and out of PartDesign.
  • ImportAirfoil.svg Macro ImportAirfoil: Airfoil coordinates import, then scale the airfoil, rotate, translate in the plane, translate along the span, select the plane and the main axis, and turn the geometry into a sketch.
  • Intersection Icon.svg Macro Intersection: Finds the intersection between 2 or 3 selected edges/faces, works with Datum Planes and Datum Lines also. Creates a parametric feature Python object containing the shape of the intersection.
  • Macro Line Length.png Macro Line Length: Create a line giving coordinate XYZ length and angle to plane X Y.
  • Dodecahedron.svg Macro Polyhedrons: This macro creates parametric polyhedrons (dodecahedron, icosahedron, tetrahedron, ...). Customizable via radius or side.
  • Pyramidicon.svg Macro Pyramid: This macro creates a parametric pyramid. All parameters are customizable just like with Part Cone.
  • Macro ReproWire.png Macro Repro Wire: This macro reproduces all element selected subobject wire or face.
  • Macro Solid Sweep.png Macro Solid Sweep: Creates a solid by sweeping a 2D profile along a trajectory previously selected in the 3D view. The 2D elements can be created through the regular tools in FreeCAD's GUI.
  • Macro Triangle AH.png Macro Triangle AH: This macro creates a triangle by giving the head angle and the height of the triangle (the head of the triangle is positioned to the xyz coordinates 0.0).
  • Macro WireXYZ.png Macro WireXYZ: This macro creates a Wire with the coordinates extracted from a file. The coordinates X Y Z are separated by a space.

Std TransformManip.svg Object transformation

  • Macro Align Object to View.png Macro Align Object to View: This macro align the selected object to the current View and set the coordinates Placement of the camera.
  • Macro ArrayCopy.png Macro ArrayCopy: Copies the selected object several times, on an array grid.
  • Bevel.svg Macro Bevel: Bevels selected vertices, creates parametric feature Python object, compatible with all solids (except with round edges) including features in Part Design bodies.
  • Macro Center Align Objects with Faces or Edges.png Macro Center Align Objects with Faces or Edges: This macro covers the following constraints: Concentric constraint among non cylindrical parts; and Constraint on center Faces and/or Edges. It works also with the new Body and App::Part containers, as well as with STEP hierarchy.
  • Macro CloneConvert.png Macro CloneConvert: Creates a clone of the object and the converted in the chosen position and size (inch, mm, m, µm...). The base object is recognized in mm (FreeCAd base).
  • Macro Connect And Sweep.png Macro Connect And Sweep: This macro easily creates a connection between two objects, an object and a point or between two points or the selected line, wire, edge (the center of the objects are the starting and ending points of the sweep) can be selected form a configurable ellipse polygon circle.
  • Macro FlattenWire.png Macro FlattenWire: Flattens draft wires that are not planar to their median Z coordinate.
  • Macro HealArcs.png Macro HealArcs: Sometimes arcs are transformed into BSplines, for example when scale operations have been applied to them. This macro recreates valid arcs from them. Useful before exporting to dxf.
  • Image Scaling.svg Macro Image Scaling: Macro for easy scaling drawings, graphics, diagram, blueprint and similar 2D images in Image workbench.
  • Macro JointWire.png Macro JointWire: Allows to find and joint all non connected edge to the closest non connected one using a line.
  • Macro MatrixTransform.png Macro MatrixTransform: Apply linear space transformations to distort shapes. E.g., non-uniform scaling, shearing, mirroring, axes swapping.
  • Centericon.png Macro Move to Origin: This macro translates the Placement of an object so that a selected location becomes its new origin.
  • Macro Rotate To Point.png Macro Rotate To Point: Macro to rotate an object around the center of its boundbox, its center of mass, or the last clicked point.
  • Part Section.png Macro Section: Alternative implementation of Part Section tool, more suitable for making sweep paths (parametric).
  • Macro SuperWire.png Macro SuperWire: Forces the creation of a Wire from lines and arcs that don't necessarily touch each other. Use this if normal wire operation fails.
  • Wirefilter.svg Macro WireFilter: Filter wires from a sketch to only use certain ones, also 2D offsets, scales, rearranges wire order.

Part FaceColors.svg Object visibility, view properties and textures

  • Text-x-python.png colorManager: Allows to set face colors for all objects from a spreadsheet. Also you can browse colors for a manually selected face or object and see the effect in the 3D model in real-time.
  • Workbench Image.svg Macro Colorize: Easily set colors of faces, edges, and vertices, including individual transparency levels.
  • FCTexture.png Macro Texture: Create a project from a bmp image to create a texture easily.
  • Macro Texture Objects.png Macro Texture Objects: This macro allows you to temporarily put a texture image on the selected objects.
  • Macro Toggle Drawstyle Optimized.png Macro Toggle Drawstyle Optimized: This macro toggles the Drawstyle of the selected object (same as Macro Toggle Drawstyle above but optimized for all languages).
  • Macro SelectVisible.png Macro Toggle Visibility: Set of three macro, macro 1: hidden the objects not selected, macro 2: displayed alls objects, macro 3: hidden alls objects.
  • Macro SelectVisible2.png Macro Toggle Visibility2 1-2: Set of two macro, macro 1:Macro_Toggle_Visibility2_1-2 hidden the objects not selected, macro 2:Macro_Toggle_Visibility2_2-2 displayed alls objects, macro with the original visibility.
  • Macro VisibleAlls2.png Macro Toggle Visibility2 2-2: Set of two macro, macro 1:Macro_Toggle_Visibility2_1-2 hidden the objects not selected, macro 2:Macro_Toggle_Visibility2_2-2 displayed alls objects, macro with the original visibility.
  • Text-x-python.png setTextures: Allows to permanently store the URL of textures in a FreeCAD project and load stored textures.

Workbench PartDesign.svg PartDesign Workbench

  • Workbench PartDesign.svg Macro PDWrapper: Encapsulates non-PartDesign solids for use in PartDesign Bodies, and more.

View.svg Printer 3D

  • Macro 3d Printer Slicer Individual Parts.svg Macro 3d Printer Slicer Individual Parts: This code, when run, will export the visible bodies at the top level (bodies deeper in the tree will be ignored) of the currently open design to individual STL files, and open them it in the slicing software that you use. This macro will look for Cura as the default but you can change it to any other slicer by changing the SLICERAPP variable in the source code.

Preferences-raytracing.svg Raytracing

Spreadsheet.svg Spreadsheet Workbench

  • Aliasmanager icon.png Macro Alias Manager: Helps managing aliases inside FreeCAD Spreadsheet workbench. It is able to create, delete, move aliases and create a 'part family' group of files.
  • Easy-alias-icon.png Macro EasyAlias: Quickly create aliases in FreeCAD Spreadsheet workbench. It uses the labels from one column to create aliases for adjacent cells in the next column to the right, e.g. labels from Column A become aliases for the cells in Column B.
  • Applications-python.svg Macro Spreadsheet2html: Exports a spreadsheet as styled html. Intended as support in transfering data to office suits.
  • Text-x-python.png sheet2export: Allows to export FreeCAD spreadsheet to file formats (.md, .html, .csv, .json).

Arch Survey.svg Utility

  • Macro Duplicate Selection.png Macro Duplicate Selection: This macro testing if one selection are duplicate, select the object IN THE 3D VIEW the "ForbiddenCursor" stay if the or one selection is duplicate, the macro stay resident.
  • Macro ExpandTreeItem.png Macro ExpandTreeItem: This macro expand selected items in the tree view. If not selection all item are expand/collapse.
  • Macro findConfigFiles.png Macro findConfigFiles: Finds user config files system.cfg and user.cfg, copies folder location to system clipboard, instructs user on renaming these files in order to reset FreeCAD settings, and opens folder with default file browser.
  • Text-x-python.svg Macro ImperialScales: Shows a list of US Imperial Arch scales list with the corresponding factor to apply to TechDraw pages or views.
  • SketchUnmap.svg Macro SketchUnmap: Unmap a sketch from its current support and makes its placement absolute, eventually creating a locating datum plane.
  • Text-x-python.svg Macro TreeToAscii: Prints model tree as "ASCII art" with custom pattern & style, and export to clipboard, file or embedded document.
  • Macro Unbind Numpad Shortcuts.png Macro Unbind Numpad Shortcuts: Rebinds standard view commands from digit keys to Ctrl+digit, so that they don't spin the view by accident when entering numbers.
  • WF wf.png Macro WorkFeatures: Tool utility to create points, axes, planes and many other useful features to facilitate the creation of your project.

Bulb.svg Wizards

  • Macro Corner shapes wizard.png Macro Corner shapes wizard/update: Pops up a dialog asking for the dimensions of your corner piece, then creates the object in the document and creates a page view with top, front and lateral views of the piece.
  • Gearworkbech.png Macro FCGear: Additional Workbench to create different types of gears, involute gear, involute rack, cycloide gear, bevel gear.
  • Macro Fonts Win10 PYMP.png Macro Fonts Win10 PYMP: This little macro is dedicate to users of Windows 10. The explorer fonts for use the ShapeString is empty and this little macro can help you see easily the font to use.
  • GenerateDrawing.svg Macro GenerateDrawing: Macro for automatic drawing generation with 3 normal projections and one isometric.
  • GenerateViews.svg Macro GenerateViews: Macro for automatic 2D views generation with 6 normal projections and one isometric.
  • GW Dim.png Macro Geneva Wheel: Allows the user to create a Geneva wheel mechanism from scratch. Must edit values within the Macro to alter the size of the object.
  • GW Dim.png Macro Geneva Wheel GUI: A GUI front end that allows the user to create a Geneva wheel mechanism from scratch.
  • Macro Megaminx.png Macro Megaminx: Display a Megaminx and interactively do slice rotations.
  • PropertyMemo.png Macro PropertyMemo: This little macro create one Property additional (memo or other text) for you object (only Draft).
  • Macro Stairs.png Macro Stairs: Create stair helix, create your stair nosing select and run the macro.
  • Macro Unfold Box.png Macro Unfold Box: Allows to unfold the surfaces of a box of any shape and to draw them on a page.

Arch Equipment.svg Woodworking

  • Text-x-python.png getDimensions: FreeCAD macro to get chipboards dimensions to cut (BOM, cutlist).
  • Macro Cabinets32.png Macro Cabinets32: Creates side and top/bottom walls for a cabinet with drilled holes for connection parts of manufacturer Hettich.
  • Macro Joint Icon.svg Macro Joint: Creates a variety of joints, such as mortise/tenon, box joints, dovetail joints, and snap joints.
  • Text-x-python.png makeTransparent: Switches all parts from non-transparent to transparent, and back, allowing you to preview pilot holes, countersinks and other joints.

Std FreeCADWebsite.svg Other interesting macros created by FreeCAD users

  • Text-x-python.png By hamish2014: FreeCAD_assembly2, FreeCAD_drawing_dimensioning, and more.
  • 2364.png By microelly2 : FreeCAD_macro, geodata, Animation, freecad-nurbs, PieMenu, and more.
  • Text-x-python.png By oddtopus: Flamingo (workbench for metal structures).
  • 681.jpg By rockn: FreeCAD-Timber, FreeCAD-addons, FreeCAD-library, FreeCAD-StructuresBois, and more.
  • Text-x-python.png By Siardeni: Workbench for create metal profiles, square tubing, z profile, palette, rotation, drawing, and more.
  • Text-x-python.png By triplus: IconThemes, ShortCuts, NavigationIndicator, TabBar, Launcher, PersistentToolbars, PieMenu, and more.

Usage

See how to install macros for a full description, and customize toolbars to add the macros to a toolbar for easy access.

Installing many macros is equivalent to installing a new workbench; see how to install additional workbenches for this information.

Automatic installation

Use the Addon Manager in Tools → Addon manager to install a macro that has been included in the FreeCAD-macros repository. introduced in version 0.17

Manual installation

If the Addon Manager is not used, the macro can be installed manually.

  • Copy the Python code from the corresponding macro page.
  • Open the macros menu Macro → Macros, press Create, and give it a name.
  • Paste the Python code that you copied.
  • Press the Save button, and restart FreeCAD.
  • To use it, open again the macros menu, select your new macro, and press Execute.

Add a macro to a custom toolbar

  • Go to Tools → Customize.
  • In the Macros tab, add a new macro name, and optionally define an icon and a keyboard shortcut.
  • In the Toolbars tab, create a new toolbar, and add your macro, taking it from the Macros category.