Another assembly workbench for FreeCAD, following and extending Hamish's Assembly 2 workbench
Documentation • Forum • Git repository
Another assembly workbench for FreeCAD, following and extending Hamish's Assembly 2 workbench hence Assembly2plus.
The main goal of A2plus is to create a very simple, easy to use, and not over-featured workbench for FreeCAD assemblies. Using the KISS principle: KEEP IT SIMPLE, STUPID
A2plus workbench tries to implement a new constraint solving algorithm to avoid some problems that occurred with the original solver. It is still under development and experimental at this moment but is showing some potential.
This project started as a fork of Hamish's Assembly 2 workbench (development on A2 went dormant and was unmaintained for a long period). A2plus can be used with FreeCAD from v0.16 including support for importing parts from external files.
No. A2plus would have to handle everything in same way as Assembly 2, including bugs, exact orientations, etc. You have to assemble existing projects again.
There are prereleases available, please browse the releases section of this repository.
A weak point is, and is similar to Assembly 2, updating / reimporting parts from external files. Constraints will break. You should delete constraints of parts before reimporting them. After that please constrain these parts again.
This behaviour is due to FreeCAD's lack of Topological Naming and is difficult to correct at the moment. This phenomena is seen in many proprietary CAD solutions. Some work is being done to address this in future releases of FreeCAD which will improve this behaviour.
The recommended way to install A2plus is via FreeCAD's Addon Manager under the Tools → 'Addon Manager' dropdown menu.
FreeCAD(version of your choice) has to be installed beforehand.
Use the CLI to install A2plus:
$ sudo apt-get install git python-numpy python-pyside
$ mkdir ~/.FreeCAD/Mod
$ cd ~/.FreeCAD/Mod
$ git clone https://github.com/kbwbe/A2plus.git
Once installed, use git
to easily update to the latest version:
$ cd ~/.FreeCAD/Mod/A2plus
$ git pull
$ rm *.pyc
Pre-requisite: FreeCAD >= v0.16+
Download the git repository as a ZIP on to you local drive.
Refer to the corresponding tutorial on the FreeCAD wiki.
Unzip the downloaded repository within your Mod/ folder. A A2plus-folder should appear within you Mod/ folder.
If you a familiar with git
you can git clone https://github.com/kbwbe/A2plus.git
directly in to your Mod/ folder.
(borrowed from Hamish2014)
(work in progress)
Current Features like shown in the workbench's toolbar:
Add a part from external file (Shift+A) - Begin and continue here with importing existing part or subassembly .fcstd files to the assembly
Update parts imported into the assembly - Use this to refresh changed parts already assembled
Move part - Just move selected part
Duplicate part - Adds one or more previously imported part(s) into assembly (hold Shift for multiple times)
Convert part to A2plus form - Converts an imported part to internal representation without external dependency
Edit - Opens the selected assembly part or subassembly in a new tab, to be changed, don't forget to save and refresh the assembly
Constraint Tools - Open a dialog to define constraints. Find all constraints in the opening dialog! This is the access to the A2plus constraining possibilities.
Depending on the context, like selected faces, edges, vertices, one or more of the following list of constraints may get selectable: (After selecting the constraint, a 'Constraint Properties' dialog will appear to appropriately ask you for details, like offsets, angles and directions.) Below, first selection is meant for the first part of the constraint (parent) and the second for the second part (child). Choices lists, what you can expect to edit in "Constraint Properties" and with the "Edit selected constraint" button later on.
Edit selected constraint - Select a constraint in the treeview and hit this button to edit it's properties
Delete constraints - Remove all constraints of exactly one selected part in one step
Solve A2plus constraints - Manually invoke the A2pus solver (especially when AutoSolve is OFF)
Toggle Autosolve - By pressing this button you can enable or disable automatic solving after a constraint has been edited. If Autosolve is disabled you have to start it manually by hitting the Solve button. Disabled, this can save computation time.
Flip direction of last constraint - does exactly what it means for suitable constraints
Print detailed DOF information to console - shows the degrees-of-freedom for the current constraints' solving state, useful for analysing eventually missing constraints
Generate HTML file with detailed constraining structure - useful to visualize the current constraint dependencies
Show connected elements - highlights the parts connected by a constraint selected in treeview
Toggle transparency of assembly - The whole assembly will get transparent
Show only selected items, or all if none selected - Another visibility helper for assembly analysis
Create or refresh simple shape of complete assembly - the newly created compound can be found in treeview
Repair the treeview, if damaged somehow - After pressing this button constraints will be grouped under corresponding parts again
Create a spreadsheet with logistic/ordering information - Adds a spreadsheet to the treeview, editable by double-click in a new tab for part's info
Create a spreadsheet with a partlist of this file - Adds a spreadsheet to the treeview, editable by double-click in a new tab for assembly's BOM info
(work in progress)
Have a look on the Feature list above, and... Please, follow the Tooltips in the workbench's toolbar and in the "Constraint Tools" toolbox. They describe what to do in which order.
First steps to create an A2plus assembly:
Editing a subassembly: