Пример #1
0
    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)
Пример #2
0
    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,
        )
Пример #3
0
 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)