def test_chamfer(self): zencad.box(20).chamfer(1) zencad.box(20).chamfer(r=1) zencad.chamfer(proto=zencad.box(20), r=1) zencad.box(20).chamfer(1, [(5, 0, 0)]) zencad.box(20).chamfer(refs=[(5, 0, 0)], r=1) zencad.chamfer(proto=zencad.box(20), refs=[(5, 0, 0)], r=1)
def test_fillet(self): zencad.box(20).fillet(1) zencad.box(20).fillet(r=1) zencad.fillet(proto=zencad.box(20), r=1) zencad.box(20).fillet(1, [(5, 0, 0)]) zencad.box(20).fillet(refs=[(5, 0, 0)], r=1) zencad.fillet(proto=zencad.box(20), refs=[(5, 0, 0)], r=1)
def test_scaleZ(self): b = zencad.box(10, 10, 10) t = zencad.box(10, 10, 40) scale = zencad.scaleZ(4) r = scale(b) r = b.transform(scale) self.assertTrue(vertex_set_issame(r.vertices(), t.vertices()))
def test_brep_probe(self): zencad.to_brep(zencad.box(10), os.path.join(tempfile.gettempdir(), "tempbrep.brep")) m = zencad.from_brep( os.path.join(tempfile.gettempdir(), "tempbrep.brep")) self.assertEqual(len(m.unlazy().vertices()), 8)
def test_difference_probe(self): a = zencad.box(10) b = zencad.sphere(10) c = zencad.cone(5, 2, h=20) f1 = zencad.difference([a, b, c]) f2 = a - b - c f3 = zencad.difference([c, a, b]) f4 = c - a - b
def test_intersect_probe(self): a = zencad.box(10) b = zencad.sphere(10) c = zencad.cone(5, 2, h=20) f1 = zencad.intersect([a, b, c]) f2 = a ^ b ^ c f3 = zencad.intersect([c, a, b]) f4 = c ^ a ^ b
def test_trans_shape(self): x = 10 y = 20 z = 30 v = 10 box = zencad.box(10, 10, 10, center=True).translate(x, y, z) self.assertEqual((zencad.translate(z, y, x)(box)).center().unlazy(), zencad.point(40, 40, 40))
def test_union_probe(self): a = zencad.box(10) b = zencad.sphere(10) c = zencad.cone(5, 2, h=20) f1 = zencad.union([a, b, c]) f2 = a + b + c f3 = zencad.union([c, a, b]) f4 = c + a + b self.assertEqual(lexsort(f1.vertices()), lexsort(f2.vertices())) self.assertEqual(lexsort(f1.vertices()), lexsort(f3.vertices()))
def test_box_probe(self): a = zencad.box(x=10, y=10, z=10) a = zencad.box(10, 10, 10) b = zencad.box(size=(10, 10, 10)) c = zencad.box(10) self.assertEqual(lexsort(a.vertices()), lexsort(b.vertices())) self.assertEqual(lexsort(c.vertices()), lexsort(b.vertices())) a = zencad.box(10, 10, 10, center=True) b = zencad.box(size=(10, 10, 10), center=True) c = zencad.box(10, center=True) self.assertEqual(lexsort(a.vertices()), lexsort(b.vertices())) self.assertEqual(lexsort(c.vertices()), lexsort(b.vertices())) a = zencad.cube(10, 10, 10, True) b = zencad.cube(10, 10, 10, center=True) c = zencad.cube(size=(10, 10, 10), center=True) d = zencad.cube(10, center=True)
def test_box_probe(self): a = zencad.box(10, 10, 10) b = zencad.box(size=(10, 10, 10)) c = zencad.box(10) self.assertEqual(a.vertices(), b.vertices()) self.assertEqual(c.vertices(), b.vertices()) a = zencad.box(10, 10, 10, center=True) b = zencad.box(size=(10, 10, 10), center=True) c = zencad.box(10, center=True) self.assertEqual(a.vertices(), b.vertices()) self.assertEqual(c.vertices(), b.vertices()) a = zencad.cube(10, 10, 10, True) b = zencad.cube(10, 10, 10, center=True) c = zencad.cube(size=(10, 10, 10), center=True) d = zencad.cube(10, center=True)
def charger_tp4056_model(): model = zencad.box(x, y, z) model = model + zencad.box(hx, hy, hz).translate(x - hx + hd, y / 2 - hy / 2, z) return model
def test_thinksolid(self): zencad.thicksolid(zencad.box(10), -1, [(5, 0, 5)]) zencad.thicksolid(proto=zencad.box(10), refs=[(5, 0, 5)], t=-1) zencad.thicksolid(zencad.box(10), 1, [(5, 0, 5)]) zencad.thicksolid(proto=zencad.box(10), refs=[(5, 0, 5)], t=1)
def test_triangulation(self): zencad.triangulate(zencad.box(10), 0.1)
#!/usr/bin/env python3 import sys import zencad import zencad.gui.viewadaptor import evalcache from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * scn = zencad.Scene() scn.add(evalcache.unlazy(zencad.box(10))) app = QApplication(sys.argv[:1]) zencad.opengl.init_opengl() widget = zencad.gui.viewadaptor.DisplayWidget(scn) widget.show() app.exec()
#!/usr/bin/env python3 import zencad import zencad.viewadaptor import zencad.unbound from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * scn = zencad.Scene() scn.add(zencad.box(20, 20, 20).unlazy()) zencad.show(scn)
def test_stl_probe(self): zencad.to_stl(zencad.box(10), os.path.join(tempfile.gettempdir(), "tempstl.stl"), 0.01)
#!/usr/bin/env python3 import zencad model = zencad.box(30, 20, 10) if __name__ == "__main__": zencad.display(model) zencad.show()
#!/usr/bin/env python3 import zencad print(zencad.box(10).mass())