mirror of
https://github.com/gumyr/build123d.git
synced 2025-12-06 02:30:55 -08:00
Merge pull request #649 from jdegenstein/jernArc360fix
Complete JernArc relocates vertex
This commit is contained in:
commit
a0dc9355ee
2 changed files with 5 additions and 1 deletions
|
|
@ -596,6 +596,7 @@ class JernArc(BaseLineObject):
|
|||
if abs(arc_size) >= 360:
|
||||
circle_plane = copy.copy(jern_workplane)
|
||||
circle_plane.origin = self.center_point
|
||||
circle_plane.x_dir = self.start - circle_plane.origin
|
||||
arc = Edge.make_circle(radius, circle_plane)
|
||||
else:
|
||||
arc = Edge.make_tangent_arc(start, start_tangent, self.end_of_arc)
|
||||
|
|
|
|||
|
|
@ -224,12 +224,15 @@ class BuildLineTests(unittest.TestCase):
|
|||
self.assertAlmostEqual(iso1.radius, 1)
|
||||
self.assertAlmostEqual(iso1.length, pi)
|
||||
|
||||
with BuildLine() as l:
|
||||
with BuildLine() as full_l:
|
||||
l1 = JernArc(start=(0, 0, 0), tangent=(1, 0, 0), radius=1, arc_size=360)
|
||||
l2 = JernArc(start=(0, 0, 0), tangent=(1, 0, 0), radius=1, arc_size=300)
|
||||
self.assertTrue(l1.is_closed)
|
||||
self.assertFalse(l2.is_closed)
|
||||
circle_face = Face(l1)
|
||||
self.assertAlmostEqual(circle_face.area, pi, 5)
|
||||
self.assertTupleAlmostEquals(circle_face.center().to_tuple(), (0, 1, 0), 5)
|
||||
self.assertTupleAlmostEquals(l1.vertex().to_tuple(), l2.start.to_tuple(), 5)
|
||||
|
||||
l1 = JernArc((0, 0), (1, 0), 1, 90)
|
||||
self.assertTupleAlmostEquals((l1 @ 1).to_tuple(), (1, 1, 0), 5)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue