External workbenches: Difference between revisions

From FreeCAD Documentation
(Use table with information)
(Use table with organized information)
(13 intermediate revisions by the same user not shown)
Line 10: Line 10:


== Introduction == <!--T:1-->
== Introduction == <!--T:1-->

Power users have extended FreeCAD with various custom [[workbenches|workbenches]] and addons that are not integrated into the main FreeCAD source code but can be added to an existing FreeCAD installation.
[[External_workbenches|External workbenches]] are those created by power users which haven't been integrated into the main FreeCAD source code.


<!--T:16-->
<!--T:16-->
Most extensions can be installed from the [[Addon Manager|Addon Manager]], menu {{MenuCommand|Tools → [[Image:AddonManager.svg|24px]] Addon manager}}. If there are specific instructions and dependencies for installing or using the workbenches, these should be noted in each workbench's home page.
Most extensions can be installed from the [[Std_AddonMgr|Addon Manager]] (menu {{MenuCommand|Tools → [[Image:AddonManager.svg|24px]] [[Std_AddonMgr|Addon manager]]}}). If there are specific instructions for using these workbenches, these should be noted in each workbench's home page.


<!--T:32-->
<!--T:32-->
Line 19: Line 20:


<!--T:46-->
<!--T:46-->
See [[External_workbench_list|external workbench list]] for an alphabetic list, as they appear in the [[Std_AddonMgr|Addon Manager]].
The lists in this page are organized in topics, but not all of them are available in the [[Std_AddonMgr|Addon Manager]]. See [[External_workbench_list|external workbench list]] for an alphabetic list of those workbenches that really appear in the [[Std_AddonMgr|Addon Manager]].


