Sandbox:Mario52: Difference between revisions

From FreeCAD Documentation
mNo edit summary
mNo edit summary
Line 1: Line 1:
{{VeryImportantMessage|'''my personal Sanbox Mario52'''<br />'''Not For Release - Do not Translate - Do not change - Not to read - Not to look'''}}
{{VeryImportantMessage|'''my personal Sanbox Mario52'''<br />'''Not For Release - Do not Translate - Do not change - Not to read - Not to look'''}}


<translate>
<!--T:29-->
{{TutorialInfo
{{TutorialInfo
|Topic=Macros
|Topic=Macros
Line 12: Line 10:
}}
}}



<!--T:1-->
This page contains macros to add functionality to your freecad installation
This page contains macros to add functionality to your freecad installation


== Macros == <!--T:2-->
== Macros ==
<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">
[[File:Freecad16.svg]] Object creation
===[[File:Freecad16.svg]] Object creation===
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
* {{MacroLink|Macro_makeCube|Macro Make Cube|Macro Make Cube}}: creates a [http://en.wikipedia.org/wiki/Cuboid rectangular cuboid] from 4 points

* {{MacroLink|Text-x-python|Macro Solid Sweep|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.
* [[Image:Macro_makeCube.png|24px]] {{MacroLink|Macro Make Cube}}: creates a [http://en.wikipedia.org/wiki/Cuboid rectangular cuboid] from 4 points
* {{MacroLink|Text-x-python|Macro Geodesic Dome|Macro Geodesic Dome}}: This macro creates a geodesic dome shell
* [[Image:Text-x-python.png|24px]] {{MacroLink|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.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Rectellipse}}: creates a parametric rectellipse
* {{MacroLink|Text-x-python|Macro Line Length|Macro Line Length}}: Create a line giving coordinate XYZ length and angle to plane X Y
* [[Image:Macro_Draft_Circle_3_Points.png|24px]] {{MacroLink|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).
* {{MacroLink|Text-x-python|Macro cutLine|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.
* {{MacroLink|Text-x-python|Macro circle|Macro Circle}}: Create a circle or arc giving radius, diameter, circumference, area, startangle, endangle, arc, anglecenter, cord, arrow, center (point) on choice.
* [[Image:Macro_Draft_Circle_3_Points.png|24px]] {{MacroLink|Macro Draft Circle 3 Points}}: creates a circle from 3 selected points 2D orthogonal
* [[Image:Macro_Draft_Circle_3_Points.png|24px]] {{MacroLink|Macro Draft Circle 3 Points 3D}}: creates a circle from 3 selected points in the space 3D
* {{MacroLink|Text-x-python|Macro cutCircle|Macro Cut Circle}}: Cut a circle or arc and create x arcs, giving the number of cut.
* {{MacroLink|Text-x-python|Macro triangleAH|Macro Triangle AH}}: This macro create one triangle creates a triangle by giving the head angle and the height of the triangle (the triangle of the head is positioned to the xyz coordinates 0.0)
* [[Image:Macro Make Arc 3 Points.png|24px]] {{MacroLink|Macro Make Arc 3 Points}}: creates a arc from 3 selected points
* {{MacroLink|FCTexture|Macro FCTexture|Macro Texture}}: Create a project from a bmp image to create a texture easily
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro screw maker1_2}}: This macro creates a screw with or without thread, according to ISO standards ([http://forum.freecadweb.org/viewtopic.php?f=22&t=6088#p48519 screw_maker1_6.py.zip with Pyside support]). [http://forum.freecadweb.org/viewtopic.php?f=22&t=6558&start=30#p95929 (Screw Maker 2.0 - new version!)]
* {{MacroLink|FCCreaLoft|Macro FCCreaLoft|Macro Loft}}: Create a loft with a list of wire (specially created for Macro Texture see above)
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Geodesic Dome}}: This macro creates a geodesic dome shell
* {{MacroLink|FCCircularTextButtom|Macro FCCircularText|Macro Circular Text}}: This macro create a text around a cylinder
* [[Image:Macro_BOLTS.png|24px]] {{MacroLink|Macro BOLTS}}: The aim of BOLTS is to build a free and open-source standard parts library for CAD applications.
* {{MacroLink|Text-x-python|Macro WireXYZ|Macro WireXYZ}}: This macro creates a Wire with the coordinates extracted from a file. The coordinates X Y Z are separated by a space.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Ellipse-Center+2Points}} Makes an ellipse by selecting three points (in this order): centre, major radius and minor radius
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Airfoil Import & Scale}}: Imports and scales a .dat airfoil to desired chord length.
* {{MacroLink|Macro_ReproWire|Macro ReproWire|Macro Repro Wire}}: This macro reproduce all element selected subobject wire or face.
* {{MacroLink|Part_Prism_Apothem|Macro Apothem Based Prism GUI|Macro Apothem Based Prism GUI}}: A GUI dialog that creates an Apothem, (inradius) Based Prism from user input.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Line Length}}: Create a line giving coordinate XYZ length and angle to plane X Y
* [[Image:Text-x-python.png|24px]] {{MacroLink|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.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Circle}}: Create a circle or arc giving radius, diameter, circumference, area, startangle, endangle, arc, anglecenter, cord, arrow, center (point) on choice.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Cut Circle}}: Cut a circle or arc and create x arcs, giving the number of cut.
* [[Image:Macro_FCConvertLines.png|24px]] {{MacroLink|Macro FC Convert Lines}}: this macro convert the object line, wire in line Dash, DashDot, DashDotDot,ZigZag and Hand with the dimensions given.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Triangle AH}}: This macro create one triangle creates a triangle by giving the head angle and the height of the triangle (the triangle of the head is positioned to the xyz coordinates 0.0)
* [[Image:FCTexture.png|24px]] {{MacroLink|Macro Texture}}: Create a project from a bmp image to create a texture easily
* [[Image:FCCreaLoft.png|24px]] {{MacroLink|Macro Loft}}: Create a loft with a list of wire (specially created for Macro Texture see above)
* [[Image:FreeCAD Doc.png|24px]] {{MacroLink|Macro PartsLibrary}}: Starts the Parts library browser
* [[Image:BoundBoxTracing.png|24px]] {{MacroLink|Macro BoundingBox Tracing}}: This macro red trace (editable) around the BoundingBox with 6 rectangles
* [[File:FCCircularTextButtom.png|24px]] {{MacroLink|Macro Circular Text}}: This macro create a text around a cylinder
* [[Image:GW_Dim.png|24px]] {{MacroLink|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.
* [[Image:GW_Dim.png|24px]] {{MacroLink|Macro Geneva Wheel GUI}}: A GUI front end that allows the user to create a Geneva wheel mechanism from scratch.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro WireXYZ}}: This macro creates a Wire with the coordinates extracted from a file. The coordinates X Y Z are separated by a space.
* [[File:FCSpring_Helix_Variable.png|24px]] {{MacroLink|Macro FCSpring Helix Variable}}: This macro create one spring truncate, the troncature is adjustable on the all coil to choice.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Arch Axis System Repartition}}: This macro help you to create an Arch Axis System along a line with a set of parameters.
* [[Image:Cabinets32.png|24px]] {{MacroLink|Macro Cabinets32}}: creates side and top/bottom walls for a cabinet with drilled holes for connection parts of manufacturer Hettich.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Half_turn_stairs}}: Creates a half turn (left/right) stair from a Data-file.
* [[File:Macro_Half_Hull_Model.png|24px]] {{MacroLink|Macro Half-Hull Model}}: This macro generates both three dimensional [http://en.wikipedia.org/wiki/Half_hull_model_ship half-hull] and full-hull models from a series of 2D line drawings.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Stairs}}: Create stair helix, create your stair nosing select and run the macro.
* [[Image:Macro_ReproWire.png|24px]] {{MacroLink|Macro Repro Wire}}: This macro reproduce all element selected subobject wire or face.
* [[Image:Gearworkbech.png|24px]] {{MacroLink|Macro FCGear}}: Additional Workbench to create different types of gears, involute gear, involute rack, cycloide gear, bevel gear.

</div>
</div>
</div>
</div>


<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">
[[File:Freecad16.svg]] Object transformation <!--T:4-->
===[[File:Workbench_PartDesign.svg]] Object transformation===
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
* {{MacroLink|Text-x-python|Macro ArrayCopy|Macro ArrayCopy}}: copies the selected object several times, on an array grid

* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro ArrayCopy}}: copies the selected object several times, on an array grid
* {{MacroLink|Text-x-python|Macro FlattenWire|Macro FlattenWire}}: flattens draft wires that are not planar to their median Z coordinate
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro FlattenWire}}: flattens draft wires that are not planar to their median Z coordinate
* {{MacroLink|Text-x-python|Macro FlattenWire3Points|Macro FlattenWire3Points}}: flattens draft wires that are not planar to a plane defined by 3 points
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro FlattenWire3Points}}: flattens draft wires that are not planar to a plane defined by 3 points
* {{MacroLink|Text-x-python|Macro JointWire|Macro JointWire}}: allows to find and joint all non connected edge to the closest non connected one using a line
* {{MacroLink|Text-x-python|Macro Remove parametric history|Macro Remove parametric history}}: removes all parametric associativity from an object, leaving it as a "dumb" shape
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro MeshToPart}}: converts selected meshes to parts
* {{MacroLink|Text-x-python|Macro SuperWire|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
* [[Image:PartToVRML.png ‎|24px]] {{MacroLink|Macro PartToVRML}}: Converts selected parts to VRML meshes for small size and faster loading (VRML models Kicad and Blender compatible)
* {{MacroLink|Text-x-python|Macro HealArcs|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:Text-x-python.png|24px]] {{MacroLink|Macro JointWire}}: allows to find and joint all non connected edge to the closest non connected one using a line
* {{MacroLink|Macro_CloneConvert‎|Macro CloneConvert‎|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)
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Remove parametric history}}: removes all parametric associativity from an object, leaving it as a "dumb" shape
* {{MacroLink|Text-x-python|Macro Image Scaling|Macro Image Scaling}}: Macro for easy scaling drawings, graphics, diagram, blueprint and similar 2D images in Image workbench.
* [[Image:Text-x-python.png|24px]] {{MacroLink|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
* {{MacroLink|Text-x-python|Macro MatrixTransform|Macro MatrixTransform}}: apply linear space transformations to distort shapes. E.g., non-uniform scaling, shearing, mirroring, axes swapping.
* [[Image:Text-x-python.png|24px]] {{MacroLink|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
* {{MacroLink|Macro_Connect_And_Sweep|Macro Connect And Sweep|Macro Connect And Sweep}}: This macro easily creates a connection between two objects, an object and a point or between two points (the center of the objects are the starting and ending points of the sweep) can be selected form a configurable ellipse polygon circle
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro FaceToSketch}}: Converts the selected Face to a single Sketch without constraints.
* {{MacroLink|Part_Section‎|Macro Section|Macro Section}}: (parametric): alternative implementation of Part Section tool, more suitable for making sweep paths.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro EdgesToArc}}: Converts the selected Edges to a circular Arc if possible. Useful for restoring discretized arcs.
* {{MacroLink|Macro_Overlap|Macro Overlap|Macro Overlap}}: (parametric): Boolean operation. Similar to Part Common, but with custom overlap count threshold.
* [[Image:Macro_CloneConvert.png ‎|24px]] {{MacroLink|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)
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Creating faces from a DXF file}}: This macro create face from a DXF file, the "Layer" are recognized separate and trained in groups.
* {{MacroLink|Text-x-python|Macro Duplicate Selection|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.
* [[Image:Macro_DXF_to_Face_and_Sketch.png ‎|24px]] {{MacroLink|Macro DXF to Face and Sketch}}: This macro converts selected elements of imported dxf to face and sketch.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Image Scaling}}: Macro for easy scaling drawings, graphics, diagram, blueprint and similar 2D images in Image workbench.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro MatrixTransform}}: apply linear space transformations to distort shapes. E.g., non-uniform scaling, shearing, mirroring, axes swapping.
* [[Image:Macro_Connect_And_Sweep.png ‎|24px]] {{MacroLink|Macro Connect And Sweep}}: This macro easily creates a connection between two objects, an object and a point or between two points (the center of the objects are the starting and ending points of the sweep) can be selected form a configurable ellipse polygon circle
* [[Image:Part_Section.png ‎|24px]] {{MacroLink|Macro Section}} (parametric): alternative implementation of Part Section tool, more suitable for making sweep paths.
* [[Image:Macro_Overlap.png ‎|24px]] {{MacroLink|Macro Overlap}} (parametric): Boolean operation. Similar to Part Common, but with custom overlap count threshold.
* [[Image:Macro FCWire To Volume.png ‎|24px]] {{MacroLink|Macro FCWire To Volume}}: This macro create boolean operation with the objects selected just select the wires give the thickness and click "Create"

