Roy_043 wrote: ↑Sat Mar 19, 2022 5:18 pm
This line: face = Part.Face([w1, w2])
Always produces a faulty face (actually it produces a shape).
And this is required: face.fix(0.1, 0, 1)
IMO fix should be called in the bind function, not in ArchWall.py.
Thanks for that test case. It is handled OK by the new code. The new bind() function, with per_segment set to True, creates 3 faces for this wall, one of which has an area of 0 mm2, but that does not seem to be a problem.
Roy_043 wrote: ↑Sun Sep 04, 2022 12:32 pm
Thanks for that test case. It is handled OK by the new code. The new bind() function, with per_segment set to True, creates 3 faces for this wall, one of which has an area of 0 mm2, but that does not seem to be a problem.
Brilliant !
I have a look at the code (DraftGeomUtils.offsetWire, draftgeoutils.intersections.connect) for another case but not sure -
There is an Wall with several segment, with a Base Sketch of several edges
The wall segments / edges are continuous
The 2nd edges in Sketch are in Reverse direction
The direction of edges are honoured in the ArchWall code, to determine the position of the Wall segment taking account of the Align attribute
(i.e. with same e.g. Left Align, but an edge is in reverse direction, it will works like Right Align)
The test model file has all edges with Center Align though
I read DraftGeomUtils.offsetWire, draftgeoutils.intersections.connect, which creates the w1 and w2, before bind. It should be fine but not sure without testing with the new code. Has a gap to test this as well ?