Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
3d OpenSCAD初学者:关于制作曲线对象的帮助_3d_Geometry_Autocad_Openscad - Fatal编程技术网

3d 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度。多边形的外观如下所示: 多边形需要一系列点,这将非常困难,因为有弯曲的边。有没有更简单的方法来制作棕榈树叶?

我正在自学如何使用openSCAD,我知道一些基本知识。我决定做一棵棕榈树来练习使用这个软件。我使用以下代码来创建主干:

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并旋转挤出它。