def volmdlr_primitives(self):
     primitives = []
     pos = vm.Point3D(self.pos_x, self.pos_y, self.z_position)
     axis = vm.Vector3D(0, 0, 1)
     cylinder = p3d.Cylinder(pos, axis, self.diameter / 2, self.length)
     primitives.append(cylinder)
     return primitives
Esempio n. 2
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""

Demo of cylinders

"""

import volmdlr as vm
import volmdlr.primitives3d as primitives3d

cylinder1 = primitives3d.Cylinder(vm.O3D, vm.X3D,
                                0.03, 0.02, name='cylinder1')
cylinder2 = primitives3d.HollowCylinder(0.1*vm.Y3D, vm.X3D,
                                      0.02, 0.06, 0.03, name='cylinder2')

model=vm.core.VolumeModel([cylinder1, cylinder2])


model.babylonjs(debug=True)

Esempio n. 3
0
@author: Mack Pro
"""

import volmdlr as vm
import volmdlr.step
import volmdlr.primitives3d as primitives3d
import math
import matplotlib.pyplot as plt

radius = 5e-3  #Choose the radius
center = vm.Point3D(0, 0, 0)  #Choose the coordinate of the center
normal = vm.Vector3D(0, 0, 1)  #Choose the normal
cylinder = primitives3d.Cylinder(center,
                                 normal,
                                 radius,
                                 length=0.1,
                                 name='Cylinder')

h = 10e-3  #Height of cylinder
angle = 3 * math.pi / 2  #Arc's angle

#You have to create a cutting pattern in 2D

# center2d = center.to_2d(center, plane.vectors[0], plane.vectors[1])
# segbh = vm.LineSegment2D(center2d, center2d + vm.Point2D((0,h)))
# circlestart = vm.LineSegment2D(segbh.points[1], segbh.points[1]+vm.Point2D((angle,0)))
# seghb = vm.LineSegment2D(circlestart.points[1],circlestart.points[1]-segbh.points[1])
# circlend = vm.LineSegment2D(seghb.points[1],segbh.points[0])
# edges = [segbh, circlestart, seghb, circlend]
# points = edges[0].points