</div>
</div>
</div>
</div>

<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">
[[File:Freecad16.svg]] 3D View operations <!--T:5-->
===[[File:Part_Measure_Clear_All.svg]] Info and measures===
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
* {{MacroLink|FCInfo|Macro FCInfo|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
* {{MacroLink|FCInfo|Macro FCInfo Alternate Linux|Macro FCInfo Alternate Linux}}: same as above, but for Linux
* {{MacroLink|Macro_FCInfoGlass|Macro FCInfoGlass|Macro FCInfoGlass}}: Gives a series of information about the selected shape and displayed in screen 3D
* {{MacroLink|FCInfoToMouse|Macro FCInfoToMouse|Macro FCInfoToMouse}}: Provide informations coordinates, length and angles in real time on the mouse in a bubble annotation displayed in the 3D screen
* {{MacroLink|Text-x-python|Macro Delta xyz|Macro Delta xyz}}: Gives the Delta values and the distance between 2 points
* {{MacroLink|Text-x-python|Macro ObjectInfo|Macro ObjectInfo}}: User-friendly "Info" module created by a FreeCAD user
* {{MacroLink|Macro_Dump_Objects|Macro Dump Objects|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.
* {{MacroLink|Macro_MeasureCircle|Macro MeasureCircle|Macro MeasureCircle}}: Compute the radius of a circle by 3 points or a circular edge.
</div>
</div>


<div class="toccolours mw-collapsible mw-collapsed">
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Rotate View}} This macro rotates the current view by 90° to the left. Only works if you are in Top view.
===[[File:Arch_MeshToShape.svg]] Conversion===
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro View Rotation}} Provides a GUI to permit rotation of view by precise amounts in all three directions.
<div class="mw-collapsible-content">
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Texture Objects}} This macro allows you to temporarily put a texture image on the selected objects.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Mouse Cross}} This small macro turns the arrow of the mouse in a precision cross.
* {{MacroLink|Text-x-python|Macro Extract Wires from Mesh|Macro Extract Wires from Mesh}}: Extracts boundary wires from selected meshes
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Align View to Face}} This macro aligns the current view to a selected face.
* {{MacroLink|Text-x-python|Macro MeshToPart|Macro MeshToPart}}: converts selected meshes to parts
* {{MacroLink|PartToVRML|Macro PartToVRML|Macro PartToVRML}}: Converts selected parts to VRML meshes for small size and faster loading (VRML models Kicad and Blender compatible)
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Align Object to View}} This macro align the selected object to the current View and set the coordinates Placement of the camera.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Align Face Object to View}} This macro align the face of the selected object to the current View (in case face hole the hole is placed to the view).
* {{MacroLink|Text-x-python|Macro FaceToSketch|Macro FaceToSketch}}: Converts the selected Face to a single Sketch without constraints.
* {{MacroLink|Macro FCWire To Volume|Macro FCWire To Volume|Macro FCWire To Volume}}: This macro create boolean operation with the objects selected just select the wires give the thickness and click "Create"
* [[Image:Text-x-python.png|24px]] {{MacroLink|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.
</div>
</div>
</div>
</div>


<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">
[[File:Freecad16.svg]] Wizards <!--T:6-->
===[[File:IFC.svg]] Multifunctional===
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
* {{MacroLink|WF_wf|Macro WorkFeatures|Macro WorkFeatures}}: Tool utility to create plans of the axes, planes from 3 points, axes on a form, information on the coordinates of the shape and many other useful features to facilitate the creation of your project. This utility is up next in the combo view.
</div>
</div>


<div class="toccolours mw-collapsible mw-collapsed">
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Sheet Metal Unfolder}}: Creates an unfolded part from a sheet-metal-part.
===[[File:Draft_VisGroup.svg]] Libraries===
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Unroll Ruled Surface}}: allows to unroll ruled surfaces and to draw them on a page.
<div class="mw-collapsible-content">
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Unfold Box}}: allows to unfold the surfaces of a box of any shape and to draw them on a page.
* {{MacroLink|Text-x-python|Macro screw maker1_2|Macro screw maker1_2}}: This macro creates a screw with or without thread, according to ISO standards ([http://forum.freecadweb.org/viewtopic.php?f=22&t=6088#p48519 screw_maker1_6.py.zip with Pyside support]). [http://forum.freecadweb.org/viewtopic.php?f=22&t=6558&start=30#p95929 (Screw Maker 2.0 - new version!)]
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Geneva Wheel GUI}}: A GUI front end that allows the user to create a Geneva wheel mechanism from scratch.
* {{MacroLink|Macro_BOLTS|Macro BOLTS|Macro BOLTS}}: The aim of BOLTS is to build a free and open-source standard parts library for CAD applications.
* [[Image:Part_Prism_Apothem.png|24px]] {{MacroLink|Macro Apothem Based Prism GUI}} A GUI dialog that creates an Apothem, (inradius) Based Prism from user input.
* {{MacroLink|FreeCAD Doc|Macro PartsLibrary|Macro PartsLibrary}}: Starts the Parts library browser
</div>
</div>
</div>
</div>


<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">
[[File:Applications-accessories.svg]] Utility<!--T:7-->
===[[File:Part_CheckGeometry.svg]] 3D View operations===
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
* {{MacroLink|Text-x-python|Macro Rotate View|Macro Rotate View}}: This macro rotates the current view by 90° to the left. Only works if you are in Top view.
* {{MacroLink|Text-x-python|Macro View Rotation|Macro View Rotation}}: Provides a GUI to permit rotation of view by precise amounts in all three directions.
* {{MacroLink|Text-x-python|Macro Texture Objects|Macro Texture Objects}}: This macro allows you to temporarily put a texture image on the selected objects.
* {{MacroLink|Text-x-python|Macro Mouse Cross|Macro Mouse Cross}}: This small macro turns the arrow of the mouse in a precision cross.
* {{MacroLink|Text-x-python|Macro Align View to Face|Macro Align View to Face}}: This macro aligns the current view to a selected face.
* {{MacroLink|Text-x-python|Macro Align Object to View|Macro Align Object to View}}: This macro align the selected object to the current View and set the coordinates Placement of the camera.
* {{MacroLink|Text-x-python|Macro Align Face Object to View|Macro Align Face Object to View}}: This macro align the face of the selected object to the current View (in case face hole the hole is placed to the view).
* {{MacroLink|Macro_Toggle_Views_Visibility|Macro Toggle Panels Visibility|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.
* {{MacroLink|FCCamera_00|Macro FCCamera|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 ...
* {{MacroLink|Macro SelectVisible|Macro SelectVisible|Macro Toggle Visibility}}: Set of three macro, macro '''1:''' hidden the objects not selected, macro '''2:''' displayed alls objects, macro '''3:''' hidden alls objects.
* {{MacroLink|SelectVisible|Macro SelectVisible|Macro SelectVisible}}: All visible objects in the tree will be selected.
* {{MacroLink|Text-x-python|Macro Manage Navigational Style|Macro Manage Navigational Style}}: This pair of macros allow you to alter the Navigation Style while in the Sketcher.
</div>
</div>


<div class="toccolours mw-collapsible mw-collapsed">
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro MessageBox}}: shows how to give information to the user through the GUI.
===[[File:Bulb.svg]] Wizards===
* [[Image:FCInfo.png|24px]] {{MacroLink|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
<div class="mw-collapsible-content">
* [[Image:FCInfo.png|24px]] {{MacroLink|Macro FCInfo Alternate Linux}}: same as above, but for Linux
* {{MacroLink|Text-x-python|Macro Sheet Metal Unfolder|Macro Sheet Metal Unfolder}}: Creates an unfolded part from a sheet-metal-part.
* [[Image:Macro_FCInfoGlass.png|24px]] {{MacroLink|Macro FCInfoGlass}}: Gives a series of information about the selected shape and displayed in screen 3D
* {{MacroLink|Text-x-python|Macro Unroll Ruled Surface|Macro Unroll Ruled Surface}}: allows to unroll ruled surfaces and to draw them on a page.
* [[Image:FCInfoToMouse.png|24px]] {{MacroLink|Macro FCInfoToMouse}}: Provide informations coordinates, length and angles in real time on the mouse in a bubble annotation displayed in the 3D screen
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro 3d Printer Slicer}}: Exports current design to slicer software or CAM software.
* {{MacroLink|Text-x-python|Macro Unfold Box|Macro Unfold Box}}: allows to unfold the surfaces of a box of any shape and to draw them on a page.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Delta xyz}}: Gives the Delta values and the distance between 2 points
* {{MacroLink|Text-x-python|Macro Airfoil Import & Scale|Macro Airfoil Import & Scale}}: Imports and scales a .dat airfoil to desired chord length.
* {{MacroLink|GW_Dim|Macro Geneva Wheel|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.
* [[File:CenterFace.png|24px]] {{MacroLink|Macro CenterFace}}: This macro red trace (editable) the center face (mass) with 1 point and print the coordinates
* {{MacroLink|GW_Dim|Macro Geneva Wheel GUI|Macro Geneva Wheel GUI}}: A GUI front end that allows the user to create a Geneva wheel mechanism from scratch.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro ObjectInfo}}: User-friendly "Info" module created by a FreeCAD user
* {{MacroLink|FCSpring_Helix_Variable|Macro FCSpring Helix Variable|Macro FCSpring Helix Variable}}: This macro create one spring truncate, the troncature is adjustable on the all coil to choice.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro MacroMenu}}: Add the macros found in the macros folder to the Macros menu of FreeCAD
* {{MacroLink|Cabinets32|Macro Cabinets32|Macro Cabinets32}}: creates side and top/bottom walls for a cabinet with drilled holes for connection parts of manufacturer Hettich.
* [[Image:Force_Recompute.png|24px]] {{MacroLink|Macro ForceRecompute}}: Forces manual recompute of model
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Shake Sketch}}: Shake a sketch in order to discover its unconstrained parts.
* {{MacroLink|Text-x-python|Macro Half_turn_stairs|Macro Half_turn_stairs}}: Creates a half turn (left/right) stair from a Data-file.
* {{MacroLink|Macro_Half_Hull_Model|Macro Half-Hull Model|Macro Half-Hull Model}}: This macro generates both three dimensional [http://en.wikipedia.org/wiki/Half_hull_model_ship half-hull] and full-hull models from a series of 2D line drawings.
* [[Image:Replace_Part.png|24px]] {{MacroLink|Macro Replace Part in Assembly}}: Replaces a part (simple copy) in an "Assembly" with another Part (simple copy).
* {{MacroLink|Text-x-python|Macro Stairs|Macro Stairs}}: Create stair helix, create your stair nosing select and run the macro.
* [[File:WF_wf.png|24px]] {{MacroLink|Macro WorkFeatures}}: Tool utility to create plans of the axes, planes from 3 points, axes on a form, information on the coordinates of the shape and many other useful features to facilitate the creation of your project. This utility is up next in the combo view.
* {{MacroLink|Gearworkbech|Macro FCGear|Macro FCGear}}: Additional Workbench to create different types of gears, involute gear, involute rack, cycloide gear, bevel gear.
* [[File:Macro_Dump_Objects.png|24px]] {{MacroLink|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.
* {{MacroLink|Text-x-python|Macro Corner shapes wizard|Macro Corner shapes wizard}}: 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
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Manage Navigational Style}}: This pair of macros allow you to alter the Navigation Style while in the Sketcher.
* [[File:Macro_Toggle_Drawstyle.png|24px]] {{MacroLink|Macro Toggle Drawstyle}}: This macro toggles the Drawstyle of the selected object
* [[File:Macro_Toggle_Views_Visibility.png|24px]] {{MacroLink|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.
* [[File:Macro_Python_Assistant_Window.png|24px]] {{MacroLink|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.
* [[File:Macro_Build_Utility.png|24px]] {{MacroLink|Macro Build Utility}}: This macro provides a utility to assemble a project from sub-project files using the Merge Project facility.
* [[File:FCCamera_00.png|24px]] {{MacroLink|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 ...
* [[File:Macro_Global_Variable_Watcher.png|24px]] {{MacroLink|Macro Global Variable Watcher}}: This macro facilitates the user selecting global variables and monitoring their values.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro HighlightCommon}}: Highlight common parts.
* [[Image:HighlightDifference.png|24px]] {{MacroLink|Macro HighlightDifference}}: Compute the difference between two shapes.
* [[Image:PropertyMemo.png|24px]] {{MacroLink|Macro PropertyMemo}}: This little macro create one Property additional (memo or other text) for you object (only Draft)
* [[Image:Macro SelectVisible.png|24px]] {{MacroLink|Macro Toggle Visibility}}: Set of three macro, macro '''1:''' hidden the objects not selected, macro '''2:''' displayed alls objects, macro '''3:''' hidden alls objects.
* [[Image: SelectVisible.png|24px]] {{MacroLink|Macro SelectVisible}}: All visible objects in the tree will be selected.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro cross section}}: displays an interactively slidable cross-section.
* [[Image: Macro_MeasureCircle.png|24px]] {{MacroLink|Macro MeasureCircle}}: Compute the radius of a circle by 3 points or a circular edge.
* [[Image:Macro_Copy3DViewToClipboard.png|24px]] {{MacroLink|Macro Copy3DViewToClipboard}}: Copy contents of 3DView resized 640, 480 px to clipboard .
</div>
</div>
</div>
</div>


<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">
[[File:Freecad16.svg]] Mathematical functions <!--T:23-->
===[[File:Arch_Survey.svg]] Utility===
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
* {{MacroLink|CenterFace|Macro CenterFace|Macro CenterFace}}: This macro red trace (editable) the center face (mass) with 1 point and print the coordinates
* {{MacroLink|Macro_Center_Align_Objects_with_Faces_or_Edges|Macro Center Align Objects with Faces or Edges|Macro Center Align Objects with Faces or Edges}}: This macro covers the following constraints: - Concentric constraint among non cylindrical parts; - Constraint on center Faces and/or Edges.
* {{MacroLink|Macro_Easy_Cutouts_for_Enclosures|Macro Easy cutouts for Enclosure Design|Macro Easy cutouts for Enclosure Design}}: This macro makes Cutouts for Enclosures in a very handy way
* {{MacroLink|Text-x-python|Macro MacroMenu|Macro MacroMenu}}: Add the macros found in the macros folder to the Macros menu of FreeCAD
* {{MacroLink|Force_Recompute|Macro ForceRecompute|Macro ForceRecompute}}: Forces manual recompute of model
* {{MacroLink|Text-x-python|Macro Shake Sketch|Macro Shake Sketch}}: Shake a sketch in order to discover its unconstrained parts.
* {{MacroLink|Replace_Part|Macro Replace Part in Assembly|Macro Replace Part in Assembly}}: Replaces a part (simple copy) in an "Assembly" with another Part (simple copy).
* {{MacroLink|Macro_Toggle_Drawstyle|Macro Toggle Drawstyle|Macro Toggle Drawstyle}}: This macro toggles the Drawstyle of the selected object
* {{MacroLink|Text-x-python|Macro HighlightCommon|Macro HighlightCommon}}: Highlight common parts.
* {{MacroLink|HighlightDifference|Macro HighlightDifference|Macro HighlightDifference}}: Compute the difference between two shapes.
* {{MacroLink|Text-x-python|Macro cross section|Macro cross section}}: displays an interactively slidable cross-section.
* {{MacroLink|Macro_Copy3DViewToClipboard|Macro Copy3DViewToClipboard|Macro Copy3DViewToClipboard}}: Copy contents of 3DView resized 640, 480 px to clipboard .
* {{MacroLink|BoundBoxTracing|Macro BoundingBox Tracing|Macro BoundingBox Tracing}}: This macro red trace (editable) around the BoundingBox with 6 rectangles
* {{MacroLink|Text-x-python|Macro Arch Axis System Repartition|Macro Arch Axis System Repartition}}: This macro help you to create an Arch Axis System along a line with a set of parameters.
</div>
</div>


<div class="toccolours mw-collapsible mw-collapsed">
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro 3D Parametric Curve}}: Draw a function described by parametric equations x(t), y(t) and z(t).
===[[File:Tree_Python.svg]] Mathematical functions===
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Draw 2D Function}}: draws a function described by an equation z=F(x)
<div class="mw-collapsible-content">
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Draw Parametric 2D Function}}: Based on the above macro, but for parametric and optionally polar equations.
* {{MacroLink|Text-x-python|Macro 3D Parametric Curve|Macro 3D Parametric Curve}}: Draw a function described by parametric equations x(t), y(t) and z(t).
* {{MacroLink|Text-x-python|Macro Draw 2D Function|Macro Draw 2D Function}}: draws a function described by an equation z=F(x)
* {{MacroLink|Text-x-python|Macro Draw Parametric 2D Function|Macro Draw Parametric 2D Function}}: Based on the above macro, but for parametric and optionally polar equations.
</div>
</div>
</div>
</div>


