Lattice2 Workbench: Difference between revisions
(lattice2 is stable) |
No edit summary |
||
(22 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
|||
==Introduction== |
|||
{{UnfinishedDocu{{#translation:}}}} |
|||
[[Image:Lattice2_Lattice2.svg|center|240px]] |
|||
<translate> |
|||
<!--T:1--> |
|||
{{Caption|align=center|The FreeCAD Lattice2 External Workbench Icon}} |
|||
==Introduction== <!--T:2--> |
|||
'''Lattice2 is stable. New features may be added, but no breaking changes are supposed to happen.''' |
|||
<!--T:3--> |
|||
Lattice Workbench is a plug-in module (workbench) for FreeCAD. |
|||
{{VeryImportantMessage|Lattice2 is stable. New features may be added, but no breaking changes are supposed to happen.}} |
|||
</translate> |
|||
The workbench purpose is working with placements and arrays of placements. It is a sort of assembly workbench, but with emphasis on arrays. There are no constraints and relations, there are just arrays of placements that can be generated, combined, transformed, superimposed and populated with shapes. |
|||
{{TOCright}} |
|||
<translate> |
|||
<!--T:4--> |
|||
The Lattice2 Workbench is a FreeCAD [[External_workbenches|external workbench]] that serves the purpose of working with placements and arrays of placements. It is a sort of Assembly workbench, but with emphasis on arrays. There are no constraints and relations, there are just arrays of placements that can be generated, combined, transformed, superimposed, and populated with shapes. |
|||
<!--T:5--> |
|||
Ever wondered how to create a protractor with FreeCAD? That's the aim of the workbench (including tick labeling). Also, exploded assemblies can be made with the workbench. |
Ever wondered how to create a protractor with FreeCAD? That's the aim of the workbench (including tick labeling). Also, exploded assemblies can be made with the workbench. |
||
<!--T:6--> |
|||
Additionally, the workbench features a few general-purpose tools, such as parametric downgrade, bounding boxes, shape info tool, and tools for working with collections of shapes (compounds). |
Additionally, the workbench features a few general-purpose tools, such as parametric downgrade, bounding boxes, shape info tool, and tools for working with collections of shapes (compounds). |
||
<!--T:7--> |
|||
One of the big design goals of the workbench is being as parametric as possible. |
One of the big design goals of the workbench is being as parametric as possible. |
||
==References== |
==References== <!--T:8--> |
||
<!--T:9--> |
|||
* Author: DeepSOIC |
* Author: DeepSOIC |
||
* Home page: https://github.com/DeepSOIC/Lattice2 |
* Home page: https://github.com/DeepSOIC/Lattice2 |
||
* Source code on github: https://github.com/DeepSOIC/Lattice2 |
* Source code on github: https://github.com/DeepSOIC/Lattice2 |
||
==Tools== |
==Tools== <!--T:10--> |
||
<!--T:11--> |
|||
Detailed description [https://github.com/DeepSOIC/Lattice2/wiki here] |
|||
Detailed description on the [https://github.com/DeepSOIC/Lattice2/wiki Lattice2 Github wiki] |
|||
Toolbar |
===Toolbar=== <!--T:28--> |
||
<!--T:12--> |
|||
[[Image:Lattice2-menu-orizz.png]] |
[[Image:Lattice2-menu-orizz.png]] |
||
{{Caption|Lattice2 Toolbar}} |
|||
===Commands=== <!--T:29--> |
|||
* [[Image:Lattice2_Placement.svg|32px]] '''Placement''' |
|||
** [[Image:Lattice2_Placement.svg|24px]] Single Placement: '''Custom''' |
|||
** [[Image:Lattice2_Placement.svg|24px]] Single Placement: '''XY plane''' |
|||
** [[Image:Lattice2_Placement.svg|24px]] Single Placement: '''XZ plane''' |
|||
** [[Image:Lattice2_Placement.svg|24px]] Single Placement: '''YZ plane''' |
|||
** [[Image:Lattice2_Placement.svg|24px]] Single Placement: '''along X''' |
|||
** [[Image:Lattice2_Placement.svg|24px]] Single Placement: '''along Y''' |
|||
** [[Image:Lattice2_Placement.svg|24px]] Single Placement: '''along Z''' |
|||
** [[Image:Lattice2_Placement.svg|24px]] Single Placement: '''Euler angles''' |
|||
** [[Image:Lattice2_PlacementFromShape.svg|32px]] Placement of shape: '''Copy object.Placement''' |
|||
** [[Image:Lattice2_PlacementFromShape.svg|32px]] Placement of shape: '''Center of bounding box''' |
|||
** [[Image:Lattice2_PlacementFromShape.svg|32px]] Placement of shape: '''Center of mass''' |
|||
** [[Image:Lattice2_PlacementFromShape.svg|32px]] Placement of shape: '''Inertial axis system''' |
|||
* [[Image:Lattice2_LinearArray.svg|32px]] '''Generate linear array''' |
|||
* [[Image:Lattice2_PolarArray.svg|32px]] '''Generate polar array''' |
|||
* [[Image:Lattice2_ArrayFromShape.svg|32px]] '''Array from shape''' |
|||
** [[Image:Lattice2_ArrayFromShape.svg|32px]] '''Internal placements''' |
|||
** [[Image:Lattice2_ArrayFromShape.svg|32px]] '''Center of bounding box''' |
|||
** [[Image:Lattice2_ArrayFromShape.svg|32px]] '''Center of mass''' |
|||
** [[Image:Lattice2_ArrayFromShape.svg|32px]] '''Inertial axis system''' |
|||
* [[Image:Lattice2_InvertLattice.svg|32px]] '''Invert lattice''' |
|||
* [[Image:Lattice2_JoinArrays.svg|32px]] '''Join arrays''' |
|||
* [[Image:Lattice2_ArrayFilter.svg|32px]] '''Array filter''' |
|||
** [[Image:Lattice2_ArrayFilter.svg|32px]] '''Selected items''' |
|||
** [[Image:Lattice2_ArrayFilter.svg|32px]] '''Touching''' |
|||
** [[Image:Lattice2_ArrayFilter.svg|32px]] '''Within distance window''' |
|||
** [[Image:Lattice2_ArrayFilter.svg|32px]] '''Pointing at shape''' |
|||
* [[Image:Lattice2_ExplodeArray.svg|32px]] '''Explode array''' |
|||
* [[Image:Lattice2_ProjectArray.svg|32px]] '''Project array''' |
|||
* [[Image:Lattice2_ResampleArray.svg|32px]] '''Resample array''' |
|||
* [[Image:Lattice2_PopulateCopiesNormal.svg|32px]] '''Populate with copies''' |
|||
** [[Image:Lattice2_PopulateCopiesNormal.svg|32px]] '''Populate with copies''' |
|||
** [[Image:Lattice2_PopulateCopiesArray.svg|32px]] '''Populate with copies: Build array''' |
|||
** [[Image:Lattice2_PopulateCopiesMove.svg|32px]] '''Moved object''' |
|||
* [[Image:Lattice2_PopulateChildrenNormal.svg|32px]] '''Populate with children''' |
|||
** [[Image:Lattice2_PopulateChildrenNormal.svg|32px]] '''Populate with children''' |
|||
** [[Image:Lattice2_PopulateChildrenArray.svg|32px]] '''Populate with children: Build array''' |
|||
** [[Image:Lattice2_PopulateChildrenMove.svg|32px]] '''Moved children''' |
|||
* [[Image:Lattice2_ParametricDowngrade.svg|24px]] '''Parametric downgrade''' |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] '''Downgrade to ''' |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] '''Downgrade to Leaves''' |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] '''Downgrade to CompSolids''' |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] '''Downgrade to Shells''' |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] '''Downgrade to OpenWires''' |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] '''Downgrade to Faces''' |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] '''Downgrade to Wires''' |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] '''Downgrade to Edges''' |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] '''Downgrade to Seam edges''' |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] '''Downgrade to Non-seam edges''' |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] '''Downgrade to Vertices''' |
|||
* [[Image:Lattice2_SubLink.svg|32px]] '''Sub link''' |
|||
* [[Image:Lattice2_MakeCompound.svg|32px]] '''Make compound''' |
|||
* [[Image:Lattice2_ExplodeCompound.svg|32px]] '''Explode compound''' |
|||
* [[Image:Lattice2_FuseCompound.svg|32px]] '''Fuse compound''' |
|||
* [[Image:Lattice2_BoundingBox.svg|32px]] '''Bounding box''' |
|||
** [[Image:Lattice2_BoundingBox.svg|32px]] '''Whole''' |
|||
** [[Image:Lattice2_BoundingBoxCompound.svg|32px]] '''Children''' |
|||
* [[Image:Lattice2_ShapeString.svg|32px]] '''Shape string for array''' |
|||
* [[Image:Lattice2_ParaSeries.svg|32px]] '''Para series''' |
|||
* [[Image:Lattice2_Inspect.svg|32px]] '''Inspect''' |
|||
** [[Image:Lattice2_InspectSelection.svg|32px]] '''Inspect seletion''' |
|||
** [[Image:Lattice2_InspectShape.svg|32px]] '''Shape info (feature)''' |
|||
* [[Image:Lattice2_SubstituteObject.svg|32px]] '''Substitute object''' |
|||
* '''Expose links to subelements''' |
|||
<!--T:30--> |
|||
* [[Image:Lattice2_Placement.svg|32px]] [[Lattice2_Placement|Placement]] |
|||
** [[Image:Lattice2_Placement.svg|24px]] [[Lattice2_Placement|Single Placement: Custom]] |
|||
** [[Image:Lattice2_Placement.svg|24px]] [[Lattice2_Placement|Single Placement: XY plane]] |
|||
** [[Image:Lattice2_Placement.svg|24px]] [[Lattice2_Placement|Single Placement: XZ plane]] |
|||
** [[Image:Lattice2_Placement.svg|24px]] [[Lattice2_Placement|Single Placement: YZ plane]] |
|||
** [[Image:Lattice2_Placement.svg|24px]] [[Lattice2_Placement|Single Placement: along X]] |
|||
** [[Image:Lattice2_Placement.svg|24px]] [[Lattice2_Placement|Single Placement: along Y]] |
|||
** [[Image:Lattice2_Placement.svg|24px]] [[Lattice2_Placement|Single Placement: along Z]] |
|||
** [[Image:Lattice2_Placement.svg|24px]] [[Lattice2_Placement|Single Placement: Euler angles]] |
|||
** [[Image:Lattice2_PlacementFromShape.svg|32px]] [[Lattice2_PlacementFromShape|Placement of shape: Copy object.Placement]] |
|||
** [[Image:Lattice2_PlacementFromShape.svg|32px]] [[Lattice2_PlacementFromShape|Placement of shape: Center of bounding box]] |
|||
** [[Image:Lattice2_PlacementFromShape.svg|32px]] [[Lattice2_PlacementFromShape|Placement of shape: Center of mass]] |
|||
** [[Image:Lattice2_PlacementFromShape.svg|32px]] [[Lattice2_PlacementFromShape|Placement of shape: Inertial axis system]] |
|||
* [[Image:Lattice2_AttachablePlacement.svg|32px]] [[Lattice2_AttachablePlacement|Attachable Placement]] |
|||
* [[Image:Lattice2_LinearArray.svg|32px]] [[Lattice2_LinearArray|Generate linear array]] |
|||
* [[Image:Lattice2_PolarArray.svg|32px]] [[Lattice2_PolarArray|Generate polar array]] |
|||
* [[Image:Lattice2_ArrayFromShape.svg|32px]] [[Lattice2_ArrayFromShape|Array from shape]] |
|||
** [[Image:Lattice2_ArrayFromShape.svg|32px]] [[Lattice2_ArrayFromShape|Internal placements]] |
|||
** [[Image:Lattice2_ArrayFromShape.svg|32px]] [[Lattice2_ArrayFromShape|Center of bounding box]] |
|||
** [[Image:Lattice2_ArrayFromShape.svg|32px]] [[Lattice2_ArrayFromShape|Center of mass]] |
|||
** [[Image:Lattice2_ArrayFromShape.svg|32px]] [[Lattice2_ArrayFromShape|Inertial axis system]] |
|||
* [[Image:Lattice2_InvertLattice.svg|32px]] [[Lattice2_InvertLattice|Invert lattice]] |
|||
* [[Image:Lattice2_JoinArrays.svg|32px]] [[Lattice2_JoinArrays|Join arrays]] |
|||
* [[Image:Lattice2_ArrayFilter.svg|32px]] [[Lattice2_ArrayFilter|Array filter]] |
|||
** [[Image:Lattice2_ArrayFilter.svg|32px]] [[Lattice2_ArrayFilter|Selected items]] |
|||
** [[Image:Lattice2_ArrayFilter.svg|32px]] [[Lattice2_ArrayFilter|Touching]] |
|||
** [[Image:Lattice2_ArrayFilter.svg|32px]] [[Lattice2_ArrayFilter|Within distance window]] |
|||
** [[Image:Lattice2_ArrayFilter.svg|32px]] [[Lattice2_ArrayFilter|Pointing at shape]] |
|||
* [[Image:Lattice2_ExplodeArray.svg|32px]] [[Lattice2_ExplodeArray|Explode array]] |
|||
* [[Image:Lattice2_ProjectArray.svg|32px]] [[Lattice2_ProjectArray|Project array]] |
|||
* [[Image:Lattice2_ResampleArray.svg|32px]] [[Lattice2_ResampleArray|Resample array]] |
|||
* [[Image:Lattice2_PopulateCopiesNormal.svg|32px]] [[Lattice2_PopulateCopiesNormal|Populate with copies]] |
|||
** [[Image:Lattice2_PopulateCopiesNormal.svg|32px]] [[Lattice2_PopulateCopiesNormal|Populate with copies]] |
|||
** [[Image:Lattice2_PopulateCopiesArray.svg|32px]] [[Lattice2_PopulateCopiesArray|Populate with copies: Build array]] |
|||
** [[Image:Lattice2_PopulateCopiesMove.svg|32px]] [[Lattice2_PopulateCopiesMove|Moved object]] |
|||
* [[Image:Lattice2_PopulateChildrenNormal.svg|32px]] [[Lattice2_PopulateChildrenNormal|Populate with children]] |
|||
** [[Image:Lattice2_PopulateChildrenNormal.svg|32px]] [[Lattice2_PopulateChildrenNormal|Populate with children]] |
|||
** [[Image:Lattice2_PopulateChildrenArray.svg|32px]] [[Lattice2_PopulateChildrenArray|Populate with children: Build array]] |
|||
** [[Image:Lattice2_PopulateChildrenMove.svg|32px]] [[Lattice2_PopulateChildrenMove|Moved children]] |
|||
* [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Parametric downgrade]] |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to ]] |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to Leaves]] |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to CompSolids]] |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to Shells]] |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to OpenWires]] |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to Faces]] |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to Wires]] |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to Edges]] |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to Seam edges]] |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to Non-seam edges]] |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to Vertices]] |
|||
* [[Image:Lattice2_SubLink.svg|32px]] [[Lattice2_SubLink|Sub link]] |
|||
* [[Image:Lattice2_MakeCompound.svg|32px]] [[Lattice2_MakeCompound|Make compound]] |
|||
* [[Image:Lattice2_ExplodeCompound.svg|32px]] [[Lattice2_ExplodeCompound|Explode compound]] |
|||
* [[Image:Lattice2_FuseCompound.svg|32px]] [[Lattice2_FuseCompound|Fuse compound]] |
|||
* [[Image:Lattice2_BoundingBox.svg|32px]] [[Lattice2_BoundingBox|Bounding box]] |
|||
** [[Image:Lattice2_BoundingBox.svg|32px]] [[Lattice2_BoundingBox|Whole]] |
|||
** [[Image:Lattice2_BoundingBoxCompound.svg|32px]] [[Lattice2_BoundingBoxCompound|Children]] |
|||
* [[Image:Lattice2_ShapeString.svg|32px]] [[Lattice2_ShapeString|Shape string for array]] |
|||
* [[Image:Lattice2_ParaSeries.svg|32px]] [[Lattice2_ParaSeries|Para series]] |
|||
* [[Image:Lattice2_Inspect.svg|32px]] [[Lattice2_Inspect|Inspect]] |
|||
** [[Image:Lattice2_InspectSelection.svg|32px]] [[Lattice2_InspectSelection|Inspect seletion]] |
|||
** [[Image:Lattice2_InspectShape.svg|32px]] [[Lattice2_InspectShape|Shape info (feature)]] |
|||
* [[Image:Lattice2_SubstituteObject.svg|32px]] [[Lattice2_SubstituteObject|Substitute object]] |
|||
* Expose links to subelements |
|||
<!--T:14--> |
|||
Other |
Other |
||
* |
* Recomputes |
||
** [[Image:Lattice2_RecomputeMakeFeature.svg|32px]] |
** [[Image:Lattice2_RecomputeMakeFeature.svg|32px]] [[Lattice2_RecomputeMakeFeature|Make recompute locher object]]: |
||
** [[Image:Lattice2_RecomputeLock.svg|32px]] |
** [[Image:Lattice2_RecomputeLock.svg|32px]] [[Lattice2_RecomputeLock|Lock recomputes]]: |
||
** [[Image:Lattice2_RecomputeUnlock.svg|32px]] |
** [[Image:Lattice2_RecomputeUnlock.svg|32px]] [[Lattice2_RecomputeUnlock|Unlock recomputes]]: |
||
** [[Image:Lattice2_RecomputeFeature.svg|32px]] |
** [[Image:Lattice2_RecomputeFeature.svg|32px]] [[Lattice2_RecomputeFeature|Recompute feature]]: |
||
** [[Image:Lattice2_RecomputeDocument.svg|32px]] |
** [[Image:Lattice2_RecomputeDocument.svg|32px]] [[Lattice2_RecomputeDocument|Recompute document]]: |
||
** [[Image:Lattice2_RecomputeForce.svg|32px]] |
** [[Image:Lattice2_RecomputeForce.svg|32px]] [[Lattice2_RecomputeForce|Force recompute]]: |
||
** [[Image:Lattice2_RecomputeTouch.svg|32px]] |
** [[Image:Lattice2_RecomputeTouch.svg|32px]] [[Lattice2_RecomputeTouch|Touch selected feature]]: |
||
* [[Image:Lattice2_Lattice2.svg|32px]] Lattice2 icon |
* [[Image:Lattice2_Lattice2.svg|32px]] Lattice2 Workbench icon |
||
==Installation== |
==Installation== <!--T:15--> |
||
<!--T:16--> |
|||
===Automatic installation=== |
|||
'''Prerequisites''': Lattice2 Workbench requires FreeCAD >= v0.16.5155. |
|||
See [[Installing|Installing]] |
|||
===Automatic installation=== <!--T:17--> |
|||
===From GitHub=== |
|||
<!--T:18--> |
|||
'''Prerequisites''' |
|||
As of v0.17 one can use the [[Image:Std_AddonMgr.svg|24px]] [[Std_AddonMgr|Addon Manager]] to install the [[Image:Lattice2_Lattice2.svg|24px]] Lattice2 Workbench. Use {{MenuCommand|Tools → Addon Manager}} |
|||
=== Manual Install === <!--T:19--> |
|||
Lattice2 WB requires FreeCAD no less than v0.16.5155. |
|||
<!--T:20--> |
|||
'''Manual install''' |
|||
* |
* Scroll to the top of the page, and click 'download zip' button |
||
* |
* Unpack the contents into a "Lattice2" folder created in \Path\to\FreeCAD\Mod, and restart FreeCAD. |
||
* |
* Note that InitGui.py (and the rest of .py files) should end up directly under Mod\Lattice2 (not under nested directory like Mod\Lattice2\Lattice2). |
||
<!--T:21--> |
|||
After you install the workbench, it should appear at the bottom of list of workbench selector in FreeCAD. |
After you install the workbench, it should appear at the bottom of list of workbench selector in FreeCAD. |
||
== Tutorials == <!--T:22--> |
|||
==Links to Lattice2 WB== |
|||
<!--T:23--> |
|||
* Workbench Wiki: https://github.com/DeepSOIC/Lattice2/wiki |
|||
* FreeCAD Wiki: |
|||
* FreeCAD Forum: [http://forum.freecadweb.org/viewtopic.php?t=12464 Lattice workbench - v2.0 is becoming stable] |
|||
* Tutorials: [https://github.com/DeepSOIC/Lattice2/wiki/Gallery Gallery] |
* Tutorials: [https://github.com/DeepSOIC/Lattice2/wiki/Gallery Gallery] |
||
* [https://github.com/DeepSOIC/Lattice2/wiki/Basic-Tutorial Basic Tutorial] |
|||
* Videos: [xxxxxxxxxxx] |
|||
* [https://github.com/DeepSOIC/Lattice2/wiki/PartDesign-Pattern-Tutorial Lattice2 in PartDesign] |
|||
* Files: [xxxxxxxx] |
|||
* [https://github.com/DeepSOIC/Lattice2/wiki/Cogset-Tutorial Making a Cogset] |
|||
* [https://www.youtube.com/watch?v=BXmeEGnhszo Feature Patterns in Lattice2 Workbench] by @sliptonic |
|||
==Links to Lattice2 workbench== <!--T:24--> |
|||
<!--T:25--> |
|||
* Lattice2 Wiki: https://github.com/DeepSOIC/Lattice2/wiki |
|||
* FreeCAD Wiki: https://www.freecadweb.org/wiki/Lattice2_Workbench |
|||
* FreeCAD Forum: [http://forum.freecadweb.org/viewtopic.php?t=12464 Lattice workbench - v2.0 is becoming stable] |
|||
* Gallery: https://github.com/DeepSOIC/Lattice2/wiki/Gallery |
* Gallery: https://github.com/DeepSOIC/Lattice2/wiki/Gallery |
||
* Report bugs: Please report bugs at https://github.com/DeepSOIC/Lattice2/issues |
* Report bugs: Please report bugs at https://github.com/DeepSOIC/Lattice2/issues |
||
==Other useful links== |
==Other useful links== <!--T:26--> |
||
<!--T:27--> |
|||
* [https://github.com/DeepSOIC/Lattice Lattice old version] |
|||
* [https://github.com/DeepSOIC/Lattice Lattice aka Lattice1 Workbench (obsolete)] |
|||
* [[Template:DevWorkbenches|DevWorkbenches]]: List of workbenches in development. |
|||
* [[External_workbenches|External Workbenches]]: List of FreeCAD workbenches. |
|||
* [[Macros_recipes|Macros recipes]] |
* [[Macros_recipes|Macros recipes]] |
||
* [[Download|FreeCAD Download]] |
|||
* [[FreeCAD_Community_Portal|FreeCAD Community Portal]] |
* [[FreeCAD_Community_Portal|FreeCAD Community Portal]] |
||
</translate> |
|||
{{Userdocnavi{{#translation:}}}} |
|||
[[Category:Addons{{#translation:}}]] |
|||
[[Category:External Workbenches{{#translation:}}]] |
|||
[[Category:Sandbox]] |
Latest revision as of 11:18, 15 July 2023
This documentation is not finished. Please help and contribute documentation.
GuiCommand model explains how commands should be documented. Browse Category:UnfinishedDocu to see more incomplete pages like this one. See Category:Command Reference for all commands.
See WikiPages to learn about editing the wiki pages, and go to Help FreeCAD to learn about other ways in which you can contribute.
The FreeCAD Lattice2 External Workbench Icon
Introduction
The Lattice2 Workbench is a FreeCAD external workbench that serves the purpose of working with placements and arrays of placements. It is a sort of Assembly workbench, but with emphasis on arrays. There are no constraints and relations, there are just arrays of placements that can be generated, combined, transformed, superimposed, and populated with shapes.
Ever wondered how to create a protractor with FreeCAD? That's the aim of the workbench (including tick labeling). Also, exploded assemblies can be made with the workbench.
Additionally, the workbench features a few general-purpose tools, such as parametric downgrade, bounding boxes, shape info tool, and tools for working with collections of shapes (compounds).
One of the big design goals of the workbench is being as parametric as possible.
References
- Author: DeepSOIC
- Home page: https://github.com/DeepSOIC/Lattice2
- Source code on github: https://github.com/DeepSOIC/Lattice2
Tools
Detailed description on the Lattice2 Github wiki
Toolbar
Lattice2 Toolbar
Commands
- Placement
- Single Placement: Custom
- Single Placement: XY plane
- Single Placement: XZ plane
- Single Placement: YZ plane
- Single Placement: along X
- Single Placement: along Y
- Single Placement: along Z
- Single Placement: Euler angles
- Placement of shape: Copy object.Placement
- Placement of shape: Center of bounding box
- Placement of shape: Center of mass
- Placement of shape: Inertial axis system
- Attachable Placement
- Generate linear array
- Generate polar array
- Array from shape
- Invert lattice
- Join arrays
- Array filter
- Explode array
- Project array
- Resample array
- Populate with copies
- Populate with children
- Parametric downgrade
- Sub link
- Make compound
- Explode compound
- Fuse compound
- Bounding box
- Shape string for array
- Para series
- Inspect
- Substitute object
- Expose links to subelements
Other
Installation
Prerequisites: Lattice2 Workbench requires FreeCAD >= v0.16.5155.
Automatic installation
As of v0.17 one can use the Addon Manager to install the Lattice2 Workbench. Use Tools → Addon Manager
Manual Install
- Scroll to the top of the page, and click 'download zip' button
- Unpack the contents into a "Lattice2" folder created in \Path\to\FreeCAD\Mod, and restart FreeCAD.
- Note that InitGui.py (and the rest of .py files) should end up directly under Mod\Lattice2 (not under nested directory like Mod\Lattice2\Lattice2).
After you install the workbench, it should appear at the bottom of list of workbench selector in FreeCAD.
Tutorials
- Tutorials: Gallery
- Basic Tutorial
- Lattice2 in PartDesign
- Making a Cogset
- Feature Patterns in Lattice2 Workbench by @sliptonic
Links to Lattice2 workbench
- Lattice2 Wiki: https://github.com/DeepSOIC/Lattice2/wiki
- FreeCAD Wiki: https://www.freecadweb.org/wiki/Lattice2_Workbench
- FreeCAD Forum: Lattice workbench - v2.0 is becoming stable
- Gallery: https://github.com/DeepSOIC/Lattice2/wiki/Gallery
- Report bugs: Please report bugs at https://github.com/DeepSOIC/Lattice2/issues
Other useful links
- Lattice aka Lattice1 Workbench (obsolete)
- External Workbenches: List of FreeCAD workbenches.
- Macros recipes
- FreeCAD Community Portal
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub