Lattice2 Workbench: Difference between revisions
Renatorivo (talk | contribs) (Marked this version for translation) |
Renatorivo (talk | contribs) (Marked this version for translation) |
||
(One intermediate revision by one other user not shown) | |||
Line 38: | Line 38: | ||
<!--T:11--> |
<!--T:11--> |
||
Detailed description on the [https://github.com/DeepSOIC/Lattice2/wiki Lattice2 Github wiki] |
Detailed description on the [https://github.com/DeepSOIC/Lattice2/wiki Lattice2 Github wiki] |
||
===Toolbar=== <!--T:28--> |
|||
<!--T:12--> |
<!--T:12--> |
||
Line 43: | Line 45: | ||
{{Caption|Lattice2 Toolbar}} |
{{Caption|Lattice2 Toolbar}} |
||
<!--T: |
===Commands=== <!--T:29--> |
||
⚫ | |||
<!--T:30--> |
|||
⚫ | |||
* [[Image:Lattice2_Placement.svg|32px]] [[Lattice2_Placement|Placement]] |
|||
** [[Image:Lattice2_Placement.svg|24px]] Single Placement: |
** [[Image:Lattice2_Placement.svg|24px]] [[Lattice2_Placement|Single Placement: Custom]] |
||
** [[Image:Lattice2_Placement.svg|24px]] Single Placement: |
** [[Image:Lattice2_Placement.svg|24px]] [[Lattice2_Placement|Single Placement: XY plane]] |
||
** [[Image:Lattice2_Placement.svg|24px]] Single Placement: |
** [[Image:Lattice2_Placement.svg|24px]] [[Lattice2_Placement|Single Placement: XZ plane]] |
||
** [[Image:Lattice2_Placement.svg|24px]] Single Placement: |
** [[Image:Lattice2_Placement.svg|24px]] [[Lattice2_Placement|Single Placement: YZ plane]] |
||
** [[Image:Lattice2_Placement.svg|24px]] Single Placement: |
** [[Image:Lattice2_Placement.svg|24px]] [[Lattice2_Placement|Single Placement: along X]] |
||
** [[Image:Lattice2_Placement.svg|24px]] Single Placement: |
** [[Image:Lattice2_Placement.svg|24px]] [[Lattice2_Placement|Single Placement: along Y]] |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
** [[Image:Lattice2_PlacementFromShape.svg|32px]] Placement of shape: |
** [[Image:Lattice2_PlacementFromShape.svg|32px]] [[Lattice2_PlacementFromShape|Placement of shape: Copy object.Placement]] |
||
** [[Image:Lattice2_PlacementFromShape.svg|32px]] Placement of shape: |
** [[Image:Lattice2_PlacementFromShape.svg|32px]] [[Lattice2_PlacementFromShape|Placement of shape: Center of bounding box]] |
||
⚫ | |||
* [[Image:Lattice2_LinearArray.svg|32px]] '''Generate linear array''' |
|||
⚫ | |||
* [[Image:Lattice2_PolarArray.svg|32px]] '''Generate polar array''' |
|||
* [[Image: |
* [[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]] |
** [[Image:Lattice2_ArrayFromShape.svg|32px]] [[Lattice2_ArrayFromShape|Internal placements]] |
||
* [[Image: |
** [[Image:Lattice2_ArrayFromShape.svg|32px]] [[Lattice2_ArrayFromShape|Center of bounding box]] |
||
* [[Image: |
** [[Image:Lattice2_ArrayFromShape.svg|32px]] [[Lattice2_ArrayFromShape|Center of mass]] |
||
* [[Image: |
** [[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]] |
** [[Image:Lattice2_ArrayFilter.svg|32px]] [[Lattice2_ArrayFilter|Selected items]] |
||
* [[Image: |
** [[Image:Lattice2_ArrayFilter.svg|32px]] [[Lattice2_ArrayFilter|Touching]] |
||
* [[Image: |
** [[Image:Lattice2_ArrayFilter.svg|32px]] [[Lattice2_ArrayFilter|Within distance window]] |
||
* [[Image: |
** [[Image:Lattice2_ArrayFilter.svg|32px]] [[Lattice2_ArrayFilter|Pointing at shape]] |
||
* [[Image: |
* [[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: |
** [[Image:Lattice2_PopulateCopiesNormal.svg|32px]] [[Lattice2_PopulateCopiesNormal|Populate with copies]] |
||
** [[Image: |
** [[Image:Lattice2_PopulateCopiesArray.svg|32px]] [[Lattice2_PopulateCopiesArray|Populate with copies: Build array]] |
||
** [[Image: |
** [[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: |
** [[Image:Lattice2_PopulateChildrenMove.svg|32px]] [[Lattice2_PopulateChildrenMove|Moved children]] |
||
* [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Parametric downgrade]] |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] |
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to ]] |
||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] |
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to Leaves]] |
||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] |
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to CompSolids]] |
||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] |
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to Shells]] |
||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] |
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to OpenWires]] |
||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] |
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to Faces]] |
||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] |
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to Wires]] |
||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] |
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to Edges]] |
||
⚫ | |||
* [[Image:Lattice2_SubLink.svg|32px]] '''Sub link''' |
|||
** [[Image:Lattice2_ParametricDowngrade.svg|24px]] [[Lattice2_ParametricDowngrade|Downgrade to Non-seam edges]] |
|||
* [[Image:Lattice2_MakeCompound.svg|32px]] '''Make compound''' |
|||
⚫ | |||
* [[Image:Lattice2_ExplodeCompound.svg|32px]] '''Explode compound''' |
|||
* [[Image: |
* [[Image:Lattice2_SubLink.svg|32px]] [[Lattice2_SubLink|Sub link]] |
||
* [[Image: |
* [[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: |
* [[Image:Lattice2_BoundingBox.svg|32px]] [[Lattice2_BoundingBox|Bounding box]] |
||
* [[Image: |
** [[Image:Lattice2_BoundingBox.svg|32px]] [[Lattice2_BoundingBox|Whole]] |
||
* [[Image: |
** [[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: |
* [[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]] |
|||
⚫ | |||
<!--T:14--> |
<!--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== <!--T:15--> |
==Installation== <!--T:15--> |
Revision as of 22:48, 18 March 2020
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 WB requires FreeCAD >= v0.16.5155.
Automatic installation
As of v0.17 one can use the Addon Manager to install the Lattice2 Workbench. Use {MenuCommand|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 WB
- 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, Start, Surface, TechDraw, Test Framework, Web
- Hubs: User hub, Power users hub, Developer hub