<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">
[[File:Freecad16.svg]] Animation <!--T:22-->
===[[File:Draft_FlipDimension.svg]] Animation===
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
* {{MacroLink|Text-x-python|Macro crank simul|Macro crank simul}}: Rotation rod and piston
* {{MacroLink|Text-x-python|Macro Spring|Macro Spring}}: Simulation of one spring
* {{MacroLink|Text-x-python|Macro hinge|Macro hinge}}: Open and close hinge
* {{MacroLink|Text-x-python|Macro Assembly|Macro Assembly}}: Assembly animate
* {{MacroLink|Text-x-python|Macro Animated Constrain|Macro Animated Constrain}}: Animate angle constrain in sketcher
* {{MacroLink|Text-x-python|Macro Assemblage Imprimante 3D|Macro Assemblage Imprimante 3D}}: Simulation of movements of a 3D printer
</div>
</div>


<div class="toccolours mw-collapsible mw-collapsed">
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro crank simul}}: Rotation rod and piston
===[[File:View.svg]] Printer 3D===
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Spring}}: Simulation of one spring
<div class="mw-collapsible-content">
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro hinge}}: Open and close hinge
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Assembly}}: Assembly animate
* {{MacroLink|Text-x-python|Macro 3d Printer Slicer|Macro 3d Printer Slicer}}: Exports current design to slicer software or CAM software.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Animated Constrain}}: Animate angle constrain in sketcher
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Assemblage Imprimante 3D}}: Simulation of movements of a 3D printer
</div>
</div>
</div>
</div>


