最近买了台Bamboo A1 mini,于是便想试试建模。以前照着YouTube视频用blender做过甜甜圈,还拿freecad做过挂钩找淘宝店打印过,这大概便是我的全部建模经验。最近听闻OpenSCAD可以用编程方式建模,试用后感觉还不错。
$fn=256;
difference(){
union(){
cylinder(90,90/2,90/2);
translate([0,45/2,90-3/2])cube([90,45+3,3],center=true);
translate([0,90/2+3,10+90-3])rotate([90,0,0])linear_extrude(height=3)square([90,20],center=true);
translate([-32.5,51,98])rotate([180,-90,180])linear_extrude(height=2)polygon(points=[[0,0],[2,0],[2,-3],[4,-3],[4,2],[0,2]]);
translate([32.5,51,98])rotate([180,-90,180])linear_extrude(height=2)polygon(points=[[0,0],[2,0],[2,-3],[4,-3],[4,2],[0,2]]);
}
translate([0,0,3])cylinder(100,80/2,80/2);
rotate([0,0,-45])translate([0,-50,47/2+3])cube([23,30,47],center=true);
rotate([0,0,45])translate([0,-50,47/2+3])cube([23,30,47],center=true);
translate([0,-50,50+3])cube([20,50,100],center=true);
}


这个东西是买洞洞板赠送的一个杯架,由于几何结构简单,复刻难度不大。OpenSCAD中似乎不存在相对关系,所有部件的尺寸和位置都需要精确计算,然后用translate、rotate等命令放到指定位置,再进行union、difference、intesection等运算。有一个名为BOSL2的第三方库,据说功能异常强大。另外PythonSCAD用Python作为内置语言,同样支持调用第三方库,看起来很有趣。