Open skanga opened 3 years ago
Can anyone tell me whether cylinder rotation in Z axis is working or not?
It seems to fail for me - not sure if I'm doing something wrong.
In this example I am trying to build a square pyramid out of cylindrical poles and can't get it to work at all. Any thoughts?
This is my test code.
import eu.mihosoft.jcsg.CSG; import eu.mihosoft.jcsg.Cylinder; import eu.mihosoft.jcsg.FileUtil; import eu.mihosoft.vvecmath.Transform; import java.io.IOException; import java.nio.file.Paths; public class PoleTest { public static void main(String[] args) throws IOException { CSG result = new PoleTest().toCSG(); FileUtil.write(Paths.get("PoleTest.stl"), result.toStlString()); } public CSG pole(double length, double radius, double rotX, double rotY, double rotZ, double trX, double trY, double trZ) { System.out.printf("rotX=%.2f rotY = %.2f rotZ = %.2f%n", rotX, rotY, rotZ); CSG innerCyl = new Cylinder(radius, length, 16).toCSG(); return innerCyl.transformed(Transform.unity().rotX(rotX).rotY(rotY).rotZ(rotZ)) .transformed(Transform.unity().translate(trX, trY, trZ)); } public CSG toCSG() { double armLength = 150; double armRadius = 5; CSG pole1 = pole(armLength, armRadius,0, 60,0, 0,0,45); CSG pole2 = pole(armLength*2, armRadius,30, 45,45, armLength, 0, 0); CSG pole3 = pole(armLength, armRadius,45, 0,90, 0, armLength,0); CSG pole4 = pole(armLength, armRadius,45, 90,0, armLength,armLength,0); return pole1.union(pole2).union(pole3).union(pole4); } }
Can anyone tell me whether cylinder rotation in Z axis is working or not?
It seems to fail for me - not sure if I'm doing something wrong.
In this example I am trying to build a square pyramid out of cylindrical poles and can't get it to work at all. Any thoughts?
This is my test code.