-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Placement has to be attached to edge called Edge1 #68
Comments
Hi, this is by design, to allow cross-item attachment. For example, if you use Edge1 and Edge2 (which Lattice2 reinterprets as Child2.Edge1) as support, Lattice2 will loop as: Child1.Edge1+Clild2.Edge1, Child2.Edge1+Child3.Edge1. You can switch PlacementSubsequence.CycleMode to Periodic, then the first one will also be included (but appear as the last placement of the array). |
Ok, I thought it might be by design |
The shape of the sketch is a compound of wires, ChildX is a child of that compound (a wire). Each child in your sketch has just 1 edge. If you were to make the L-shape placer sketch, each child will have two edges. |
Excuse me, I've not looked at the way the sketch handles this is quite a while. So, what associates the 2 edges of the L-shape to a child? |
Sketcher assembles edges into wires by looking at geometrically coincident vertices (the way you constrain it doesn't matter, actual positions do). Also, don't do triple (and higher) connections, they cause broken shapes and unstable edge/vertex numbering. (construction geometry is completely ignored, thankfully) |
I'm sure I don't get the details... I opened one of the sketches in the example. Added an edge to make up an L-shape. One vertex is on top of the other. When the sketch is closed, the Placement is changed as expected. But, when I select the sketch, then look at it's details in the selection object (I stop the code running in a debugger), the sketch has now 4 'Part::GeomLineSegment' objects (before it had 3). But, I don't see what indicates there is a parent of two of the segments... |
Part::GeomLineSegment is the content of Geometry property. Lattice2 does not use it, it uses Shape property. |
Use Lattice2's Shape Info to examine shape structure, it was made for that.
|
Aha, I see in my debugger the SubShape.SubShapes has the association between two of the edges.. But, what process made that association? I'll have a look at the Shape Info here shortly. |
|
Ok, so that's a sort of base process. Thanks...I hope I haven't asked too many questions. I appreciate your patience. |
well, they are good questions! |
Thank you, DeepSOIC, for creating this amazing workbench! You are a technical mastermind of which there are only few. Your workbench enables workflows that are complex but which are too cumbersome to do in regular FreeCAD. I also love that you added the PartDesign equivalent of Feature Mirror as Lattice2 Mirror tool! You enable people. |
When using the Placement if the support property is set to, for example Edge2, then Edge1 is ignored.
See Placement002 in this file. If the Support is changed to Edge1 the 3rd latch is populated. As it is, set to Edge2, no copy is populated for Edge1.
Lattice2_Placement_on_Edge2.FCStd.zip
The text was updated successfully, but these errors were encountered: