def wire(): e1 = cm.arc(1.0, -math.pi / 2, math.pi / 2) e1.translate((1.0, 0.0, 0.0)) e2 = cm.segment((1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)) e3 = cm.arc(1.0, math.pi / 2, 3 * math.pi / 2) e3.translate((-1.0, 0.0, 0.0)) e4 = cm.segment((-1.0, -1.0, 0.0), (1.0, -1.0, 0.0)) w1 = cm.wire([e1, e2, e3, e4]) save_top(w1, 'wire.png', (0.0, 0.0, 0.0))
def triedre(U): O = (0., 0.0, 0.0) X = U[:, 0] Y = U[:, 1] Z = U[:, 2] x = cm.segment(O, X) y = cm.segment(O, Y) z = cm.segment(O, Z) t = cm.Wire([x, y, z]) return (t)
def derived_pipe(): profile = cm.ngon(2.0, 6) e1 = cm.arc(8.0, 0.0, math.pi / 2) e2 = cm.segment((0.0, 8.0, 0.0), (-8.0, 8.0, 0.0)) spine = cm.wire([e1, e2]) spine.translate((-8.0, 0.0, 0.0)) spine.rotatex(math.pi / 2) s1 = cm.pipe(profile, spine) save_iso(s1, 'derived_pipe.png')
def test_pipe(self): profile = cm.ngon(2.0, 6) e1 = cm.arc(8.0, 0.0, math.pi / 2) e2 = cm.segment((0.0, 8.0, 0.0), (-8.0, 8.0, 0.0)) spine = cm.Wire([e1, e2]) spine.translate((-8.0, 0.0, 0.0)) spine.rotatex(math.pi / 2) s1 = cm.pipe(profile, spine) # empirical self.assert_(close(213.732, s1.volume(), 0.001))
def test_pipe(self): profile = cm.ngon(2.0, 6) e1 = cm.arc(8.0, 0.0, math.pi / 2) e2 = cm.segment((0.0, 8.0, 0.0), (-8.0, 8.0, 0.0)) spine = cm.wire([e1, e2]) spine.translate((-8.0, 0.0, 0.0)) spine.rotatex(math.pi / 2) s1 = cm.pipe(profile, spine) # empirical self.assert_(close(213.732, s1.volume(), 0.001))
def poly(self): s1 = cm.segment((0.0, 0.0, 0.0), (1.0, 1.0, 1.0)) p1 = s1.poly() self.assert_( len(p1) == 2 and close(p1[0], (0.0, 0.0, 0.0)) and close(p1[1], (1.0, 1.0, 1.0)))
def tolerance(self): s1 = cm.segment((0.0, 0.0, 0.0), (1.0, 1.0, 1.0)) self.assert_(close(s1.tolerance(), 1e-7, eps=1e-9))
def test_nearest(self): s1 = cm.segment((0.0, 0.0, 0.0), (1.0, 1.0, 1.0)) i1 = s1.nearest('Vertex', [(1.0, 1.0, 1.0)])[0] self.assert_(i1 == 1)
def test_fix(self): s1 = cm.segment((0.0, 0.0, 0.0), (1.0, 1.0, 1.0)) s1.fix() self.assert_(close(s1.center(), (0.5, 0.5, 0.5)))
def test_subcenters(self): s1 = cm.segment((0.0, 0.0, 0.0), (1.0, 1.0, 1.0)) cs = s1.subcenters('Vertex') self.assert_( close(cs[0], (0.0, 0.0, 0.0)) and close(cs[1], (1.0, 1.0, 1.0)))
def test_subcenters(self): s1 = cm.segment((0.0, 0.0, 0.0), (1.0, 1.0, 1.0)) cs = s1.subcenters('vertex') self.assert_(close(cs[0], (0.0, 0.0, 0.0)) and close(cs[1], (1.0, 1.0, 1.0)))
def test_subshapes(self): s1 = cm.segment((0.0, 0.0, 0.0), (1.0, 1.0, 1.0)) vs = s1.subshapes('vertex') self.assert_(len(vs) == 2 and close(vs[0].center(), (0.0, 0.0, 0.0)) and close(vs[1].center(), (1.0, 1.0, 1.0)))
def test_segment(self): pt1 = (0.0, 0.0, 0.0) pt2 = (1.0, 0.0, 0.0) e1 = cm.segment(pt1, pt2) self.assert_(close(1.0, e1.length()))
def edge_segment(): pt1 = (0.0, 0.0, 0.0) pt2 = (1.0, 0.0, 0.0) e1 = cm.segment(pt1, pt2) save_top(e1, 'edge_segment.png', (0.0, 0.0, 0.0))
def test_check(self): s1 = cm.segment((0.0, 0.0, 0.0), (1.0, 1.0, 1.0)) self.assert_(s1.check())
def test_subshapes(self): s1 = cm.segment((0.0, 0.0, 0.0), (1.0, 1.0, 1.0)) vs = s1.subshapes('Vertex') self.assert_( len(vs) == 2 and close(vs[0].center(), (0.0, 0.0, 0.0)) and close(vs[1].center(), (1.0, 1.0, 1.0)))
def test_dump(self): s1 = cm.segment((0.0, 0.0, 0.0), (1.0, 1.0, 1.0)) s1.dump() self.assert_(True)
def test_nearest(self): s1 = cm.segment((0.0, 0.0, 0.0), (1.0, 1.0, 1.0)) i1 = s1.nearest('vertex', [(1.0, 1.0, 1.0)])[0] self.assert_(i1 == 1)
def test_subtolerance(self): s1 = cm.segment((0.0, 0.0, 0.0), (1.0, 1.0, 1.0)) subtols = s1.subtolerance() self.assert_(close(subtols, (1e-7, 1e-7, 1e-7), eps=1e-9))
def type(self): s1 = cm.segment((0.0, 0.0, 0.0), (1.0, 1.0, 1.0)) self.assert_(s1.type() == 'line')
def poly(self): s1 = cm.segment((0.0, 0.0, 0.0), (1.0, 1.0, 1.0)) p1 = s1.poly() self.assert_(len(p1) == 2 and close(p1[0], (0.0, 0.0, 0.0)) and close(p1[1], (1.0, 1.0, 1.0)))
def draw(self, view): self.geom = model.segment([self.p1.x.val, self.p1.y.val, 0], [self.p2.x.val, self.p2.y.val, 0]) view.display(self.geom)