- translate([0, 0, segment_overlap])
- bezier_cone([
- [ 0.7*thin_wall, motor_diam/2 + thick_wall - thin_wall ], // start
- [ cone_h/2-0.7*thin_wall, motor_diam/2 + thick_wall - thin_wall], // cp 1
- [ cone_h - motor_diam/2 - thick_wall + thin_wall - 1.4*thin_wall, motor_diam/2 + thick_wall - thin_wall ], // cp 2
- [ cone_h - 1.4*thin_wall, 0 ],
- ], 40);
+ intersection() {
+ translate([0, 0, segment_overlap])
+ bezier_cone([
+ [ 0.7*thin_wall, motor_diam/2 + thick_wall - thin_wall ], // start
+ [ cone_h/2-0.7*thin_wall, motor_diam/2 + thick_wall - thin_wall], // cp 1
+ [ cone_h - motor_diam/2 - thick_wall + thin_wall - 1.4*thin_wall, motor_diam/2 + thick_wall - thin_wall ], // cp 2
+ [ cone_h - 1.4*thin_wall, 0 ],
+ ], 40);
+ cylinder(r = motor_diam/2 + thick_wall + eps,
+ h = cone_h + segment_overlap - cone_solid_h);
+ };