如何在OpenSCAD中制作带参数化中心宽度的沙漏形圆角梁?
实现OpenSCAD参数化沙漏形圆角梁
原代码通过立方体+两端圆柱实现了圆角梁,要将中心改为沙漏形并支持中心宽度参数化,可按以下方式修改:
修改思路
- 新增参数控制中心宽度,初始设为6.0mm
- 用
linear_extrude将自定义的2D沙漏轮廓拉伸为3D结构,替换原中心立方体 - 保留原两端圆角圆柱和挖孔的逻辑,确保整体结构兼容
完整代码
// Parameters for the beam and holes nx_beam_length = 58.4; // Total length of the beam ny_beam_width = 8.0; // Width at the ends ny_beam_center_width = 6.0; // Width at the center (parametric) nz_beam_thickness = 2.0; // Thickness of the beam nx_hole_interaxis = 50.0; // Distance between hole centers nd_hole = 2.2; // Diameter of the holes // Calculate key dimensions for the hourglass shape // Length of the tapered sections (from end to center) taper_length = (nx_beam_length - ny_beam_width) / 2; // Translate to center along z-axis translate([0,0,nz_beam_thickness/2]) difference() { union() { // Convert 2D hourglass outline to 3D structure linear_extrude(height=nz_beam_thickness, center=true) polygon(points=[ // Left end semicircle points (180 to 360 degrees) for(theta = [180:10:360]) [ -taper_length + (ny_beam_width/2)*cos(theta), (ny_beam_width/2)*sin(theta) ], // Right taper line (from left end edge to center) [taper_length, ny_beam_center_width/2], // Right end semicircle points (0 to 180 degrees) for(theta = [0:10:180]) [ taper_length + (ny_beam_width/2)*cos(theta), (ny_beam_width/2)*sin(theta) ], // Left taper line (from right end edge back to center) [-taper_length, -ny_beam_center_width/2] ]); // Rounded end cylinders (original logic retained) translate([-(nx_beam_length - ny_beam_width)/2, 0, 0]) cylinder(h=nz_beam_thickness, d=ny_beam_width, center=true, $fn=50); translate([(nx_beam_length - ny_beam_width)/2, 0, 0]) cylinder(h=nz_beam_thickness, d=ny_beam_width, center=true, $fn=50); } // Hole cutting logic (original logic retained) translate([nx_hole_interaxis/2, 0, 0]) cylinder(h=nz_beam_thickness+1, r=nd_hole/2, center=true, $fn=50); translate([-nx_hole_interaxis/2, 0, 0]) cylinder(h=nz_beam_thickness+1, r=nd_hole/2, center=true, $fn=50); }
关键说明
ny_beam_center_width是新增的参数,修改该值即可直接调整梁的中心宽度- 2D多边形通过圆弧点+斜直线构建完整沙漏轮廓,拉伸后与两端圆柱完美衔接
- 保留了原代码的坐标系和挖孔逻辑,无需额外调整零件定位
内容的提问来源于stack exchange,提问作者05032 Mendicant Bias
相关产品推荐
相关产品推荐

