Giter VIP home page Giter VIP logo

Comments (13)

DeepSOIC avatar DeepSOIC commented on August 25, 2024

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).

from lattice2.

macdroid53 avatar macdroid53 commented on August 25, 2024

Ok, I thought it might be by design
But, what are Child 1 & 2? I'm making that connection...

from lattice2.

DeepSOIC avatar DeepSOIC commented on August 25, 2024

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.

from lattice2.

macdroid53 avatar macdroid53 commented on August 25, 2024

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?

from lattice2.

DeepSOIC avatar DeepSOIC commented on August 25, 2024

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)

from lattice2.

macdroid53 avatar macdroid53 commented on August 25, 2024

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...

from lattice2.

DeepSOIC avatar DeepSOIC commented on August 25, 2024

Part::GeomLineSegment is the content of Geometry property. Lattice2 does not use it, it uses Shape property.

from lattice2.

DeepSOIC avatar DeepSOIC commented on August 25, 2024

Use Lattice2's Shape Info to examine shape structure, it was made for that.

Selected 1 subelements:
Vertex2: Vertex ([-14.905163, 35.62737, 4.0])

Selected document object:
  Name = Sketch002
  Label = Sketch002
  Is placement/array = False
Structure: 
Compound (3 objects):
    Wire (1 segments)
    Wire (1 segments)
    Wire (1 segments)

from lattice2.

macdroid53 avatar macdroid53 commented on August 25, 2024

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.

from lattice2.

DeepSOIC avatar DeepSOIC commented on August 25, 2024

But, what process made that association?

https://github.com/FreeCAD/FreeCAD/blob/e89ebba7369dca5775fd8aa878a0d3c494e6b2ac/src/Mod/Sketcher/App/Sketch.cpp#L4139

from lattice2.

macdroid53 avatar macdroid53 commented on August 25, 2024

Ok, so that's a sort of base process.

Thanks...I hope I haven't asked too many questions. I appreciate your patience.

from lattice2.

DeepSOIC avatar DeepSOIC commented on August 25, 2024

well, they are good questions!

from lattice2.

quiret avatar quiret commented on August 25, 2024

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.

from lattice2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.