-
Notifications
You must be signed in to change notification settings - Fork 9
Blog
Hi! This is blog. Here, I'm posting interesting things, feature announcements, and whatever about Lattice.
January 9, 2018
This new feature is like Part Mirror, but much more capable. Compared to Part Mirror, Lattice2's Mirror can use other geometry as the mirroring origin. And it also supports mirroring Lattice Placements and arrays.
It also supports more than just mirroring. Mirroring is reversing one coordinate. Lattice Mirror supports reversing any number of coordinates (e.g. you can flip all three coordinates, resulting in an inverted object). The coordinate axis system can be a global one, or taken from a Lattice Placement, or from a plane, edge or vertex of any shape.
On this picture, the text was mirrored using the highlighted edge as mirror. The one hanging in the air has FlipX + FlipY switched on, which results in a 180 rotation around the line. The one on the other side of the box has FlipZ turned on, which results in a reflection against line's plane of symmetry.
November 26, 2017
Lattice2 was ported to support Python3. Thanks to @loooo and @wwmayer for their help!
January 5, 2017
I called it Subsequencing. Say we have a link to an element in an array (compound). Subsequencing it means extracting all the elements like the one selected, from all children of the array.
For example, we have a sketch with a few polylines. Subsequencing Vertex1 will yield starting vertex of every wire (because Vertex1 of compound happens to be Vertex1 of first child, and every Vertex1 of each child form the subsequence).
Currently, subsequencing is implemented for SubLink tool and for Attached Placement. This is happening in a separate branch, MultiSublink. As soon as I'm happy with the code, I will merge the branch into master Lattice.
There is a plan to make a derivative of ParaSeries, built around subsequencing.
December 29, 2016
Recently, Attached Placement feature of Lattice was broken, because attachment was ported to use the new Extension architecture. Today, I fixed it, so Attached Placement now works in both old and new FC v0.17. However, the files made with FC older than v0.17.9177 won't work in v0.17.9177+. So, I strongly advise you to update to most recent v0.17, if you are using one already.
Lattice in FC v0.16 should not be affected, since Attached Placement feature doesn't work there at all.
PS. Merry christmas, and Happy New Year!
August 22, 2016.
Array tools just got a new capability. Now it is possible to align an array on an edge it various manners. Plus, I added a few presets as dropdown toolbar button "LinearArray".
August 22, 2016.
Now, by default, shallow copies of shapes being arrayed are made. As a result, speed of creation of populate features, as well as the arrays themseves, was significantly improved.
But. To notice the improved speed, you need to work with large arrays. And you also should disable selection highlighting/prehighlighting in FreeCAD preferences, as highlighting the newly created array takes much longer than creation of the array.
These changes will have an experimental state for a while. If you notice something strange, you can try switching back to old deep copy by changing 'Copying' property of Populate features. Then, if shallow copy proves reliable, I plan to remove 'Copying' property.
I hoped it would decrease project file sizes. But it doesn't. Unfortunately.
Introduction to Lattice workbench
Boolean operations on arrays, Compound structure
Shape-driven arrays, Draft arrays in Lattice2
"Subsequencing" (sublink iteration, TopoSeries)
- (common pieces)
-- Common properties of placement features
-- Common properties of array generators
- (features)
-- Single Placement
-- Attached Placement
-- Array an attached Placement
-- Linear Array
-- Polar Array
-- Array From Shape
-- Invert placements
-- Join Arrays
-- Array Filter
-- Project Array
-- Resample Array
-- Populate With Copies
-- Populate With Children
-- Mirror
-- PartDesign Pattern
-- Downgrade
-- SubLink
-- Subsequence
-- Make Compound
-- Compound Filter
-- Fuse Compound
-- Bounding Box
-- Shape String
-- ParaSeries
-- TopoSeries
-- Shape info feature
- (tools)
-- Explode Array
-- Explode Compound
-- Inspect tool
-- Substitute Object
-- Expose links to subelements
-- Recompute controlling tools