@@ -39,13 +39,34 @@ function exportObject(object, elements, obj::Modia3D.Composition.Object3D, box::
3939end
4040
4141function exportObject (object, elements, obj:: Modia3D.Composition.Object3D , cylinder:: Modia3D.Shapes.Cylinder , initPos, initRot)
42- r_obj = Modia3D. ZeroVector3D
43- R_obj = Shapes. rotateAxis2y (cylinder. axis, Modia3D. NullRotation)
4442 name = String (Modia3D. fullName (obj)) * " .geometry"
45- geometry = (; name= name, uuid= name2uuid (name), type= " CylinderBufferGeometry" , radiusBottom= cylinder. diameter/ 2 , radiusTop= cylinder. diameter/ 2 , height= cylinder. length, radialSegments= 32 , heightSegments= 1 )
4643 material = printVisuMaterialToJSON (obj, obj. visualMaterial)
47- objectInfo = getObjectInfo (obj, geometry, material, initPos, initRot, R_obj= R_obj)
48- printInfoToFile (object, elements, geometry, material, nothing , objectInfo)
44+ if cylinder. innerDiameter == 0.0
45+ r_obj = Modia3D. ZeroVector3D
46+ R_obj = Shapes. rotateAxis2y (cylinder. axis, Modia3D. NullRotation)
47+ shape = nothing
48+ geometry = (; name= name, uuid= name2uuid (name), type= " CylinderBufferGeometry" , radiusBottom= cylinder. diameter/ 2 , radiusTop= cylinder. diameter/ 2 , height= cylinder. length, radialSegments= 32 , heightSegments= 1 )
49+ objectInfo = getObjectInfo (obj, geometry, material, initPos, initRot, R_obj= R_obj)
50+ else
51+ if cylinder. axis == 1
52+ r_obj = @SVector [- cylinder. length/ 2 , 0.0 , 0.0 ]
53+ elseif cylinder. axis == 2
54+ r_obj = @SVector [0.0 , - cylinder. length/ 2 , 0.0 ]
55+ else
56+ r_obj = @SVector [0.0 , 0.0 , - cylinder. length/ 2 ]
57+ end
58+ R_obj = Shapes. rotateAxis2z (cylinder. axis, Modia3D. NullRotation)
59+ innerCurves = [(; type= " EllipseCurve" , aX= 0 , aY= 0 , xRadius= cylinder. innerDiameter/ 2 , yRadius= cylinder. innerDiameter/ 2 , aStartAngle= 0 , aEndAngle= 2 * pi , aClockwise= false , aRotation= 0 )]
60+ holes = [(; type= " Path" , curves= innerCurves, currentPoint= [0 , 0 ])]
61+ curves = [(; type= " EllipseCurve" , aX= 0 , aY= 0 , xRadius= cylinder. diameter/ 2 , yRadius= cylinder. diameter/ 2 , aStartAngle= 0 , aEndAngle= 2 * pi , aClockwise= false , aRotation= 0 )]
62+ shapeName = String (Modia3D. fullName (obj)) * " .shape"
63+ shapeUuid = name2uuid (shapeName)
64+ shape = (; name= shapeName, uuid= shapeUuid, type= " Shape" , curves= curves, holes= holes, currentPoint= [0 , 0 ])
65+ options = (; depth= cylinder. length, bevelEnabled= false )
66+ geometry = (; name= name, uuid= name2uuid (name), type= " ExtrudeGeometry" , shapes= [shapeUuid], options= options)
67+ objectInfo = getObjectInfo (obj, geometry, material, initPos, initRot, r_obj= r_obj, R_obj= R_obj)
68+ end
69+ printInfoToFile (object, elements, geometry, material, shape, objectInfo)
4970 return (r_obj, R_obj)
5071end
5172
0 commit comments