<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">
[[File:Raytrace_New.svg]] Raytracing<!--T:24-->
===[[File:Preferences-raytracing.svg]] Raytracing===
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
* {{MacroLink|Text-x-python|Macro FreeCAD to Kerkythea|Macro FreeCAD to Kerkythea}}: Export from FreeCAD to Kerkythea
</div>
</div>


<div class="toccolours mw-collapsible mw-collapsed">
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro FreeCAD to Kerkythea}}: Export from FreeCAD to Kerkythea
===[[File:Fem_ResultDisplacement.svg]] FEM===
<div class="mw-collapsible-content">
* {{MacroLink|Text-x-python|Macro GMSH|Macro GMSH}}: Create FEM Meshes by GMSH Mesh Generator
</div>
</div>
</div>
</div>


<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">
[[File:Fem_Result.svg]] FEM <!--T:27-->
===[[File:Drawing-orthoviews.svg]] Drawing Workbench===
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
* {{MacroLink|Text-x-python|Macro Automatic drawing|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
* {{MacroLink|Text-x-python|Macro CartoucheFC|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.
* {{MacroLink|Macro_CartoucheFC_Full|Macro CartoucheFC Full|Macro CartoucheFC Full}}: This GUI macro to fill simply all fields of the cartridge '''model 1''' 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.
* {{MacroLink|Text-x-python|Macro CartoucheFC 2|Macro CartoucheFC 2}}: This GUI macro to fill simply all fields of the cartridge '''model 2''' of the plan implementation worksheet FreeCAD.
* {{MacroLink|Text-x-python|Macro Normal Vector|Macro Normal Vector}}: Get the normal vector of a preselected face for creating a drawing view normal to that face
</div>
</div>


<div class="toccolours mw-collapsible mw-collapsed">
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro GMSH}}: Create FEM Meshes by GMSH Mesh Generator
===[[File:Draft_BSpline.svg]] Dxf 2D Draft===
<div class="mw-collapsible-content">
* {{MacroLink|Text-x-python|Macro Rectellipse|Macro Rectellipse}}: creates a parametric rectellipse
* {{MacroLink|Macro_Draft_Circle_3_Points|Macro Make Circle 3 Points|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).
* {{MacroLink|Macro_Draft_Circle_3_Points|Macro Draft Circle 3 Points|Macro Draft Circle 3 Points}}: creates a circle from 3 selected points 2D orthogonal
* {{MacroLink|Macro_Draft_Circle_3_Points|Macro Draft Circle 3 Points 3D|Macro Draft Circle 3 Points 3D}}: creates a circle from 3 selected points in the space 3D
* {{MacroLink|Macro Make Arc 3 Points|Macro Make Arc 3 Points|Macro Make Arc 3 Points}}: creates a arc from 3 selected points
* {{MacroLink|Text-x-python|Macro Ellipse-Center+2Points|Macro Ellipse-Center+2Points}} Makes an ellipse by selecting three points (in this order): centre, major radius and minor radius
* {{MacroLink|Macro_FCConvertLines|Macro FCConvertLines|Macro FC Convert Lines}}: this macro convert the object line, wire in line Dash, DashDot, DashDotDot,ZigZag and Hand with the dimensions given.
* {{MacroLink|Text-x-python|Macro EdgesToArc|Macro EdgesToArc}}: Converts the selected Edges to a circular Arc if possible. Useful for restoring discretized arcs.
* {{MacroLink|Text-x-python|Macro Creating faces from a DXF file|Macro Creating faces from a DXF file}}: This macro create face from a DXF file, the "Layer" are recognized separate and trained in groups.
* {{MacroLink|Macro_DXF_to_Face_and_Sketch|Macro DXF to Face and Sketch|Macro DXF to Face and Sketch}}: This macro converts selected elements of imported dxf to face and sketch.
* {{MacroLink|Macro_Compound_Plus|Macro_Compound_Plus|Macro Compound Plus}}: Draf command set in a small macro for the 2D sketch example: work with the DXF files.
* {{MacroLink|Macro Dxf To Shape|Macro Dxf To Shape|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
</div>
</div>
</div>
</div>


<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">
[[File:Drawing-orthoviews.svg]] Drawing Workbench <!--T:28-->
===[[File:Spreadsheet.svg]] Spreadsheet Workbench===
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
* {{MacroLink|aliasmanager_icon|Macro Alias Manager|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.
</div>
</div>


<div class="toccolours mw-collapsible mw-collapsed">
* [[Image:Text-x-python.png|24px]] {{MacroLink|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
===[[File:Applications-python.svg]] Code and Scripting===
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Corner shapes wizard}}: 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
<div class="mw-collapsible-content">
* [[Image:Text-x-python.png|24px]] {{MacroLink|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.
* {{MacroLink|Text-x-python|Macro MessageBox|Macro MessageBox}}: shows how to give information to the user through the GUI.
* [[File:Macro_CartoucheFC_Full.png|24px]] {{MacroLink|Macro CartoucheFC Full}} This GUI macro to fill simply all fields of the cartridge '''model 1''' 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.
* {{MacroLink|Macro_Python_Assistant_Window|Macro Python Assistant Window|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.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro CartoucheFC 2}} This GUI macro to fill simply all fields of the cartridge '''model 2''' of the plan implementation worksheet FreeCAD.
* {{MacroLink|Macro_Build_Utility|Macro Build Utility|Macro Build Utility}}: This macro provides a utility to assemble a project from sub-project files using the Merge Project facility.
* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro Normal Vector}}: Get the normal vector of a preselected face for creating a drawing view normal to that face
* {{MacroLink|Macro_Global_Variable_Watcher|Macro Global Variable Watcher|Macro Global Variable Watcher}}: This macro facilitates the user selecting global variables and monitoring their values.
* {{MacroLink|PropertyMemo|Macro PropertyMemo|Macro PropertyMemo}}: This little macro create one Property additional (memo or other text) for you object (only Draft)
</div>
</div>
</div>
</div>



<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">
[[File:Freecad16.png|24px]] Other interesting macros create and deposit in extra wiki
===[[File:Std_FreeCADWebsite.png|32px]] Other interesting macros create by FreeCAD users and deposit in extra wiki.===
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
* [[Image:2364.png|24px]] [https://github.com/microelly2?tab=repositories By microelly2] : freeCAD_macro, geodata, Animation, freecad-nurbs, PieMenu, ..... other
* [[Image:2364.png|24px]] [https://github.com/microelly2?tab=repositories By microelly2] : freeCAD_macro, geodata, Animation, freecad-nurbs, PieMenu, ..... other

* [[Image:Text-x-python.png|24px]] [https://github.com/hamish2014?tab=repositories By hamish2014]: FreeCAD_assembly2, FreeCAD_drawing_dimensioning, ...
* [[Image:Text-x-python.png|24px]] [https://github.com/hamish2014?tab=repositories By hamish2014]: FreeCAD_assembly2, FreeCAD_drawing_dimensioning, ...

* [[Image:Text-x-python.png|24px]] [https://github.com/triplus?tab=repositories By triplus]: IconThemes, ShortCuts, NavigationIndicator, TabBar, Launcher, PersistentToolbars, PieMenu, ....
* [[Image:Text-x-python.png|24px]] [https://github.com/triplus?tab=repositories By triplus]: IconThemes, ShortCuts, NavigationIndicator, TabBar, Launcher, PersistentToolbars, PieMenu, ....

* [[File:681.jpg |24px]] [https://github.com/wood-galaxy By rockn]: FreeCAD-Timber, FreeCAD-addons, FreeCAD-library, FreeCAD-StructuresBois, .... other
* [[File:681.jpg |24px]] [https://github.com/wood-galaxy By rockn]: FreeCAD-Timber, FreeCAD-addons, FreeCAD-library, FreeCAD-StructuresBois, .... other

* [[Image:Text-x-python.png|24px]] [https://github.com/oddtopus?tab=repositories By oddtopus]: flamingo (workbench for metal structures)
* [[Image:Text-x-python.png|24px]] [https://github.com/oddtopus?tab=repositories By oddtopus]: flamingo (workbench for metal structures)



</div>
</div>
</div>
</div>


== How to use? ==

== How to use? == <!--T:8-->
[[File:Macro Recipes MacroHowToInstall.png|200px|left|Macro how to install]]
[[File:Macro Recipes MacroHowToInstall.png|200px|left|Macro how to install]]
'''The above macros can easily be plugged on any FreeCAD installation'''
'''The above macros can easily be plugged on any FreeCAD installation'''
Line 232: Line 261:
* Tutorial [[How to install macros]]
* Tutorial [[How to install macros]]


<!--T:9-->
'''Additionally, you can also add your new macro to a custom toolbar'''
'''Additionally, you can also add your new macro to a custom toolbar'''
* In FreeCAD, go to Tools -> Customize
* In FreeCAD, go to Tools -> Customize
* In the Macros tab, add a new macro, and, if you like, define an icon and a keyboard shortcut
* In the Macros tab, add a new macro, and, if you like, 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.
* In the Toolbars tab, create a new toolbar, and add your macro, taking it from the "Macros" category.
* Tutorial [[Customize_ToolsBar|Customize ToolsBar]]
* Tutorial [[Customize_Toolbars|Customize Toolbars]]
{{clear}}
{{clear}}


== Adding new macros to this repository == <!--T:10-->
== Adding new macros to this repository ==
* Create a new page, beginning its name with "Macro", for example "Macro_My_Excellent_Macro", this can be done simply by editing this page, and adding a new link to your macro, like this:<br />
* Create a new page, beginning its name with "Macro", for example "Macro_My_Excellent_Macro", this can be done simply by editing this page, and adding a new link to your macro, like this:<br />
** example :
** example :

</translate>
{{Code|code=
{{Code|code=
<nowiki>* [[Image:Text-x-python.png|24px]] {{MacroLink|Macro My Excellent Macro}} : My excellent macro description</nowiki>.}}<translate>
<nowiki>* {{MacroLink|Text-x-python|Macro My Excellent Macro|Macro My Excellent Macro title}} : My excellent macro description</nowiki>.}}

<!--T:31-->
* '''Text-x-python''' : icon by default (replace with your name icon with the exact same name as your macro page if there is)
* '''Text-x-python''' : icon by default (replace with your name icon with the exact same name as your macro page if there is. The format always '''.png''' only)
* '''Macro My Excellent Macro''' : macro name
* '''Macro My Excellent Macro''' : macro name
* '''Macro My Excellent Macro title''' : macro name or title


<!--T:32-->
A new page (red link) will be created.
A new page (red link) will be created.
* In that page, paste the following text:
* In that page, paste the following text:


<!--T:12-->
(With the default icon)
(With the default icon)

</translate>
<nowiki>{{Macro|Icon=Text-x-python|Name=Macro_My_Excellent_Macro|Description=What my excellent macro does|Author=your username|Version=1.0}}</nowiki>
<nowiki>{{Macro|Icon=Text-x-python|Name=Macro_My_Excellent_Macro|Description=What my excellent macro does|Author=your username|Version=1.0}}</nowiki>

<translate>
<!--T:13-->
(With the icon custom)
(With the icon custom)
</translate>
<nowiki>{{Macro|Icon=Macro_My_Excellent_Macro|Name=Macro_My_Excellent_Macro|Description=What my excellent macro does|Author=your username|Version=1.0}}</nowiki>
<nowiki>{{Macro|Icon=Macro_My_Excellent_Macro|Name=Macro_My_Excellent_Macro|Description=What my excellent macro does|Author=your username|Version=1.0}}</nowiki>

<translate>
<!--T:14-->
(Another language with the default icon (example "/fr" "/de" "/it"....))
(Another language with the default icon (example "/fr" "/de" "/it"....))

</translate>
<nowiki>{{Macro/fr|Icon=Text-x-python|Name=Macro_My_Excellent_Macro|Name/fr=Macro_My_Excellent_Macro|Description=
<nowiki>{{Macro/fr|Icon=Text-x-python|Name=Macro_My_Excellent_Macro|Name/fr=Macro_My_Excellent_Macro|Description=
What my excellent macro does|Author=your username|Version=1.0}}</nowiki>
What my excellent macro does|Author=your username|Version=1.0}}</nowiki>

<translate>
<!--T:15-->
(Another language with the icon custom (example "/fr" "/de" "/it"....))
(Another language with the icon custom (example "/fr" "/de" "/it"....))

</translate>
<nowiki>{{Macro/fr|Icon=Macro_My_Excellent_Macro|Name=Macro_My_Excellent_Macro|Name/fr=Macro_My_Excellent_Macro|Description=
<nowiki>{{Macro/fr|Icon=Macro_My_Excellent_Macro|Name=Macro_My_Excellent_Macro|Name/fr=Macro_My_Excellent_Macro|Description=
What my excellent macro does|Author=your username|Version=1.0}}</nowiki>
What my excellent macro does|Author=your username|Version=1.0}}</nowiki>

<translate>
<!--T:16-->
*You can also [http://www.freecadweb.org/wiki/index.php?title=Special:Upload Upload ] a custom format icon'''.png'''<br />'''Note that the name of the icon must have the same name as the name of the macro'''.
*You can also [http://www.freecadweb.org/wiki/index.php?title=Special:Upload Upload ] a custom format icon'''.png'''<br />'''Note that the name of the icon must have the same name as the name of the macro'''.
**example: " Macro_My_Excellent_Macro " '''without extension''' (the extension is given by the system), and, replace " Icon='''Text-x-python''' " by " Icon='''Macro_My_Excellent_Macro''' "
**example: " Macro_My_Excellent_Macro " '''without extension''' (the extension is given by the system), and, replace " Icon='''Text-x-python''' " by " Icon='''Macro_My_Excellent_Macro''' "
**'''Text-x-python''' [[Image:Text-x-python.png|32px]] is the default icon of the page dedicated to the Macro.
**'''Text-x-python''' [[Image:Text-x-python.png|32px]] is the default icon of the page dedicated to the Macro.


<!--T:17-->
* Paste your macro, and use the [[Template:Code|Code template]] to avoid adding spaces into your script. This will display the macro in a monospace font inside a light grey box like the example above.
* Paste your macro, and use the [[Template:Code|Code template]] to avoid adding spaces into your script. This will display the macro in a monospace font inside a light grey box like the example above.
* If you like, upload a .png icon with the exact same name as your macro page (ex. Macro_My_Excellent_Macro.png)
* If you like, upload a .png icon with the exact same name as your macro page (ex. Macro_My_Excellent_Macro.png)
Line 288: Line 309:
* It is also interesting to include version information in your macro. This macro allows you to locate in time compared to the evolution of FreeCAD, do "Menu > Help > About FreeCAD and click to Copy to clipboard" and paste it your macro
* It is also interesting to include version information in your macro. This macro allows you to locate in time compared to the evolution of FreeCAD, do "Menu > Help > About FreeCAD and click to Copy to clipboard" and paste it your macro


<!--T:19-->
Ex:
Ex:


</translate>
{{Code|code=
{{Code|code=
#OS: Windows Vista
#OS: Windows Vista
Line 302: Line 321:
#OCC version: 6.5.1
#OCC version: 6.5.1
}}
}}

<translate>
<!--T:25-->
It is also advisable to create a macro in your header, this header can be used by the [http://forum.freecadweb.org/viewtopic.php?t=10556 Plugin Loader] program to install the macro and check versions. Also available [https://github.com/FreeCAD/FreeCAD-addons addons_installer.FCMacro]
It is also advisable to create a macro in your header, this header can be used by the [http://forum.freecadweb.org/viewtopic.php?t=10556 Plugin Loader] program to install the macro and check versions. Also available [https://github.com/FreeCAD/FreeCAD-addons addons_installer.FCMacro]


<!--T:26-->
Ex:
Ex:
</translate>
{{Code|code=
{{Code|code=


Line 326: Line 342:
__Communication__ = "http://www.freecadweb.org/wiki/index.php?title=User:User_Name"
__Communication__ = "http://www.freecadweb.org/wiki/index.php?title=User:User_Name"
}}
}}
<translate>



<!--T:21-->
* Add it to the above categories, create a new category if needed.
* Add it to the above categories, create a new category if needed.


===Tutorials=== <!--T:30-->
===Tutorials===
* [[How to install macros|How to install macros]]
* [[How to install macros|How to install macros]]
* [[Customize_ToolsBar|Customize ToolsBar]]
* [[Customize_Toolbars|Customize Toolbars]]
* [[How_to_install_additional_workbenches|How to install additional workbenches]]
* [[How_to_install_additional_workbenches|How to install additional workbenches]]




<!--T:18-->
[[Category:Repository]]
[[Category:Repository]]
[[Category:Macros]]
[[Category:Macros]]
[[Category:Python Code]]
[[Category:Python Code]]



</translate>
<languages/>





Revision as of 15:59, 24 January 2017

my personal Sanbox Mario52
Not For Release - Do not Translate - Do not change - Not to read - Not to look
Tutorial
Topic
Macros
Level
Beginner
Time to complete
Authors
FreeCAD version
Example files
See also
None

This page contains macros to add functionality to your freecad installation

Macros

Object creation

  • Macro Make Cube: creates a rectangular cuboid from 4 points
  • 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 Geodesic Dome: This macro creates a geodesic dome shell
  • Macro Line Length: Create a line giving coordinate XYZ length and angle to plane X Y
  • Macro cutLine: 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.
  • Macro circle: Create a circle or arc giving radius, diameter, circumference, area, startangle, endangle, arc, anglecenter, cord, arrow, center (point) on choice.
  • Macro cutCircle: Cut a circle or arc and create x arcs, giving the number of cut.
  • Macro triangleAH: This macro create one triangle creates a triangle by giving the head angle and the height of the triangle (the triangle of the head is positioned to the xyz coordinates 0.0)
  • Macro FCTexture: Create a project from a bmp image to create a texture easily
  • Macro FCCreaLoft: Create a loft with a list of wire (specially created for Macro Texture see above)
  • Macro FCCircularText: This macro create a text around a cylinder
  • Macro WireXYZ: This macro creates a Wire with the coordinates extracted from a file. The coordinates X Y Z are separated by a space.
  • Macro ReproWire: This macro reproduce all element selected subobject wire or face.
  • Macro Apothem Based Prism GUI: A GUI dialog that creates an Apothem, (inradius) Based Prism from user input.

Object transformation

  • Macro ArrayCopy: copies the selected object several times, on an array grid
  • Macro FlattenWire: flattens draft wires that are not planar to their median Z coordinate
  • Macro FlattenWire3Points: flattens draft wires that are not planar to a plane defined by 3 points
  • Macro JointWire: allows to find and joint all non connected edge to the closest non connected one using a line
  • Macro Remove parametric history: removes all parametric associativity from an object, leaving it as a "dumb" shape
  • 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
  • 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
  • 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 Image Scaling: Macro for easy scaling drawings, graphics, diagram, blueprint and similar 2D images in Image workbench.
  • Macro MatrixTransform: apply linear space transformations to distort shapes. E.g., non-uniform scaling, shearing, mirroring, axes swapping.
  • Macro Connect And Sweep: This macro easily creates a connection between two objects, an object and a point or between two points (the center of the objects are the starting and ending points of the sweep) can be selected form a configurable ellipse polygon circle
  • Macro Section: (parametric): alternative implementation of Part Section tool, more suitable for making sweep paths.
  • Macro Overlap: (parametric): Boolean operation. Similar to Part Common, but with custom overlap count threshold.
  • 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.

Info and measures

  • 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
  • Macro FCInfo Alternate Linux: same as above, but for Linux
  • Macro FCInfoGlass: Gives a series of information about the selected shape and displayed in screen 3D
  • Macro FCInfoToMouse: Provide informations coordinates, length and angles in real time on the mouse in a bubble annotation displayed in the 3D screen
  • Macro Delta xyz: Gives the Delta values and the distance between 2 points
  • Macro ObjectInfo: User-friendly "Info" module created by a FreeCAD user
  • 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 MeasureCircle: Compute the radius of a circle by 3 points or a circular edge.

Conversion

Multifunctional

  • Macro WorkFeatures: Tool utility to create plans of the axes, planes from 3 points, axes on a form, information on the coordinates of the shape and many other useful features to facilitate the creation of your project. This utility is up next in the combo view.

Libraries

3D View operations

  • Macro Rotate View: This macro rotates the current view by 90° to the left. Only works if you are in Top view.
  • Macro View Rotation: Provides a GUI to permit rotation of view by precise amounts in all three directions.
  • Macro Texture Objects: This macro allows you to temporarily put a texture image on the selected objects.
  • Macro Mouse Cross: This small macro turns the arrow of the mouse in a precision cross.
  • Macro Align View to Face: This macro aligns the current view to a selected face.
  • Macro Align Object to View: This macro align the selected object to the current View and set the coordinates Placement of the camera.
  • Macro Align Face Object to View: This macro align the face of the selected object to the current View (in case face hole the hole is placed to the view).
  • 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.
  • 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 SelectVisible: Set of three macro, macro 1: hidden the objects not selected, macro 2: displayed alls objects, macro 3: hidden alls objects.
  • Macro SelectVisible: All visible objects in the tree will be selected.
  • Macro Manage Navigational Style: This pair of macros allow you to alter the Navigation Style while in the Sketcher.

Wizards

  • Macro Sheet Metal Unfolder: Creates an unfolded part from a sheet-metal-part.
  • Macro Unroll Ruled Surface: allows to unroll ruled surfaces and to draw them on a page.
  • Macro Unfold Box: allows to unfold the surfaces of a box of any shape and to draw them on a page.
  • Macro Airfoil Import & Scale: Imports and scales a .dat airfoil to desired chord length.
  • 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.
  • Macro Geneva Wheel GUI: A GUI front end that allows the user to create a Geneva wheel mechanism from scratch.
  • Macro FCSpring Helix Variable: This macro create one spring truncate, the troncature is adjustable on the all coil to choice.
  • Macro Cabinets32: creates side and top/bottom walls for a cabinet with drilled holes for connection parts of manufacturer Hettich.
  • Macro Half_turn_stairs: Creates a half turn (left/right) stair from a Data-file.
  • Macro Half-Hull Model: This macro generates both three dimensional half-hull and full-hull models from a series of 2D line drawings.
  • Macro Stairs: Create stair helix, create your stair nosing select and run the macro.
  • Macro FCGear: Additional Workbench to create different types of gears, involute gear, involute rack, cycloide gear, bevel gear.
  • Macro Corner shapes wizard: 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

Utility

Mathematical functions

Animation

Printer 3D

Raytracing

FEM

  • Macro GMSH: Create FEM Meshes by GMSH Mesh Generator

Drawing Workbench

  • 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: 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 Full: This GUI macro to fill simply all fields of the cartridge model 1 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: This GUI macro to fill simply all fields of the cartridge model 2 of the plan implementation worksheet FreeCAD.
  • Macro Normal Vector: Get the normal vector of a preselected face for creating a drawing view normal to that face

Dxf 2D Draft

Spreadsheet Workbench

  • 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.

Code and Scripting

  • Macro MessageBox: shows how to give information to the user through the GUI.
  • 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.
  • Macro Build Utility: This macro provides a utility to assemble a project from sub-project files using the Merge Project facility.
  • Macro Global Variable Watcher: This macro facilitates the user selecting global variables and monitoring their values.
  • Macro PropertyMemo: This little macro create one Property additional (memo or other text) for you object (only Draft)

Other interesting macros create by FreeCAD users and deposit in extra wiki.

  • By microelly2 : freeCAD_macro, geodata, Animation, freecad-nurbs, PieMenu, ..... other
  • By hamish2014: FreeCAD_assembly2, FreeCAD_drawing_dimensioning, ...
  • By triplus: IconThemes, ShortCuts, NavigationIndicator, TabBar, Launcher, PersistentToolbars, PieMenu, ....
  • By rockn: FreeCAD-Timber, FreeCAD-addons, FreeCAD-library, FreeCAD-StructuresBois, .... other
  • By oddtopus: flamingo (workbench for metal structures)

How to use?

Macro how to install
Macro how to install

The above macros can easily be plugged on any FreeCAD installation

  • Copy the macro python code from the corresponding macro page
  • In FreeCAD, Macro->Macros->Create new, and give it a name
  • Paste the python code you copied
  • Hit the Save button, and restart FreeCAD
  • Open the Macro manager, select your new macro and click "execute"
  • Tutorial How to install macros

Additionally, you can also add your new macro to a custom toolbar

  • In FreeCAD, go to Tools -> Customize
  • In the Macros tab, add a new macro, and, if you like, 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.
  • Tutorial Customize Toolbars

Adding new macros to this repository

  • Create a new page, beginning its name with "Macro", for example "Macro_My_Excellent_Macro", this can be done simply by editing this page, and adding a new link to your macro, like this:
    • example :
* {{MacroLink|Text-x-python|Macro My Excellent Macro|Macro My Excellent Macro title}} : My excellent macro description.
  • Text-x-python : icon by default (replace with your name icon with the exact same name as your macro page if there is. The format always .png only)
  • Macro My Excellent Macro : macro name
  • Macro My Excellent Macro title : macro name or title

A new page (red link) will be created.

  • In that page, paste the following text:

(With the default icon)

{{Macro|Icon=Text-x-python|Name=Macro_My_Excellent_Macro|Description=What my excellent macro does|Author=your username|Version=1.0}}

(With the icon custom)

{{Macro|Icon=Macro_My_Excellent_Macro|Name=Macro_My_Excellent_Macro|Description=What my excellent macro does|Author=your username|Version=1.0}}

(Another language with the default icon (example "/fr" "/de" "/it"....))

{{Macro/fr|Icon=Text-x-python|Name=Macro_My_Excellent_Macro|Name/fr=Macro_My_Excellent_Macro|Description=
 What my excellent macro does|Author=your username|Version=1.0}}

(Another language with the icon custom (example "/fr" "/de" "/it"....))

{{Macro/fr|Icon=Macro_My_Excellent_Macro|Name=Macro_My_Excellent_Macro|Name/fr=Macro_My_Excellent_Macro|Description=
 What my excellent macro does|Author=your username|Version=1.0}}
  • You can also Upload a custom format icon.png
    Note that the name of the icon must have the same name as the name of the macro.
    • example: " Macro_My_Excellent_Macro " without extension (the extension is given by the system), and, replace " Icon=Text-x-python " by " Icon=Macro_My_Excellent_Macro "
    • Text-x-python is the default icon of the page dedicated to the Macro.
  • Paste your macro, and use the Code template to avoid adding spaces into your script. This will display the macro in a monospace font inside a light grey box like the example above.
  • If you like, upload a .png icon with the exact same name as your macro page (ex. Macro_My_Excellent_Macro.png)
  • Add an image: an image is useful to show what the macro does. Optionally you can create an animated gif that represents the object in context. The gif image should have a maximum size of 500x500px as the wiki does not resize animated gifs; if the gif is any bigger the animation won't work.
  • Optionally you can add some more info on how to use your macro, tips, limitations and workaround.
  • It is also interesting to include version information in your macro. This macro allows you to locate in time compared to the evolution of FreeCAD, do "Menu > Help > About FreeCAD and click to Copy to clipboard" and paste it your macro

Ex:

#OS: Windows Vista
#Platform: 32-bit
#Version: 0.14.3389
#Python version: 2.6.2
#Qt version: 4.5.2
#Coin version: 3.1.0
#SoQt version: 1.4.1
#OCC version: 6.5.1

It is also advisable to create a macro in your header, this header can be used by the Plugin Loader program to install the macro and check versions. Also available addons_installer.FCMacro

Ex:

__Title__="Title_Of_macro"
__Author__ = "User_Name"
__Version__ = "00.11"
__Date__    = "25/07/2015"

__Comment__ = "This is the comment of the macro"
__Web__ = "http://forum.freecadweb.org/viewtopic.php?f=3&t=7384"
__Wiki__ = "http://www.freecadweb.org/wiki/index.php?title=Macro_Title_Of_macro"
__Icon__  = "/usr/lib/freecad/Mod/plugins/icons/Title_Of_macro"
__IconW__  = "C:/Documents and Settings/YourUserName/Application Data/FreeCAD"
__Help__ = "start the macro and follow the instructions"
__Status__ = "stable"
__Requires__ = "freecad 0.14.3706"
__Communication__ = "http://www.freecadweb.org/wiki/index.php?title=User:User_Name"


  • Add it to the above categories, create a new category if needed.

Tutorials



[[Category:Administration]]