def test01(self): '''Test CreateCylinder''' stock = PathStock.CreateCylinder(self.job) self.assertTrue(hasattr(stock, 'Radius')) self.assertTrue(hasattr(stock, 'Height')) self.assertRoughly(R, stock.Radius.Value) self.assertEqual(300, stock.Height) stock = PathStock.CreateCylinder(self.job, 37, 24) self.assertEqual(37, stock.Radius) self.assertEqual(24, stock.Height) placement = FreeCAD.Placement(FreeCAD.Vector(3, 8, -4), FreeCAD.Vector(0, 0, 1), -90) stock = PathStock.CreateCylinder(self.job, 1, 88, placement) self.assertEqual(1, stock.Radius) self.assertEqual(88, stock.Height) self.assertPlacement(placement, stock.Placement)
def test11(self): """Verify FromTemplate cylinder creation.""" radius = 7 height = 12 placement = FreeCAD.Placement( FreeCAD.Vector(99, 88, 77), FreeCAD.Vector(1, 1, 1), 123 ) orig = PathStock.CreateCylinder(self.job, radius, height, placement) # full template template = PathStock.TemplateAttributes(orig) stock = PathStock.CreateFromTemplate(self.job, template) self.assertEqual( PathStock.StockType.CreateCylinder, PathStock.StockType.FromStock(stock) ) self.assertEqual(orig.Radius, stock.Radius) self.assertEqual(orig.Height, stock.Height) self.assertPlacement(orig.Placement, stock.Placement) # no extent in template template = PathStock.TemplateAttributes(orig, False, True) stock = PathStock.CreateFromTemplate(self.job, template) self.assertEqual( PathStock.StockType.CreateCylinder, PathStock.StockType.FromStock(stock) ) self.assertRoughly(R, stock.Radius.Value) self.assertEqual(300, stock.Height) self.assertPlacement(orig.Placement, stock.Placement) # no placement template - and no base template = PathStock.TemplateAttributes(orig, True, False) stock = PathStock.CreateFromTemplate(None, template) self.assertEqual( PathStock.StockType.CreateCylinder, PathStock.StockType.FromStock(stock) ) self.assertEqual(orig.Radius, stock.Radius) self.assertEqual(orig.Height, stock.Height) self.assertPlacement(FreeCAD.Placement(), stock.Placement) # no placement template - but base template = PathStock.TemplateAttributes(orig, True, False) stock = PathStock.CreateFromTemplate(self.job, template) self.assertEqual( PathStock.StockType.CreateCylinder, PathStock.StockType.FromStock(stock) ) self.assertEqual(orig.Radius, stock.Radius) self.assertEqual(orig.Height, stock.Height) self.assertPlacement( FreeCAD.Placement(FreeCAD.Vector(50, 100, 0), FreeCAD.Rotation()), stock.Placement, )
def setFields(self, obj): if not self.IsStock(obj): self.setStock(obj, PathStock.CreateCylinder(obj)) self.setLengthField(self.form.stockCylinderRadius, obj.Stock.Radius) self.setLengthField(self.form.stockCylinderHeight, obj.Stock.Height)