== Current extensions == <!--T:14-->
== Current extensions == <!--T:14-->
Line 29: Line 30:
<!--T:44-->
<!--T:44-->
{| class="sortable wikitable"
{| class="sortable wikitable"
! style="width:4%;" |Icon
!Icon
! style="width:8%;" |Name
!Name
!Topic
! style="width:10%;" |Topic
!Description
! style="width:56%;" |Description
!Author
! style="width:8%;" |Author
! style="width:10%;" |Code
!Code
!Status
! style="width:4%;" |Status
|-
|-
|[[File:Mooc-workbench.png|24px]]
|[[File:Mooc-workbench.png|32px]]
|[[MOOC_Workbench|MOOC]]
|[[MOOC_Workbench|MOOC]]
|General
|General
Line 48: Line 49:


<!--T:28-->
<!--T:28-->
{| class="sortable wikitable"
* [https://github.com/furti/FreeCAD-ArchTextures/tree/master ArchTextures] (github link) allows you to add basic, non-photorealistic textures to architectural objects created with the [[Arch Workbench|Arch Workbench]].
! style="width:4%;" |Icon
* [[BIM Workbench|BIM]] aims to implement a complete building information modeling (BIM) workflow in FreeCAD. It extends the [[Arch Workbench|Arch Workbench]], and gathers many tools from other workbenches to provide an environment that is convenient and user friendly to model buildings, and work with IFC files.
! style="width:8%;" |Name
* [[Flamingo Workbench|Flamingo]] is a set of customized FreeCAD commands and objects that help speed-up the creation of frames (trusses, beams) and pipelines (tubes, elbows, flanges). It has utilities to query the objects, and to move and rotate the work plane on the fly.
! style="width:10%;" |Topic
* [https://github.com/j-wiedemann/FreeCAD-Timber FreeCAD-Timber]: (github link) Structures wood, and more. This workbench is no longer being maintained.
! style="width:56%;" |Description
* [https://github.com/microelly2/geodata/tree/master GeoData] (github link) is an extension to import geographical information from a given point on Earth by its latitude and longitude, of from OpenStreetMap, Google Maps, Bing Map, or Here Map.
! style="width:8%;" |Author
* [https://github.com/HakanSeven12/FreeCAD-Geomatics-Workbench Geomatics]: (github link) this workbench is being developed from code from GeoData to provide functionality specific to Geomatics or Survey engineering, including importing point files, creating surfaces, creating contours, and creating sections.
! style="width:10%;" |Code
* [[Reinforcement Addon|Reinforcement]] is a small extension that augments the [[Arch Workbench|Arch Workbench]] with additional [[Arch Rebar|Arch Rebar]] tools, including straight, U-shape, L-shape, bent, stirrup, and helical, to be used inside objects created with the [[Arch Structure|Arch Structure]] tool.
! style="width:4%;" |Status
* [https://github.com/FreeCAD/FreeCAD-render/tree/master Render] (github link) is a workbench to produce high-quality rendered images, using open-source external rendering engines like Pov-ray, Luxrender, and Appleseed. Render is a replacement for the [[Raytracing Workbench|Raytracing Workbench]], and uses the same templates so they are compatible. Render is completely written in Python which means it can be extended more easily by non-C++ programmers. In the future Render may also support Kerkythea, Blender's EEVEE, and OpenCascade's CadRays engines.
|-
|
|[[ArchTextures_Workbench|ArchTextures]]
|Architecture and construction
|It allows you to add basic, non-photorealistic textures to architectural objects created with the [[Arch Workbench|Arch Workbench]].
|furti
|https://github.com/furti/FreeCAD-ArchTextures
|-
|
|[[BCFPlugin|BCFPlugin]]
|Architecture and construction
|It aims to support the BIM Collaboration Format (BCF).
|podestplatz
|https://github.com/podestplatz/BCF-Plugin-FreeCAD
|-
|[[Image:IFC.svg|32px]]
|[[BIM_Workbench|BIM]]
|Architecture and construction
|It aims to implement a complete building information modeling (BIM) workflow in FreeCAD. It extends the [[Arch_Workbench|Arch Workbench]], and gathers tools from other workbenches to provide an environment that is convenient to model buildings, and work with IFC files.
|yorikvanhavre
|https://github.com/yorikvanhavre/BIM_Workbench
|-
|
|[[BIMBots|BIMBots]]
|Architecture and construction
|It allows you to upload a FreeCAD model or selected parts of a FreeCAD model to a BIMBots instance (usually a [http://bimserver.org/ BIMServer] with external services enabled), and perform different services and analyses on your model, and read the results in FreeCAD, usually under the form of a text report, or a BCF file.
|BIMBots
|https://github.com/opensourceBIM/BIMbots-FreeCAD
|}

{| class="sortable wikitable"
! style="width:4%;" |Icon
! style="width:8%;" |Name
! style="width:10%;" |Topic
! style="width:56%;" |Description
! style="width:8%;" |Author
! style="width:10%;" |Code
! style="width:4%;" |Status
|-
|[[Image:Dodo.svg|32px]]
|[[Dodo Workbench|Dodo]]
|Architecture and construction
|It provides tools to create frames (trusses, beams) and pipelines (tubes, elbows, flanges), and query those objects.
This is the new version of [[Flamingo_Workbench|Flamingo]], intended for Python 3 and Qt5.
|oddtopus
|https://github.com/oddtopus/dodo
|-
|[[Image:Flamingo.svg|32px]]
|[[Flamingo Workbench|Flamingo]]
|Architecture and construction
|It provides tools to create frames (trusses, beams) and pipelines (tubes, elbows, flanges), and query those objects.
This is the old version of [[Dodo_Workbench|Dodo]], intended for Python 2 and Qt4. You should prefer [[Dodo_Workbench|Dodo]] for new models.
|oddtopus
|https://github.com/oddtopus/flamingo
|[[File:Edit_Cancel.svg|32px]]
|-
|
|[[GeoData_Workbench|GeoData]]
|Architecture and construction
|It provides tool to import geographical information from a given point on Earth by its latitude and longitude, of from OpenStreetMap, Google Maps, Bing Map, or Here Map.
|microelly2
|https://github.com/microelly2/geodata
|-
|
|[[Geomatics_Workbench|Geomatics]]
|Architecture and construction
|It is partially based on the GeoData Workbench. It provides functionality specific to Geomatics or Survey engineering, including importing point files, creating surfaces, creating contours, and creating sections.
|HakanSeven12
|https://github.com/HakanSeven12/FreeCAD-Geomatics-Workbench
|-
|[[Image:Arch_Rebar.svg|32px]]
|[[Reinforcement Addon|Reinforcement]]
|Architecture and construction
|It augments the [[Arch_Workbench|Arch Workbench]] with additional [[Arch_Rebar|Arch Rebar]] tools, including straight, U-shape, L-shape, bent, stirrup, and helical, to be used inside objects created with the [[Arch_Structure|Arch Structure]] tool.
|amrit3701
|https://github.com/amrit3701/FreeCAD-Reinforcement
|-
|
|[[Render_Workbench|Render]]
|Architecture and construction
|It can produce high-quality rendered images, using open-source external rendering engines like Pov-ray, Luxrender, and Appleseed. Render is a replacement for the [[Raytracing Workbench|Raytracing Workbench]], and uses the same templates so they are compatible. In the future Render may also support Kerkythea, Blender's EEVEE, and OpenCascade's CadRays engines.
|yorikvanhavre
|https://github.com/FreeCAD/FreeCAD-render
|-
|[[File:TimberWorkbench-logo.svg|32px]]
|[[Timber_Workbench|Timber]]
|Architecture and construction
|It provides tools to facilitate the design and modeling of wood-frame and structural walls.

This workbench is no longer developed and maintained by its author.
|j-wiedemann
|https://github.com/j-wiedemann/FreeCAD-Timber
|[[File:Edit_Cancel.svg|32px]]
|}

* [[Civil Engineering Workbench|Civil Engineering]] is a proposed workbench that intends to combine and develop different tools of interest to civil engineers, including those working with road engineering, terrain topology and geographic data.
* [[Civil Engineering Workbench|Civil Engineering]] is a proposed workbench that intends to combine and develop different tools of interest to civil engineers, including those working with road engineering, terrain topology and geographic data.


Line 64: Line 160:


<!--T:29-->
<!--T:29-->
{{Emphasis|Note:}} assembly workbenches are generally incompatible with each other. If you create an assembly with one of these workbenches, you should stick to the original workbench, and not use another assembly workbench to work with the same document.
{{Emphasis|Note:}} assembly workbenches are generally incompatible with each other. If you create an assembly with one of these workbenches, you should stick to the original workbench, and not use another assembly workbench in the same document.


<!--T:19-->
<!--T:19-->
{| class="sortable wikitable"
* [[A2plus Workbench|A2plus]] provides tools to create multi-part assemblies. It is a fork and extension of the older [[Assembly2 Workbench|Assembly2 Workbench]].
! style="width:4%;" |Icon
* [[Assembly3_Workbench|Assembly3]] is in development and requires a forked version of FreeCAD with some core changes to the source code. It is the most complex solution and supports things like interactive kinematics.
! style="width:8%;" |Name
* [[Assembly4_Workbench|Assembly4]] is a solution based on the enhanced [[expressions|expression engine]] and the [[App_Link|App Link]] object developed in the branch of Assembly3. Assembly4 does not work with a proper constraint solver, instead it uses the [[expressions|expression engine]] to position bodies with respect to Local Coordinate Systems (LCS); this is computationally friendly, and should allow for creating large assemblies with many parts. Assembly4 is the newest of the assembly workbenches; initially it served as a demonstrator project, but since 0.19 it is now more feature complete, and it is now installable from the [[Std_AddonMgr|Addon Manager]].
! style="width:10%;" |Topic
! style="width:56%;" |Description
! style="width:8%;" |Author
! style="width:10%;" |Code
! style="width:4%;" |Status
|-
|[[Image:A2p workbench.svg|32px]]
|[[A2plus_Workbench|A2plus]]
|Assembly
|It provides tools to create multi-part assemblies. It is a fork and extension of the older [[Assembly2 Workbench|Assembly2 Workbench]], but it is not compatible with it.
|kbwbe
|https://github.com/kbwbe/A2plus
|-
|
|[[Assembly3_Workbench|Assembly3]]
|Assembly
|It is used to perform assembly of different bodies contained in a single file or in multiple documents. It was a testbed for the [[App_Link|App Link]] object that was eventually included in the master code. It is the most complex solution and supports things like interactive kinematics.
|realthunder
|https://github.com/realthunder/FreeCAD_assembly3
|-
|
|[[Assembly4_Workbench|Assembly4]]
|Assembly
|It is a solution based on the enhanced [[expressions|expression engine]] and the [[App_Link|App Link]] object developed in the branch of [[Assembly3_Workbench|Assembly3]]. Assembly4 does not work with a proper constraint solver, instead it uses the expression engine to position bodies with respect to Local Coordinate Systems (LCS).
|Zolko
|https://github.com/Zolko-123/FreeCAD_Assembly4
|}


==== Pseudo-assembly ==== <!--T:33-->
=== Pseudo-assembly === <!--T:33-->


<!--T:34-->
<!--T:34-->
Line 77: Line 200:


<!--T:35-->
<!--T:35-->
{| class="sortable wikitable"
* [[Animation Workbench|Animation]] contains many tools to simulate movement of parts, create sequences of pictures, and thus produce an animation. The position and rotation of objects can be changed at different times, but also other properties like visibility, transparency, shape color, and camera position.
! style="width:4%;" |Icon
* [https://github.com/JMG1/ExplodedAssembly/tree/master ExplodedAssembly] (github link) is a workbench to create exploded views and animations of assemblies. It was previously known as "ExplodedAnimation".
! style="width:8%;" |Name
* [https://github.com/DeepSOIC/Lattice2/tree/master lattice2] (github link) is a workbench that provides tools for working with placements and arrays of placements. It is a sort of assembly workbench but there are no constraints nor relationships. Instead, the workbench focuses in arrays of placements that can be generated, combined, transformed, superimposed, and populated with shapes. It can also create exploded assemblies.
! style="width:10%;" |Topic
* [[Manipulator Workbench|Manipulator]] is aimed at helping users in aligning, moving, rotating and measuring 3D objects through a friendly graphical interface.
! style="width:56%;" |Description
* [https://github.com/DeepSOIC/Part-o-magic/tree/master Part-o-magic] (github link) is an experimental workbench that provides some improvements to [[Std Part|Std Part]] and [[PartDesign Body|PartDesign Body]] containers (automatic grouping, visibility automation, etc.), in order to work with documents that have multiple parts with deep feature hierarchies. It provides a Body-like container for the [[Part Workbench|Part Workbench]], and for other workbenches that produce solid shapes. Part-o-magic does not provide assembly constraints, but the tools included may be useful in conjunction with a true assembly workbench.
! style="width:8%;" |Author
* [https://github.com/Rentlau/WorkFeature-WB/tree/master WorkFeature] (github link) is a collection of tools to produce points in different locations (mid points, extrema, center of plane, projected, etc.), axes (from two points, and others), and planes (from one point and one axis, from three points, etc.), in order to facilitate the creation of a particular 3D model. These helper points, axes and planes are also useful to position and align objects in desired places to form an assembly. This workbench is based on the older [[Macro_WorkFeatures|workfeature-macro]], which was hosted in the [[macros recipes|macros recipes]] page. Currently, the macro has a bit more functionality than the workbench, but eventually the workbench will integrate all existing tools of the macro. They also differ in the graphical user interface; the macro creates a panel next to the tree view and the task panel, while the workbench provides its tools in toolbars, just like other workbenches.
! style="width:10%;" |Code
* [[Macro WorkFeatures|workfeature-macro]] adds helper objects to position shapes along these helper objects; the WorkFeature workbench is derived from this macro. The macro contains a few objects that the workbench still doesn't have like origin, circle, bounding box, and views.
! style="width:4%;" |Status
|-
|[[File:Animation_Animation.png|32px]]
|[[Animation Workbench|Animation]]
|Pseudo-assembly
|It contains many tools to simulate movement of parts, create sequences of pictures, and thus produce an animation. The position and rotation of objects can be changed at different times, but also other properties like visibility, transparency, shape color, and camera position.
|microelly2
|https://github.com/microelly2/Animation
|-
|[[File:ExplodedAssembly_ExplodedAssemblyIcon.png|32px]]
|[[ExplodedAssembly_Workbench|ExplodedAssembly]]
|Pseudo-assembly
|It allows creating exploded views and animations of assemblies. It was previously known as "ExplodedAnimation".
|JMG1
|https://github.com/JMG1/ExplodedAssembly
|-
|[[File:Lattice2_Lattice2.png|32px]]
|[[Lattice2_Workbench|Lattice2]]
|Pseudo-assembly
|It provides tools for working with placements and arrays of placements. It is a sort of assembly workbench but there are no constraints nor relationships. Instead, the workbench focuses in arrays of placements that can be generated, combined, transformed, superimposed, and populated with shapes. It can also create exploded assemblies.
|DeepSOIC
|https://github.com/DeepSOIC/Lattice2
|-
|[[File:Manipulator-icon.svg|32px]]
|[[Manipulator Workbench|Manipulator]]
|Pseudo-assembly
|It is aimed at helping users in aligning, moving, rotating, and measuring 3D objects through a friendly graphical interface.
|easyw
|https://github.com/easyw/Manipulator
|-
|[[File:PartOMagic.svg|32px]]
|[[Part-o-magic_Workbench|Part-o-magic]]
|Pseudo-assembly
|It is an experimental workbench that provides some improvements to [[Std Part|Std Part]] and [[PartDesign Body|PartDesign Body]] containers (automatic grouping, visibility automation, etc.), in order to work with documents that have multiple parts with deep feature hierarchies. It provides a Body-like container for the [[Part Workbench|Part Workbench]], and for other workbenches that produce solid shapes. Part-o-magic does not provide assembly constraints, but the tools included may be useful in conjunction with a true assembly workbench.
|DeepSOIC
|https://github.com/DeepSOIC/Part-o-magic
|-
|[[File:WF_wf.png|32px]]
|[[Workfeature_Workbench|Workfeature]]
|Pseudo-assembly
|It provides tools to produce different points, axes, and planes, in order to facilitate the creation of assemblies. This workbench is based on the older [[Macro_WorkFeatures|Workfeatures macro]], which was hosted in the [[macros recipes|macros recipes]] page. Currently, the macro has a bit more functionality than the workbench, but eventually the workbench will integrate all existing tools of the macro. They also differ in the graphical user interface; the macro creates a panel next to the tree view and the task panel, while the workbench provides its tools in toolbars, just like other workbenches.
|Rentlau
|https://github.com/Rentlau/WorkFeature-WB
|}


=== Customization === <!--T:36-->
=== Customization === <!--T:36-->


<!--T:37-->
<!--T:37-->
{| class="sortable wikitable"
* [https://github.com/triplus/Autoload/tree/master Autoload] (github link) is a small extension that allows you to select the workbenches that should be loaded when you start FreeCAD. It can allow you to customize your system in combination with other extensions such as PieMenu, ShortCuts, and CommandPanel.
! style="width:4%;" |Icon
* [https://github.com/triplus/CommandPanel/tree/master CommandPanel] (github link) is an extension that provides a panel that can be used store tools from different workbenches.
! style="width:8%;" |Name
* [https://github.com/triplus/Glass/tree/master Glass] (github link) is an extension that shows the tree view and properties panel as a transparent overlay over the 3D viewport.
! style="width:10%;" |Topic
* [https://github.com/triplus/IconThemes/tree/master IconThemes] (github link) is an extension that provides the ability of changing the icons of the default FreeCAD system.
! style="width:56%;" |Description
* [https://github.com/triplus/Launcher/tree/master Launcher] (github link) is a small extension that provides a dedicated dialog box for users to search and launch commands. Instead of clicking on a toolbar button or menu entry, searching for the command's name may be faster for some users.
! style="width:8%;" |Author
* [https://github.com/triplus/PieMenu/tree/master PieMenu] (github link) is a small extension that shows a pie menu to select tools or commands when the {{KEY|Tab}} key is pressed. A pie menu is an interface that appears in Blender and other systems like Android mobile phones to launch actions.
! style="width:10%;" |Code
* [https://github.com/triplus/SelectorToolbar/tree/master SelectorToolbar] (github link) is a small extension that provides a point and click experience for changing FreeCAD workbenches.
! style="width:4%;" |Status
* [https://github.com/triplus/ShortCuts/tree/master ShortCuts] (github link) is a small extension that provides a manager and overlay for shortcuts.
|-
* [https://github.com/triplus/TabBar/tree/master TabBar] (github link) is a small extension that adds a window with tabs in order to select workbenches.
|
* [https://github.com/triplus/ToolbarStyle/tree/master ToolbarStyle] (github link) is a small extension that allows the configuration of toolbars, with icons, text, or both.
|[[Autoload_Module|Autoload]]
|Customization
|It is a small extension that allows you to select the workbenches that should be loaded when you start FreeCAD. It can be used in combination with other extensions from the same author such as CommandPanel, PieMenu, and ShortCuts.
|triplus
|https://github.com/triplus/Autoload
|-
|
|[[CommandPanel_Module|CommandPanel]]
|Customization
|It is an extension that provides a panel that can be used store tools from different workbenches.
|triplus
|https://github.com/triplus/CommandPanel
|-
|
|[[Glass_Module|Glass]]
|Customization
|It is an extension that shows the [[combo_view|combo view]] ([[tree_view|tree view]] and [[property_editor|property editor]]) as a transparent overlay over the [[3D_view|3D view]].
|triplus
|https://github.com/triplus/Glass
|-
|
|[[IconThemes_Module|IconThemes]]
|Customization
|It is an extension that provides the ability of changing the icons of the default program. Icon sets aren't provided with this extension; these need to be provided separately.
|triplus
|https://github.com/triplus/IconThemes
|-
|
|[[Launcher_Module|Launcher]]
|Customization
|It is a small extension that provides a dedicated dialog box to search and launch commands. Instead of clicking on a toolbar button or menu entry, this method of executing commands may be faster for some users.
|triplus
|https://github.com/triplus/Launcher
|-
|
|[[PieMenu_Module|PieMenu]]
|Customization
|It is a small extension that shows a pie menu to select tools or commands when the {{KEY|Tab}} key is pressed. A pie menu is an interface that appears in Blender and other systems like Android mobile phones to launch commands.
|triplus
|https://github.com/triplus/PieMenu
|-
|
|[[SelectorToolbar_Module|SelectorToolbar]]
|Customization
|It is a small extension that provides a point and click experience for switching workbenches.
|triplus
|https://github.com/triplus/SelectorToolbar
|-
|
|[[ShortCuts_Module|ShortCuts]]
|Customization
|It is a small extension that provides a manager and overlay for shortcuts.
|triplus
|https://github.com/triplus/ShortCuts
|-
|
|[[TabBar_Module|TabBar]]
|Customization
|It is a small extension that adds a window with tabs in order to select workbenches.
|triplus
|https://github.com/triplus/TabBar
|-
|
|[[ToolbarStyle_Module|ToolbarStyle]]
|Customization
|It is a small extension that allows the configuration of toolbars, with icons, text, or both.
|triplus
|https://github.com/triplus/ToolbarStyle
|}


=== Engineering === <!--T:30-->
=== Engineering === <!--T:30-->


<!--T:31-->
<!--T:31-->
{| class="sortable wikitable"
* [https://github.com/FredsFactory/FreeCAD_AirPlaneDesign/tree/master AirPlaneDesign] (github link) is an experimental workbench to design wings and airplane objects.
! style="width:4%;" |Icon
* [https://github.com/qingfengxia/Cfd Cfd] (github link) brings the power of the OpenFoam solver to FreeCAD to perform computational fluid dynamics (CFD) simulations.
! style="width:8%;" |Name
* [https://github.com/jaheyns/CfdOF CfdOF] (github link) is a fork of the Cfd workbench that focuses on ease of use; it is intended for people who are just starting in the world of CFD and OpenFoam.
! style="width:10%;" |Topic
* [https://github.com/DualSPHysics/DesignSPHysics/tree/master DesignSPHysics] (github link) is a workbench that provides a graphical user interface to DualSPHysics, a fluid dynamics solver.
! style="width:56%;" |Description
* [[EM_Workbench|EM Workbench]] provides a graphical interface for different solvers by [http://www.fastfieldsolvers.com FastFieldSolvers]. At present it supports the 3D magneto-quasistatic impedance solver FastHenry. Support for the 3D electrostatic capacitance solver FasterCap is ongoing.
! style="width:8%;" |Author
! style="width:10%;" |Code
! style="width:4%;" |Status
|-
|[[File:AirplaneWB_logo.svg|32px]]
|[[AirPlaneDesign_Workbench|AirPlaneDesign]]
|Engineering
|It is an experimental workbench to design wings and airplane objects.
|FredsFactory
|https://github.com/FredsFactory/FreeCAD_AirPlaneDesign
|-
|[[File:Cfd_workbench_icon.svg|32px]]
|[[Cfd_Workbench|Cfd]]
|Engineering
|It provides a graphical interface to the OpenFOAM solver to perform computational fluid dynamics (CFD) simulations.
|qingfengxia
|https://github.com/qingfengxia/Cfd
|-
|[[File:CfdOF_workbench_icon.svg|32px]]
|[[CfdOF_Workbench|CfdOF]]
|Engineering
|It is a fork of the Cfd workbench that focuses on ease of use; it is intended for people who are just starting in the world of CFD and OpenFOAM.
|jaheyns
|https://github.com/jaheyns/CfdOF
|-
|[[File:DesignSPHysics_workbench_icon.svg|32px]]
|[[DesignSPHysics]]
|Engineering
|It provides a graphical user interface to DualSPHysics, a fluid dynamics solver.
|ndrs92
|https://github.com/DualSPHysics/DesignSPHysics
|-
|[[File:EMWorkbench.svg|32px]]
|[[EM_Workbench|EM Workbench]]
|Engineering
|It provides a graphical interface for different solvers by [http://www.fastfieldsolvers.com FastFieldSolvers]. At present it supports the 3D magneto-quasistatic impedance solver FastHenry. Support for the 3D electrostatic capacitance solver FasterCap is ongoing.
|FastFieldSolvers S.R.L.
|https://github.com/ediloren/EM-Workbench-for-FreeCAD
|}

* [https://github.com/Siardeni/FreeCADTools FreeCADTools]: (github link) workbench for create metal profiles, square tubing, z profile, palette, rotation, drawing, and more.
* [https://github.com/Siardeni/FreeCADTools FreeCADTools]: (github link) workbench for create metal profiles, square tubing, z profile, palette, rotation, drawing, and more.
* [https://github.com/KeithSloan/GDML GDML] (github link) workbench for the Geometry Definition Markup Language (GDML).
* [https://github.com/KeithSloan/GDML GDML] (github link) workbench for the Geometry Definition Markup Language (GDML).

Revision as of 19:51, 8 February 2020

Introduction

External workbenches are those created by power users which haven't been integrated into the main FreeCAD source code.

Most extensions can be installed from the Addon Manager (menu Tools → Addon manager). If there are specific instructions for using these workbenches, these should be noted in each workbench's home page.

These workbenches aren't supported by the main FreeCAD development team, so they aren't tested to work with every version of FreeCAD. Questions, bug reports, and improvement requests should be made directly to the authors of the particular workbench.

The lists in this page are organized in topics, but not all of them are available in the Addon Manager. See external workbench list for an alphabetic list of those workbenches that really appear in the Addon Manager.

Current extensions

General

Add workbenches that don't fit a special category here.

Icon Name Topic Description Author Code Status
File:Mooc-workbench.png MOOC General It provides an interactive tutorial to learn about FreeCAD directly inside the program. It allows you to evaluate your self-learning. rockn https://framagit.org/freecad-france/mooc-workbench

Architecture and construction

Icon Name Topic Description Author Code Status
ArchTextures Architecture and construction It allows you to add basic, non-photorealistic textures to architectural objects created with the Arch Workbench. furti https://github.com/furti/FreeCAD-ArchTextures
BCFPlugin Architecture and construction It aims to support the BIM Collaboration Format (BCF). podestplatz https://github.com/podestplatz/BCF-Plugin-FreeCAD
BIM Architecture and construction It aims to implement a complete building information modeling (BIM) workflow in FreeCAD. It extends the Arch Workbench, and gathers tools from other workbenches to provide an environment that is convenient to model buildings, and work with IFC files. yorikvanhavre https://github.com/yorikvanhavre/BIM_Workbench
BIMBots Architecture and construction It allows you to upload a FreeCAD model or selected parts of a FreeCAD model to a BIMBots instance (usually a BIMServer with external services enabled), and perform different services and analyses on your model, and read the results in FreeCAD, usually under the form of a text report, or a BCF file. BIMBots https://github.com/opensourceBIM/BIMbots-FreeCAD
Icon Name Topic Description Author Code Status
Dodo Architecture and construction It provides tools to create frames (trusses, beams) and pipelines (tubes, elbows, flanges), and query those objects.

This is the new version of Flamingo, intended for Python 3 and Qt5.

oddtopus https://github.com/oddtopus/dodo
Flamingo Architecture and construction It provides tools to create frames (trusses, beams) and pipelines (tubes, elbows, flanges), and query those objects.

This is the old version of Dodo, intended for Python 2 and Qt4. You should prefer Dodo for new models.

oddtopus https://github.com/oddtopus/flamingo
GeoData Architecture and construction It provides tool to import geographical information from a given point on Earth by its latitude and longitude, of from OpenStreetMap, Google Maps, Bing Map, or Here Map. microelly2 https://github.com/microelly2/geodata
Geomatics Architecture and construction It is partially based on the GeoData Workbench. It provides functionality specific to Geomatics or Survey engineering, including importing point files, creating surfaces, creating contours, and creating sections. HakanSeven12 https://github.com/HakanSeven12/FreeCAD-Geomatics-Workbench
Reinforcement Architecture and construction It augments the Arch Workbench with additional Arch Rebar tools, including straight, U-shape, L-shape, bent, stirrup, and helical, to be used inside objects created with the Arch Structure tool. amrit3701 https://github.com/amrit3701/FreeCAD-Reinforcement
Render Architecture and construction It can produce high-quality rendered images, using open-source external rendering engines like Pov-ray, Luxrender, and Appleseed. Render is a replacement for the Raytracing Workbench, and uses the same templates so they are compatible. In the future Render may also support Kerkythea, Blender's EEVEE, and OpenCascade's CadRays engines. yorikvanhavre https://github.com/FreeCAD/FreeCAD-render
Timber Architecture and construction It provides tools to facilitate the design and modeling of wood-frame and structural walls.

This workbench is no longer developed and maintained by its author.

j-wiedemann https://github.com/j-wiedemann/FreeCAD-Timber
  • Civil Engineering is a proposed workbench that intends to combine and develop different tools of interest to civil engineers, including those working with road engineering, terrain topology and geographic data.

Assembly and animation

As of FreeCAD 0.19 there is no official assembly workbench. However, several external tools have been created or are in development to manipulate objects to produce assemblies.

Note: assembly workbenches are generally incompatible with each other. If you create an assembly with one of these workbenches, you should stick to the original workbench, and not use another assembly workbench in the same document.

Icon Name Topic Description Author Code Status
A2plus Assembly It provides tools to create multi-part assemblies. It is a fork and extension of the older Assembly2 Workbench, but it is not compatible with it. kbwbe https://github.com/kbwbe/A2plus
Assembly3 Assembly It is used to perform assembly of different bodies contained in a single file or in multiple documents. It was a testbed for the App Link object that was eventually included in the master code. It is the most complex solution and supports things like interactive kinematics. realthunder https://github.com/realthunder/FreeCAD_assembly3
Assembly4 Assembly It is a solution based on the enhanced expression engine and the App Link object developed in the branch of Assembly3. Assembly4 does not work with a proper constraint solver, instead it uses the expression engine to position bodies with respect to Local Coordinate Systems (LCS). Zolko https://github.com/Zolko-123/FreeCAD_Assembly4

Pseudo-assembly

These workbenches don't use constraints to keep relationships between parts, but simply re-position the parts in space.

Icon Name Topic Description Author Code Status
Animation Pseudo-assembly It contains many tools to simulate movement of parts, create sequences of pictures, and thus produce an animation. The position and rotation of objects can be changed at different times, but also other properties like visibility, transparency, shape color, and camera position. microelly2 https://github.com/microelly2/Animation
File:ExplodedAssembly ExplodedAssemblyIcon.png ExplodedAssembly Pseudo-assembly It allows creating exploded views and animations of assemblies. It was previously known as "ExplodedAnimation". JMG1 https://github.com/JMG1/ExplodedAssembly
File:Lattice2 Lattice2.png Lattice2 Pseudo-assembly It provides tools for working with placements and arrays of placements. It is a sort of assembly workbench but there are no constraints nor relationships. Instead, the workbench focuses in arrays of placements that can be generated, combined, transformed, superimposed, and populated with shapes. It can also create exploded assemblies. DeepSOIC https://github.com/DeepSOIC/Lattice2
Manipulator Pseudo-assembly It is aimed at helping users in aligning, moving, rotating, and measuring 3D objects through a friendly graphical interface. easyw https://github.com/easyw/Manipulator
Part-o-magic Pseudo-assembly It is an experimental workbench that provides some improvements to Std Part and PartDesign Body containers (automatic grouping, visibility automation, etc.), in order to work with documents that have multiple parts with deep feature hierarchies. It provides a Body-like container for the Part Workbench, and for other workbenches that produce solid shapes. Part-o-magic does not provide assembly constraints, but the tools included may be useful in conjunction with a true assembly workbench. DeepSOIC https://github.com/DeepSOIC/Part-o-magic
Workfeature Pseudo-assembly It provides tools to produce different points, axes, and planes, in order to facilitate the creation of assemblies. This workbench is based on the older Workfeatures macro, which was hosted in the macros recipes page. Currently, the macro has a bit more functionality than the workbench, but eventually the workbench will integrate all existing tools of the macro. They also differ in the graphical user interface; the macro creates a panel next to the tree view and the task panel, while the workbench provides its tools in toolbars, just like other workbenches. Rentlau https://github.com/Rentlau/WorkFeature-WB

Customization

Icon Name Topic Description Author Code Status
Autoload Customization It is a small extension that allows you to select the workbenches that should be loaded when you start FreeCAD. It can be used in combination with other extensions from the same author such as CommandPanel, PieMenu, and ShortCuts. triplus https://github.com/triplus/Autoload
CommandPanel Customization It is an extension that provides a panel that can be used store tools from different workbenches. triplus https://github.com/triplus/CommandPanel
Glass Customization It is an extension that shows the combo view (tree view and property editor) as a transparent overlay over the 3D view. triplus https://github.com/triplus/Glass
IconThemes Customization It is an extension that provides the ability of changing the icons of the default program. Icon sets aren't provided with this extension; these need to be provided separately. triplus https://github.com/triplus/IconThemes
Launcher Customization It is a small extension that provides a dedicated dialog box to search and launch commands. Instead of clicking on a toolbar button or menu entry, this method of executing commands may be faster for some users. triplus https://github.com/triplus/Launcher
PieMenu Customization It is a small extension that shows a pie menu to select tools or commands when the Tab key is pressed. A pie menu is an interface that appears in Blender and other systems like Android mobile phones to launch commands. triplus https://github.com/triplus/PieMenu
SelectorToolbar Customization It is a small extension that provides a point and click experience for switching workbenches. triplus https://github.com/triplus/SelectorToolbar
ShortCuts Customization It is a small extension that provides a manager and overlay for shortcuts. triplus https://github.com/triplus/ShortCuts
TabBar Customization It is a small extension that adds a window with tabs in order to select workbenches. triplus https://github.com/triplus/TabBar
ToolbarStyle Customization It is a small extension that allows the configuration of toolbars, with icons, text, or both. triplus https://github.com/triplus/ToolbarStyle

Engineering

Icon Name Topic Description Author Code Status
AirPlaneDesign Engineering It is an experimental workbench to design wings and airplane objects. FredsFactory https://github.com/FredsFactory/FreeCAD_AirPlaneDesign
Cfd Engineering It provides a graphical interface to the OpenFOAM solver to perform computational fluid dynamics (CFD) simulations. qingfengxia https://github.com/qingfengxia/Cfd
CfdOF Engineering It is a fork of the Cfd workbench that focuses on ease of use; it is intended for people who are just starting in the world of CFD and OpenFOAM. jaheyns https://github.com/jaheyns/CfdOF
DesignSPHysics Engineering It provides a graphical user interface to DualSPHysics, a fluid dynamics solver. ndrs92 https://github.com/DualSPHysics/DesignSPHysics
EM Workbench Engineering It provides a graphical interface for different solvers by FastFieldSolvers. At present it supports the 3D magneto-quasistatic impedance solver FastHenry. Support for the 3D electrostatic capacitance solver FasterCap is ongoing. FastFieldSolvers S.R.L. https://github.com/ediloren/EM-Workbench-for-FreeCAD
  • FreeCADTools: (github link) workbench for create metal profiles, square tubing, z profile, palette, rotation, drawing, and more.
  • GDML (github link) workbench for the Geometry Definition Markup Language (GDML).
  • GDT is a collection of tools to add geometric dimensioning and tolerancing (GDT) labels in 2D and 3D technical drawings. It implements the standard ISO 16792.
  • KicadStepUp is aimed at helping both KiCad and FreeCAD users in collaborating with electrical (ECAD) and mechanical (MCAD) design. With FreeCAD it's possible to design a printed circuit board, and push it to KiCad; alternatively, the board can be designed in KiCad, it can be imported by FreeCAD, it can be edited with the Sketcher Workbench, and pushed back into KiCad. The 3D model, boards and enclosure, can be exported to VRML with materials properties for use in KiCad or Blender.
  • LCInterlocking (github link) tools to create parts for laser-cutters. Add tabs and hinges. Export to SVG.
  • pyrate (github link) is a workbench to design optical lenses. The project aims to provide an optical raytracer for isotropic, homogeneous anisotropic and inhomogeneous isotropic GRIN media.
  • SheetMetal provides tools to design an object made of a folded sheet, such as a metal case or enclosure. The user starts with a flat sheet, then uses tools to extrude and bend the faces of the object by a certain distance, radius or angle, until the desired shape is obtained. The body may then be unfolded to obtain the required flat material that would be necessary to manufacture this body. The outline of this unfolded body may be used finally as the input for mills or lasercutting machines to obtain the required sheet profile.
  • Ship Workbench (github link) is used to create structures that are common to ships. It currently is seeking a maintainer.

Information and data

  • CADExchanger (github link) is an extension that allows FreeCAD to import and export file formats supported by the commercial "CAD Exchanger" application, such as Rhino 3dm or ACIS sat, and mesh formats like OBJ and STL.
  • dxf_library (github link) downloads the files needed to support importing and exporting DXF files in FreeCAD versions before v0.16. These files are not needed anymore when using the built-in DXF importer in v0.16 and above. They are still needed if you wish to use the legacy Python importer, or if you wish to export directly from the 3D model.
  • DynamicData is an extension that allows creating container objects to hold custom properties of any type that FreeCAD supports, for example, length or placement. These custom properties can then be used in mathematical expressions just like other properties in the Sketcher Workbench or Spreadsheet Workbench.
  • InventorLoader is an extension designed to import Autodesk Inventor files. Currently only Parts (IPT) can be displayed, not assemblies (IAM) nor drawings (IDW). As Inventor files contain a complete ACIS model representation, SAT and SAB files can also be imported. Export will not be supported, neither to IPT nor to SAT.
  • kerkythea (github link) adds a simple exporter to produce XML files for use with the Kerkythea freeware renderer.
  • Reporting (github link) makes it possible to extract information from a FreeCAD document using SQL statements, and show the results in a spreadsheet. The SQL statements can be used from a graphical user interface or from Python scripts. It works in a similar way to the Arch Schedule tool but is more powerful due to the flexibility that SQL provides.
  • WebTools contains a series of tools to communicate with web services like Git, a BIM server, and Sketchfab.
  • yaml-workspace (github link) is an extension that adds an importer to load and manipulate objects from YAML files. In this way it's easier to design and check 3D parts before manufacturing.

Shapes and parts

  • 3D Printing Tools (github link) is a workbench to do small changes to meshes imported from external files like STL.
  • BOLTSFC (github link) is an extension that allows you to use the BOLTS "Open Library for Technical Specifications", which is a collection of objects like nuts, screws, bolts, and so on, parametrically defined.
  • CadQuery allows users to design parametric 3D CAD models defined by the CadQuery CAD scripting API. It includes a full-featured editor with features such as auto-completion, syntax highlighting and checking, line numbering, and code folding. Example scripts are included to make the user get started with using the API. Script variables can be edited dynamically through the use of a parameter dialog. This workbench also includes cqparts, which is a library that adds support for parts and assemblies with constraints on top of CadQuery.
  • Curves is a collection of tools to create and edit NURBS curves and surfaces.
  • Defeaturing provides tools to edit STEP objects to remove features like holes, faces, and edges, and perform some operations with the simplified objects.
  • Fasteners Workbench is a workbench that provides various fasteners, screws, bolts, nuts, etc., to attach to your model. Development happens at Fasteners Github repo (github link)
  • FCGear (github link) is an extension that adds many different gears like cylindric involute, involute rack, cylindric cycloid, spherical involute bevel-gear, and crown gear.
  • frame (github link) is an extension with tools to create frames and beams, including two intersecting beams, in which one beam is cut by a plane or by another beam.
  • Lithophane (github link) is an extension to convert a provided image to a "lithophane" for 3D printing. A lithophane is an image that can only be seen properly when illuminated from behind.
  • nurbs is a collection of scripts for managing freeform surfaces and curves.
  • parts_library (github link) is an extension that downloads a library of parts in Step format .step or in FreeCAD format .FCstd that can be imported into a FreeCAD document. Users can contribute content to this library by forking the repository, adding their own parts under a permissive CC-BY 3.0 license, and submitting a pull request to merge the new objects.
  • pcb (github link) is a workbench that allows the user to import and create printed circuit boards (PCB) in FreeCAD. It supports layers, colors, transparencies, importing Step and Iges models, and displaying holes and vias.
  • Pyramids and Polyhedrons Workbench or Pyramids_and_Polyhedrons (github link) is a workbench for generating pyramids and polyhedrons, fully scalable and usable like standard Parts.
  • reconstruction (github link) provides utilities to reconstruct models from images.
  • retr3D (github link) is a framework designed to model and manufacture 3D printable parts starting from electronic waste, in order to build more 3D printers. The intention of this project is to recycle e-waste, promote 3D printing, especially in developing economies, and in this way reduce the amount of waste that goes to landfills. Using locally built, and inexpensive 3D printers could also be a way of localizing manufacturing, thus stimulating the local economy of these regions.
  • Silk is a collection of NURBS surface modeling tools focused on low degree and seam continuity. Silk is the new name of the NURBSlib-EVM project.
  • SlopedPlanesMacro (github link) allows you to build figures controlling the slopes of the faces of objects.
  • symbols_library (github link) is an extension that downloads a library of SVG symbols that can be used in FreeCAD, particularly in the TechDraw Workbench to produce technical documentation. Users can contribute content to this library by forking the repository, adding their own symbols under a permissive CC-BY 3.0 license, and submitting a pull request to merge the new objects.
  • ThreadProfile (github link) allows to easily create parametric 2d thread profile object compatible in Part and Part Design workbenches.
  • timber (github link) is a workbench to produce wood and timber objects.

Deprecated extensions

  • Assembly2 provides tools to create multi-part assemblies. It is unmaintained since 2016. Consider using A2plus instead.
  • cura_engine (github link) is an extension that integrates CuraEngine into FreeCAD in order to facilitate gcode generation for 3D printing. This addon is unmaintained since 2014 and no longer works with recent versions of CuraEngine.
  • Drawing Dimensioning adds powerful dimensioning and annotation tools to the Drawing Workbench. It was deprecated in FreeCAD 0.17. Consider using TechDraw Workbench instead.
  • NavigationIndicator (github link) is an extension that adds an indicator for the mouse navigation style in the status bar. Since FreeCAD 0.17 this extension is obsolete, as the indicator is included natively in FreeCAD.
  • persistenttoolbars (github link) is a small extension to keep the toolbars in their locations. Since FreeCAD 0.17 this extension is obsolete, as the functionality is included natively in FreeCAD.
  • pluginloader (github link) is a small extension that allows the user to install macros, external workbenches, and other extensions in FreeCAD. Since FreeCAD 0.17 this utility is obsolete, as this functionality is already provided by the Addon Manager.

Translating external workbenches

See the wiki page for more information Translating an external workbench

Missing documentation

TODO:

  • EaglePCB_2_FreeCAD

(April 2019) If you are the developer or a user of a new workbench, add it below. However, consider creating a page for it, or providing a link to its documentation in the proper section above.