小白教程
所有教程
关于
Search
172.70.127.144
172.70.127.144
参数设置
贡献
退出
操作
编辑
移动
保护
信息
历史
删除
查看“OpenSCAD 调整模型大小和更多组合对象的方法”的源代码
本页内容
上一节:
OpenSCAD_缩放模型和参数化模型的第一步
下一节:
OpenSCAD_用模块来组织代码
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
=== 球体和调整大小的对象 === 到目前为止,您一直在使用立方体和圆柱体基元。OpenSCAD 中可用的另一个 3D 基元是球体。您可以使用以下命令创建球体。 <sample> sphere(r=10); </sample> [[文件:Sphere radius 10.jpg]] 您应该注意到,球体是以原点为中心创建的。输入参数 r 对应于球体的半径。 您想到的一个想法是用球形轮子代替圆柱形轮子。 试着把你的汽车的轮子做成球形。为此,将适当的圆柱体命令替换为球体命令。是否还需要围绕 X 轴旋转轮子?仍然需要 wheel_width 变量吗?当您修改wheels_turn 变量的值时,您的模型是否有任何明显的变化? <sample> $fa = 1; $fs = 0.4; wheel_radius = 8; base_height = 8; top_height = 10; track = 40; body_roll = 0; wheels_turn = 20; rotate([body_roll,0,0]) { // Car body base cube([60,20,base_height],center=true); // Car body top translate([5,0,base_height/2+top_height/2 - 0.001]) cube([30,20,top_height],center=true); } // Front left wheel translate([-20,-track/2,0]) rotate([0,0,wheels_turn]) sphere(r=wheel_radius); // Front right wheel translate([-20,track/2,0]) rotate([0,0,wheels_turn]) sphere(r=wheel_radius); // Rear left wheel translate([20,-track/2,0]) rotate([0,0,0]) sphere(r=wheel_radius); // Rear right wheel translate([20,track/2,0]) rotate([0,0,0]) sphere(r=wheel_radius); // Front axle translate([-20,0,0]) rotate([90,0,0]) cylinder(h=track,r=2,center=true); // Rear axle translate([20,0,0]) rotate([90,0,0]) cylinder(h=track,r=2,center=true); </sample> [[文件:Car with spherical wheels.jpg]] 使用球体创建轮子的想法很好。您现在可以挤压球体,使它们具有更像轮子的形状。一种方法是使用 scale 命令。 尝试在空白模型上创建一个半径为 10 个单位的球体。使用 scale 命令仅沿 Y 轴将球体缩放 0.4 倍。 <sample> scale([1,0.4,1]) sphere(r=10); </sample> [[文件:Narrowed spherical wheel.jpg]] 缩放对象的另一种方法是使用调整大小转换。缩放和调整大小之间的区别在于,使用缩放命令时,您必须沿每个轴指定所需的缩放因子,但在使用调整大小命令时,您必须指定沿每个轴的对象所需的结果尺寸。在前面的示例中,您从一个半径为 10 个单位(沿每个轴的总尺寸为 20 个单位)的球体开始,并沿 Y 轴将其缩放 0.4 倍。因此,沿 Y 轴的缩放球体的最终尺寸为 8 个单位。沿 X 和 Z 轴的尺寸保持不变(20 个单位),因为沿这些轴的比例因子等于 1。您可以使用以下调整大小命令获得相同的结果。
返回至“
OpenSCAD 调整模型大小和更多组合对象的方法
”。
上一节:
OpenSCAD_缩放模型和参数化模型的第一步
下一节:
OpenSCAD_用模块来组织代码