3d OpenSCAD初学者:关于制作曲线对象的帮助
我正在自学如何使用openSCAD,我知道一些基本知识。我决定做一棵棕榈树来练习使用这个软件。我使用以下代码来创建主干:3d OpenSCAD初学者:关于制作曲线对象的帮助,3d,geometry,autocad,openscad,3d,Geometry,Autocad,Openscad,我正在自学如何使用openSCAD,我知道一些基本知识。我决定做一棵棕榈树来练习使用这个软件。我使用以下代码来创建主干: linear_extrude(height = 50, center = true, convexity = 10, twist = 200) circle(r = 1); 这导致了以下对象: 接下来,对于棕榈树的顶部,我想创建一个2D多边形,然后将其旋转360度。多边形的外观如下所示: 多边形需要一系列点,这将非常困难,因为有弯曲的边。有没有更简单的方法来制作棕榈树叶?
linear_extrude(height = 50, center = true, convexity = 10, twist = 200)
circle(r = 1);
这导致了以下对象:
接下来,对于棕榈树的顶部,我想创建一个2D多边形,然后将其旋转360度。多边形的外观如下所示:
多边形需要一系列点,这将非常困难,因为有弯曲的边。有没有更简单的方法来制作棕榈树叶?保持简单:使用立方体等3d形状。 下面的代码显然可以从for循环生成
translate([0, 0, 25]){
linear_extrude(height = 50, center = true, convexity = 10, twist = 200)
circle(r = 1);
}
translate([0, 0, 40]){cylinder(10, 1, 2);}
translate([0, 0, 50]){rotate([0, 20, 0]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 20, 20]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 20, 40]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 20, 60]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 20, 80]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 20, 100]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 20, 120]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 20, 140]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 20, 160]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 20, 180]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 20, 200]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 20, 220]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 20, 240]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 20, 260]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 20, 280]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 20, 300]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 20, 320]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 20, 340]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 2, 0]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 0, 20]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 2, 40]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 0, 60]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 0, 80]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 2, 100]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 0, 120]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 2, 140]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 2, 160]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 2, 180]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 0, 200]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 2, 220]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 0, 240]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 2, 260]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 2, 280]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 0, 300]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 0, 320]){cube([10, 5, 1]);}}
translate([0, 0, 50]){rotate([0, 0, 340]){cube([10, 5, 1]);}}
//这里有一种方法,但我觉得它并不能很好地代表一棵棕榈树
translate([0,0,20])
rotate_extrude()
rotate([0,0,90])
difference(){
union(){
difference(){
circle(r = 15,$fn = 100);
translate([-20,0])
circle(r = 30, $fn = 100);
}
translate([.2,0])
scale([.7,.8])
difference(){
circle(r = 15,$fn = 100);
translate([-20,0])
circle(r = 30, $fn = 100);
}
translate([.2,0])
scale([.5,.6])
difference(){
circle(r = 15,$fn = 100);
translate([-20,0])
circle(r = 30, $fn = 100);
}
translate([5,0])
rotate([0,0,45])
square(center = true,[1.5,1.5]);
}
translate([15,-15])
square([30,30], center = true);
}
linear_extrude(height = 50, center = true, convexity = 10, twist = 200)
circle(r = 1);
您可以在web上找到棕榈树轮廓,跟踪它以在Inkscape中创建向量,编辑它以删除树干和向量的一侧,将其另存为SVG,然后将SVG导入OpenSCAD并旋转挤出它。