mirror of
https://github.com/DJSundog/NopSCADlib.git
synced 2024-11-27 01:03:51 -05:00
Removed the height parameter from linear_extrude
This commit is contained in:
parent
390957fdd0
commit
e8abcde52f
@ -129,7 +129,7 @@ module box_corner_profile(type) { //! Generates the corner profile STL for 3D pr
|
||||
|
||||
length = box_height(type) - 2 * box_margin(type);
|
||||
difference() {
|
||||
linear_extrude(height = length, center = true, convexity = 5)
|
||||
linear_extrude(length, center = true, convexity = 5)
|
||||
box_corner_profile_2D(type);
|
||||
|
||||
for(z = [-1, 1])
|
||||
@ -148,24 +148,24 @@ module box_corner_profile_section(type, section, sections) { //! Generates inter
|
||||
|
||||
difference() {
|
||||
union() {
|
||||
linear_extrude(height = h, convexity = 5)
|
||||
linear_extrude(h, convexity = 5)
|
||||
box_corner_profile_2D(type);
|
||||
|
||||
if(!last_section) // male end always at the top
|
||||
translate_z(section_length - 1)
|
||||
for(i = [0 : 1], offset = i * layer_height)
|
||||
linear_extrude(height = overlap + 1 - offset)
|
||||
linear_extrude(overlap + 1 - offset)
|
||||
offset(1 + offset - layer_height)
|
||||
offset(-overlap_wall - 1)
|
||||
box_corner_profile_2D(type);
|
||||
}
|
||||
if(section > 0)
|
||||
translate_z(last_section ? h : 0) { // female at bottom unless last section
|
||||
linear_extrude(height = 2 * (overlap + layer_height), center = true, convexity = 5)
|
||||
linear_extrude(2 * (overlap + layer_height), center = true, convexity = 5)
|
||||
offset(-overlap_wall)
|
||||
box_corner_profile_2D(type);
|
||||
|
||||
linear_extrude(height = 2 * layer_height, center = true, convexity = 5)
|
||||
linear_extrude(2 * layer_height, center = true, convexity = 5)
|
||||
offset(-overlap_wall + layer_height)
|
||||
box_corner_profile_2D(type);
|
||||
}
|
||||
@ -223,7 +223,7 @@ module box_bezel(type, bottom) { //! Generates top and bottom bezel STLs
|
||||
// slots for side panels
|
||||
//
|
||||
translate_z(-box_profile_overlap(type))
|
||||
linear_extrude(height = 2 * box_profile_overlap(type), center = true)
|
||||
linear_extrude(2 * box_profile_overlap(type), center = true)
|
||||
for(i = [-1, 1]) {
|
||||
translate([i * (box_width(type) / 2 + t / 2 - sheet_slot_clearance / 2), 0])
|
||||
square([t, box_depth(type) - 2 * box_corner_gap(type)], center = true);
|
||||
@ -240,7 +240,7 @@ module box_bezel(type, bottom) { //! Generates top and bottom bezel STLs
|
||||
// leave plastic over the corner profiles
|
||||
//
|
||||
translate_z(-box_profile_overlap(type) - 1)
|
||||
linear_extrude(height = box_profile_overlap(type) + box_corner_gap(type) + 2)
|
||||
linear_extrude(box_profile_overlap(type) + box_corner_gap(type) + 2)
|
||||
union() {
|
||||
difference() {
|
||||
square([box_width(type) - 2 * box_inset(type),
|
||||
@ -273,7 +273,7 @@ module box_bezel_section(type, bottom, rows, cols, x, y) { //! Generates interlo
|
||||
end_clearance = 0.5;
|
||||
module male() {
|
||||
rotate([90, 0, 90])
|
||||
linear_extrude(height = dowel_length - 2 * end_clearance, center = true)
|
||||
linear_extrude(dowel_length - 2 * end_clearance, center = true)
|
||||
difference() {
|
||||
union() {
|
||||
h = dh - layer_height;
|
||||
|
@ -59,7 +59,7 @@ module ribbon_grommet(ways, thickness) { //! Generate the STL for a printed ribb
|
||||
union() {
|
||||
for(side = [-1, 1])
|
||||
translate_z(side * (width - wall) / 2)
|
||||
linear_extrude(height = wall, center = true, convexity = 5)
|
||||
linear_extrude(wall, center = true, convexity = 5)
|
||||
difference() {
|
||||
hull() {
|
||||
translate([-length / 2, 0])
|
||||
@ -73,7 +73,7 @@ module ribbon_grommet(ways, thickness) { //! Generate the STL for a printed ribb
|
||||
square([slot_length, slot_height]);
|
||||
}
|
||||
|
||||
linear_extrude(height = width -1, center = true)
|
||||
linear_extrude(width -1, center = true)
|
||||
difference() {
|
||||
ribbon_grommet_hole(ways, expand = false, h = 0);
|
||||
|
||||
@ -170,14 +170,14 @@ module mouse_grommet(r, thickness) { //! Make the STL for a mouse grommet
|
||||
union() {
|
||||
for(side = [-1, 1])
|
||||
translate_z(side * (width - wall) / 2)
|
||||
linear_extrude(height = wall, center = true)
|
||||
linear_extrude(wall, center = true)
|
||||
difference() {
|
||||
mouse_grommet_hole(r, z = r + wall, h = 0, expand = wall + overlap);
|
||||
|
||||
translate([0, wall])
|
||||
mouse_grommet_hole(r, h = 0, expand = 0);
|
||||
}
|
||||
linear_extrude(height = width - 1, center = true)
|
||||
linear_extrude(width - 1, center = true)
|
||||
difference() {
|
||||
mouse_grommet_hole(r, h = 0, z = r + wall, expand = wall);
|
||||
|
||||
|
@ -60,7 +60,7 @@ module door_hinge(door_thickness) { //! Generates STL fo
|
||||
|
||||
union() {
|
||||
rotate([90, 0, 0])
|
||||
linear_extrude(height = width, center = true)
|
||||
linear_extrude(width, center = true)
|
||||
difference() {
|
||||
hull() {
|
||||
translate([dia / 2, thickness + door_thickness / 2])
|
||||
@ -76,7 +76,7 @@ module door_hinge(door_thickness) { //! Generates STL fo
|
||||
translate([dia / 2, thickness + door_thickness / 2])
|
||||
teardrop(r = screw_clearance_radius(pin_screw), h = 0);
|
||||
}
|
||||
linear_extrude(height = thickness)
|
||||
linear_extrude(thickness)
|
||||
difference() {
|
||||
hull() {
|
||||
translate([0, -width / 2])
|
||||
@ -108,7 +108,7 @@ module door_hinge_stat_stl() { //! Generates the STL for the stationary part
|
||||
stl("door_hinge_stat");
|
||||
|
||||
union() {
|
||||
linear_extrude(height = thickness)
|
||||
linear_extrude(thickness)
|
||||
difference() {
|
||||
rounded_square([stat_length, stat_width], rad);
|
||||
|
||||
@ -117,7 +117,7 @@ module door_hinge_stat_stl() { //! Generates the STL for the stationary part
|
||||
}
|
||||
|
||||
rotate([90, 0, 0])
|
||||
linear_extrude(height = stat_width, center = true)
|
||||
linear_extrude(stat_width, center = true)
|
||||
difference() {
|
||||
hull() {
|
||||
translate([0, dia / 2 + stat_clearance])
|
||||
|
@ -81,7 +81,7 @@ module fixing_block(screw = def_screw) { //! Generate the STL
|
||||
|
||||
difference() {
|
||||
union() {
|
||||
linear_extrude(height = fb_height, convexity = 5)
|
||||
linear_extrude(fb_height, convexity = 5)
|
||||
difference() {
|
||||
hull() {
|
||||
for(side = [-1, 1]) {
|
||||
|
@ -82,7 +82,7 @@ module hinge_male(type, female = false) { //! The half with the stationary
|
||||
teardrop_r = kr / cos(22.5); // The corner on the teardrop
|
||||
inset = sqrt(sqr(teardrop_r + gap) - sqr(kr - t)) - kr;
|
||||
|
||||
linear_extrude(height =t)
|
||||
linear_extrude(t)
|
||||
difference() {
|
||||
hull() {
|
||||
for(side = [-1, 1])
|
||||
@ -102,7 +102,7 @@ module hinge_male(type, female = false) { //! The half with the stationary
|
||||
rotate([90, 0, -90])
|
||||
for(z = [0 : (female ? fn : mn) - 1])
|
||||
translate_z(-dir * w / 2 + z * dir * pitch + (female ? -fw - mw - gap : 0))
|
||||
linear_extrude(height = female ? fw : mw)
|
||||
linear_extrude(female ? fw : mw)
|
||||
difference() {
|
||||
hull() {
|
||||
rotate(180)
|
||||
|
@ -56,7 +56,7 @@ module foot(type = foot) { //! Generate STL
|
||||
circle4n(r);
|
||||
}
|
||||
}
|
||||
linear_extrude(height = t)
|
||||
linear_extrude(t)
|
||||
difference() {
|
||||
circle(r1 + eps);
|
||||
|
||||
@ -116,7 +116,7 @@ module insert_foot(type = insert_foot) { //! Generate STL for foot with insert
|
||||
}
|
||||
}
|
||||
}
|
||||
linear_extrude(height = h2 + eps)
|
||||
linear_extrude(h2 + eps)
|
||||
difference() {
|
||||
circle(r5 + eps);
|
||||
|
||||
|
@ -62,7 +62,7 @@ module pcb_mount_ring()
|
||||
}
|
||||
|
||||
module pcb_mount_washer_stl() //! A plastic washer to clamp a PCB
|
||||
linear_extrude(height = washer_thickness)
|
||||
linear_extrude(washer_thickness)
|
||||
pcb_mount_ring();
|
||||
|
||||
module pcb_mount(pcb, height = 5, washers = true) { //! Make the STL of a pcb mount for the specified PCB.
|
||||
@ -85,10 +85,10 @@ module pcb_mount(pcb, height = 5, washers = true) { //! Make the STL of a pcb mo
|
||||
cube([pillar_x_pitch(pcb) - 2 * wall, frame_w, frame_t], center = true);
|
||||
|
||||
pcb_mount_screw_positions(pcb)
|
||||
linear_extrude(height = height)
|
||||
linear_extrude(height)
|
||||
pcb_mount_ring();
|
||||
|
||||
linear_extrude(height = height + pcb_thickness(pcb) - layer_height)
|
||||
linear_extrude(height + pcb_thickness(pcb) - layer_height)
|
||||
difference() {
|
||||
pcb_mount_screw_positions(pcb)
|
||||
pcb_mount_ring();
|
||||
|
@ -129,7 +129,7 @@ module pbox_base(type) { //! Generate the STL for the base
|
||||
t = pbox_base(type);
|
||||
difference() {
|
||||
union() {
|
||||
linear_extrude(height = t)
|
||||
linear_extrude(t)
|
||||
offset(base_outset - 0.2)
|
||||
pbox_inner_shape(type);
|
||||
|
||||
@ -157,7 +157,7 @@ module pbox(type) { //! Generate the STL for the main case
|
||||
|
||||
difference() {
|
||||
union() {
|
||||
linear_extrude(height = total_height)
|
||||
linear_extrude(total_height)
|
||||
offset(wall / 2) pbox_mid_shape(type);
|
||||
|
||||
if($children > 2)
|
||||
@ -166,11 +166,11 @@ module pbox(type) { //! Generate the STL for the main case
|
||||
difference() {
|
||||
translate_z(top_thickness)
|
||||
union() {
|
||||
linear_extrude(height = height + eps)
|
||||
linear_extrude(height + eps)
|
||||
offset(-wall / 2) pbox_mid_shape(type);
|
||||
|
||||
translate_z(height) // Recess for the base
|
||||
linear_extrude(height = total_height - height)
|
||||
linear_extrude(total_height - height)
|
||||
offset(base_outset)
|
||||
pbox_inner_shape(type);
|
||||
}
|
||||
@ -181,11 +181,11 @@ module pbox(type) { //! Generate the STL for the main case
|
||||
rounded_rectangle([pbox_width(type) + 2 * outset, pbox_depth(type) + 2 * outset, ledge_h], 1, center = false);
|
||||
|
||||
hull() {
|
||||
linear_extrude(height = ledge_h + eps)
|
||||
linear_extrude(ledge_h + eps)
|
||||
offset(ledge_inset)
|
||||
pbox_inner_shape(type);
|
||||
|
||||
linear_extrude(height = eps)
|
||||
linear_extrude(eps)
|
||||
offset(ledge_outset)
|
||||
pbox_inner_shape(type);
|
||||
}
|
||||
|
@ -113,21 +113,21 @@ module psu_shroud(type, cable_d, name, cables = 1) { //! Generate the STL file f
|
||||
translate([centre_x, -centre_y]) {
|
||||
rounded_rectangle([depth - eps, width - eps, top], rad, center = false);
|
||||
|
||||
linear_extrude(height = height)
|
||||
linear_extrude(height)
|
||||
difference() {
|
||||
shape();
|
||||
|
||||
translate([depth / 2, width / 2 - 5])
|
||||
square([2 * (depth - extent + terminal_clearance), 10], center = true);
|
||||
}
|
||||
linear_extrude(height = height - terminal_block_height(tb) - psu_terminal_block_z(type) - terminal_clearance)
|
||||
linear_extrude(height - terminal_block_height(tb) - psu_terminal_block_z(type) - terminal_clearance)
|
||||
shape();
|
||||
}
|
||||
// cable slots
|
||||
for(i = [0 : 1 : cables - 1])
|
||||
translate([centre_x - depth / 2 + wall / 2, -centre_y + (i - cables / 2 + 0.5) * psu_shroud_cable_pitch(cable_d), height / 2])
|
||||
rotate([90, 0, 90])
|
||||
linear_extrude(height = wall, center = true)
|
||||
linear_extrude(wall, center = true)
|
||||
difference() {
|
||||
square([cable_d + eps, height], center = true);
|
||||
|
||||
|
@ -48,7 +48,7 @@ module screw_knob(screw) { //! Generate the STL for a knob to fit the specified
|
||||
rotate(45)
|
||||
circle(r = nut_trap_radius(screw_nut(screw)), $fn = 6);
|
||||
}
|
||||
linear_extrude(height = knob_thickness, convexity = 3)
|
||||
linear_extrude(knob_thickness, convexity = 3)
|
||||
difference() {
|
||||
polygon(points = [for(a = [0 : 359]) [wave(a) * sin(a), wave(a) * cos(a)]]);
|
||||
|
||||
|
@ -52,12 +52,12 @@ module socket_box(type) { //! Generate STL of the backbox for the specified sock
|
||||
insert_hole_radius = insert_hole_radius(insert);
|
||||
|
||||
difference() {
|
||||
linear_extrude(height = height, convexity = 5)
|
||||
linear_extrude(height, convexity = 5)
|
||||
face_plate(type);
|
||||
|
||||
difference() {
|
||||
translate_z(base_thickness)
|
||||
linear_extrude(height = height, convexity = 5)
|
||||
linear_extrude(height, convexity = 5)
|
||||
offset(-wall) offset(1) face_plate(type);
|
||||
|
||||
for(side = [-1, 1])
|
||||
|
@ -73,7 +73,7 @@ module ssr_shroud(type, cable_d, name) { //! Generate the STL file for a spec
|
||||
translate([center_x, 0]) {
|
||||
rounded_rectangle([depth - eps, width - eps, top], rad, center = false);
|
||||
|
||||
linear_extrude(height = height) difference() {
|
||||
linear_extrude(height) difference() {
|
||||
round(or = wall / 2 - eps, ir = 0) difference() {
|
||||
rounded_square([depth, width], rad);
|
||||
|
||||
@ -91,7 +91,7 @@ module ssr_shroud(type, cable_d, name) { //! Generate the STL file for a spec
|
||||
for(side = [-1, 1])
|
||||
translate([cable_x, side * (width / 2 - wall / 2), height / 2])
|
||||
rotate([90, 0, 0])
|
||||
linear_extrude(height = wall, center = true)
|
||||
linear_extrude(wall, center = true)
|
||||
difference() {
|
||||
square([cable_d + eps, height], center = true);
|
||||
|
||||
|
@ -77,7 +77,7 @@ module strap(length, type = strap) { //! Generate the STL for the rubber strap
|
||||
len = length - 2 * (wall + clearance);
|
||||
w = strap_width(type);
|
||||
|
||||
linear_extrude(height = strap_thickness(type), convexity = 3)
|
||||
linear_extrude(strap_thickness(type), convexity = 3)
|
||||
difference() {
|
||||
rounded_square([len, w], w / 2 - eps);
|
||||
|
||||
@ -119,12 +119,12 @@ module strap_end(type = strap) { //! Generate the STL for end piece
|
||||
}
|
||||
|
||||
union() {
|
||||
linear_extrude(height = z1)
|
||||
linear_extrude(z1)
|
||||
with_hole()
|
||||
outer();
|
||||
|
||||
translate_z(z1)
|
||||
linear_extrude(height = strap_height(type) - z1)
|
||||
linear_extrude(strap_height(type) - z1)
|
||||
difference() {
|
||||
outer();
|
||||
|
||||
@ -137,11 +137,11 @@ module strap_end(type = strap) { //! Generate the STL for end piece
|
||||
}
|
||||
}
|
||||
|
||||
linear_extrude(height = strap_height(type) - layer_height)
|
||||
linear_extrude(strap_height(type) - layer_height)
|
||||
with_hole()
|
||||
strap_boss_shape(type);
|
||||
|
||||
linear_extrude(height = z2)
|
||||
linear_extrude(z2)
|
||||
with_hole()
|
||||
offset(cnc_bit_r)
|
||||
offset(-step - cnc_bit_r)
|
||||
|
@ -20,7 +20,7 @@ include <../global_defs.scad>
|
||||
use <../utils/dogbones.scad>
|
||||
|
||||
module dogbones() {
|
||||
#linear_extrude(height = eps)
|
||||
#linear_extrude(eps)
|
||||
dogbone_square([10, 20]);
|
||||
|
||||
#translate([15, 0])
|
||||
|
@ -20,7 +20,7 @@
|
||||
include <../utils/core/core.scad>
|
||||
|
||||
module globals() {
|
||||
linear_extrude(height = eps) {
|
||||
linear_extrude(eps) {
|
||||
semi_circle(r = 10);
|
||||
|
||||
translate([30, 0])
|
||||
|
@ -22,7 +22,7 @@ use <../utils/layout.scad>
|
||||
diams = [3, 7, 5, 11];
|
||||
|
||||
module layouts() {
|
||||
linear_extrude(height = eps)
|
||||
linear_extrude(eps)
|
||||
layout(diams, gap = 1)
|
||||
circle(d = diams[$i]);
|
||||
}
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 160 KiB After Width: | Height: | Size: 160 KiB |
@ -34,7 +34,7 @@ module polyholes() {
|
||||
children();
|
||||
}
|
||||
|
||||
color(pp1_colour) linear_extrude(height = 3, center = true)
|
||||
color(pp1_colour) linear_extrude(3, center = true)
|
||||
difference() {
|
||||
square([100, 27]);
|
||||
|
||||
|
@ -22,7 +22,7 @@ use <../utils/quadrant.scad>
|
||||
|
||||
|
||||
module quadrants() {
|
||||
linear_extrude(height = eps)
|
||||
linear_extrude(eps)
|
||||
quadrant(10, 4);
|
||||
}
|
||||
|
||||
|
@ -28,14 +28,14 @@ module shape()
|
||||
}
|
||||
|
||||
module rounds() {
|
||||
linear_extrude(height = eps)
|
||||
linear_extrude(eps)
|
||||
round(or = 4, ir = 2)
|
||||
shape();
|
||||
|
||||
|
||||
translate([50, 0])
|
||||
round_3D(or = 4, ir = 2, chamfer_base = true, $fn = 16)
|
||||
linear_extrude(height = 40, center = true)
|
||||
linear_extrude(40, center = true)
|
||||
shape();
|
||||
}
|
||||
|
||||
|
@ -22,7 +22,7 @@ use <../utils/rounded_cylinder.scad>
|
||||
|
||||
|
||||
module rounded_cylinders() {
|
||||
linear_extrude(height = eps)
|
||||
linear_extrude(eps)
|
||||
rounded_corner(10, 20, 3, 5);
|
||||
|
||||
translate([30, 10])
|
||||
|
@ -46,7 +46,7 @@ module rounded_polygons() {
|
||||
length = rounded_polygon_length(profile, tangents);
|
||||
|
||||
rotate([70, 0, 315])
|
||||
linear_extrude(height = eps)
|
||||
linear_extrude(eps)
|
||||
rounded_polygon(profile, tangents);
|
||||
|
||||
translate([0, -10])
|
||||
|
@ -20,7 +20,7 @@
|
||||
include <../utils/core/core.scad>
|
||||
|
||||
module rounded_rectangles() {
|
||||
linear_extrude(height = eps)
|
||||
linear_extrude(eps)
|
||||
rounded_square([30, 20], 3);
|
||||
|
||||
translate([40, 0])
|
||||
|
@ -22,7 +22,7 @@ use <../utils/sector.scad>
|
||||
|
||||
|
||||
module sectors() {
|
||||
linear_extrude(height = eps)
|
||||
linear_extrude(eps)
|
||||
sector(50, 45, 180);
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,7 @@ module teardrops() {
|
||||
color(pp1_colour)
|
||||
rotate([90, 0, -45])
|
||||
difference() {
|
||||
linear_extrude(height = 3) {
|
||||
linear_extrude(3) {
|
||||
difference() {
|
||||
square([80, 40]);
|
||||
|
||||
|
@ -22,7 +22,7 @@ use <../utils/tube.scad>
|
||||
|
||||
|
||||
module tubes() {
|
||||
linear_extrude(height = eps)
|
||||
linear_extrude(eps)
|
||||
ring(10, 8);
|
||||
|
||||
translate([50, 10])
|
||||
|
@ -56,7 +56,7 @@ module wires() {
|
||||
|
||||
color(pp1_colour) {
|
||||
rotate([90, 0, 90])
|
||||
linear_extrude(height = thickness)
|
||||
linear_extrude(thickness)
|
||||
difference() {
|
||||
translate([-w / 2, 0])
|
||||
square([w, h]);
|
||||
@ -65,7 +65,7 @@ module wires() {
|
||||
}
|
||||
|
||||
translate_z(-thickness)
|
||||
linear_extrude(height = thickness)
|
||||
linear_extrude(thickness)
|
||||
difference() {
|
||||
translate([thickness -d, -w / 2])
|
||||
square([d, w]);
|
||||
|
@ -26,7 +26,7 @@ include <../utils/core/core.scad>
|
||||
module label(str, scale = 0.25, valign = "baseline", halign = "left") //! Draw text that always faces the camera
|
||||
color("black")
|
||||
%rotate($vpr != [0, 0, 0] ? $vpr : [70, 0, 315])
|
||||
linear_extrude(height = eps)
|
||||
linear_extrude(eps)
|
||||
scale(scale)
|
||||
text(str, valign = valign, halign = halign);
|
||||
|
||||
|
@ -43,7 +43,7 @@ module ellipse(xr, yr) scale([1, yr / xr]) circle4n(xr);
|
||||
|
||||
module extrude_if(h, center = true) //! Extrudes 2D object to 3D when ```h``` is nonzero, otherwise leaves it 2D
|
||||
if(h)
|
||||
linear_extrude(height = h, center = center, convexity = 2) // 3D
|
||||
linear_extrude(h, center = center, convexity = 2) // 3D
|
||||
children();
|
||||
else
|
||||
children(); // 2D
|
||||
|
@ -28,6 +28,6 @@ module rounded_square(size, r, center = true) //! Like ```square()``` but with w
|
||||
|
||||
module rounded_rectangle(size, r, center = true, xy_center = true) //! Like ```cube()``` but corners rounded in XY plane and separate centre options for xy and z.
|
||||
{
|
||||
linear_extrude(height = size[2], center = center)
|
||||
linear_extrude(size[2], center = center)
|
||||
rounded_square([size[0], size[1]], r, xy_center);
|
||||
}
|
||||
|
@ -47,7 +47,7 @@ module hanging_hole(z, ir, h = 100, h2 = 100) { //! Hole radius ```ir``` hanging
|
||||
|
||||
difference() {
|
||||
translate_z(-below)
|
||||
linear_extrude(height = below + 2 * layer_height)
|
||||
linear_extrude(below + 2 * layer_height)
|
||||
children();
|
||||
|
||||
rotate(infill_angle)
|
||||
|
@ -29,5 +29,5 @@ module ring(or, ir) //! Create a ring with specified external and internal radii
|
||||
}
|
||||
|
||||
module tube(or, ir, h, center = true) //! Create a tube with specified external and internal radii and height ```h```
|
||||
linear_extrude(height = h, center = center, convexity = 5)
|
||||
linear_extrude(h, center = center, convexity = 5)
|
||||
ring(or, ir);
|
||||
|
@ -44,7 +44,7 @@ module ball_bearing(type) { //! Draw a ball bearing
|
||||
id = bb_bore(type);
|
||||
|
||||
module tube(od, id, h)
|
||||
linear_extrude(height = h, center = true, convexity = 5)
|
||||
linear_extrude(h, center = true, convexity = 5)
|
||||
difference() {
|
||||
circle(d = od);
|
||||
circle(d = id);
|
||||
|
@ -75,7 +75,7 @@ module battery(type) { //! Draw a battery
|
||||
if(battery_usb_offset(type))
|
||||
translate([battery_diameter(type) / 2, 0, len / 2 - battery_usb_offset(type) + h / 2])
|
||||
rotate([-90, 0, 90])
|
||||
linear_extrude(height = l + 1)
|
||||
linear_extrude(l + 1)
|
||||
offset(delta = t)
|
||||
D();
|
||||
}
|
||||
@ -87,14 +87,14 @@ module battery(type) { //! Draw a battery
|
||||
if(battery_usb_offset(type))
|
||||
translate([battery_diameter(type) / 2 - 1, 0, len / 2 - battery_usb_offset(type) + h / 2])
|
||||
rotate([-90, 0, 90]) {
|
||||
linear_extrude(height = l)
|
||||
linear_extrude(l)
|
||||
difference() {
|
||||
offset(t) D();
|
||||
D();
|
||||
}
|
||||
|
||||
translate_z(l - 1)
|
||||
linear_extrude(height = 1)
|
||||
linear_extrude(1)
|
||||
D();
|
||||
}
|
||||
|
||||
@ -132,7 +132,7 @@ module battery_contact(type, pos = true) { //! Draw a positive or negative batte
|
||||
|
||||
translate([0, -h / 2, t])
|
||||
rotate([90, 0, 0])
|
||||
linear_extrude(height = t)
|
||||
linear_extrude(t)
|
||||
difference() {
|
||||
hull() {
|
||||
translate([-tw / 2, -1])
|
||||
|
@ -62,7 +62,7 @@ module belt(type, points, gap = 0, gap_pt = undef, belt_colour = grey20, tooth_c
|
||||
square([gap, thickness + eps], center = true);
|
||||
|
||||
color(belt_colour)
|
||||
linear_extrude(height = width, center = true)
|
||||
linear_extrude(width, center = true)
|
||||
difference() {
|
||||
offset(thickness - belt_pitch_height(type)) shape();
|
||||
offset(-belt_pitch_height(type) + belt_tooth_height(type)) shape();
|
||||
@ -70,7 +70,7 @@ module belt(type, points, gap = 0, gap_pt = undef, belt_colour = grey20, tooth_c
|
||||
|
||||
}
|
||||
color(tooth_colour)
|
||||
linear_extrude(height = width, center = true)
|
||||
linear_extrude(width, center = true)
|
||||
difference() {
|
||||
offset(-belt_pitch_height(type) + belt_tooth_height(type)) shape();
|
||||
offset(-belt_pitch_height(type)) shape();
|
||||
|
@ -72,7 +72,7 @@ module blower(type) { //! Draw specified blower
|
||||
|
||||
color(fan_colour) {
|
||||
// screw lugs
|
||||
linear_extrude(height = blower_lug(type), center = false)
|
||||
linear_extrude(blower_lug(type), center = false)
|
||||
for(hole = blower_screw_holes(type))
|
||||
difference() {
|
||||
hull() {
|
||||
@ -94,7 +94,7 @@ module blower(type) { //! Draw specified blower
|
||||
*%square([length, width]);
|
||||
|
||||
// base
|
||||
linear_extrude(height = blower_base(type))
|
||||
linear_extrude(blower_base(type))
|
||||
difference() {
|
||||
shape();
|
||||
|
||||
@ -102,7 +102,7 @@ module blower(type) { //! Draw specified blower
|
||||
circle(d = 2);
|
||||
}
|
||||
// sides
|
||||
linear_extrude(height = depth)
|
||||
linear_extrude(depth)
|
||||
difference() {
|
||||
shape();
|
||||
|
||||
@ -112,7 +112,7 @@ module blower(type) { //! Draw specified blower
|
||||
|
||||
// top
|
||||
translate_z(depth -blower_top(type))
|
||||
linear_extrude(height = blower_top(type))
|
||||
linear_extrude(blower_top(type))
|
||||
difference() {
|
||||
shape();
|
||||
|
||||
|
@ -89,7 +89,7 @@ module cable_strip(ways, depth, travel, extra = 15, pos = 0) { //! Draw a cable
|
||||
|
||||
vitamin(str("cable_strip(", ways, ", ", depth, ", ", travel, arg(extra, 15), "): Polypropylene strip ", total, "mm x ", w, "mm x ", thickness, "mm"));
|
||||
|
||||
color(cable_strip_color) linear_extrude(height = w, center = true, convexity = 4)
|
||||
color(cable_strip_color) linear_extrude(w, center = true, convexity = 4)
|
||||
difference() {
|
||||
union() {
|
||||
translate([-bottom, radius])
|
||||
@ -142,7 +142,7 @@ module elliptical_cable_strip(ways, p1, p2, pmax, extra = 15) {
|
||||
[delta[2] / delta[0], 0, 1, delta[2] / 2],
|
||||
[0, 0, 0, 1] ])
|
||||
|
||||
color(cable_strip_color) linear_extrude(height = w, center = true, convexity = 4)
|
||||
color(cable_strip_color) linear_extrude(w, center = true, convexity = 4)
|
||||
difference() {
|
||||
union() {
|
||||
square([(a + thickness) * 2, extra * 2], center = true);
|
||||
|
@ -57,7 +57,7 @@ module internal_circlip(type, open = 0) { //! Draw specified internal circlip, o
|
||||
y_offset = (sqr(p.x) + sqr(p.y) - sqr(or - b)) / (or - b - p.y) / 2;
|
||||
ir = or - b + y_offset;
|
||||
color(circlip_colour)
|
||||
linear_extrude(height = circlip_thickness(type), center = true)
|
||||
linear_extrude(circlip_thickness(type), center = true)
|
||||
round((a - d5) / 5)
|
||||
union() {
|
||||
difference() {
|
||||
|
@ -147,7 +147,7 @@ module al_clad_resistor(type, value, leads = true) { //! Draw an aluminium clad
|
||||
|
||||
color("silver") {
|
||||
rotate([90, 0, 90])
|
||||
linear_extrude(height = length, center = true)
|
||||
linear_extrude(length, center = true)
|
||||
hull() {
|
||||
translate([0, al_clad_height(type) / 2])
|
||||
intersection() {
|
||||
@ -158,7 +158,7 @@ module al_clad_resistor(type, value, leads = true) { //! Draw an aluminium clad
|
||||
translate([0, thickness / 2])
|
||||
square([body, thickness], center = true);
|
||||
}
|
||||
linear_extrude(height = thickness)
|
||||
linear_extrude(thickness)
|
||||
difference() {
|
||||
for(end = [-1, 1])
|
||||
translate([end * (length - tab) / 2, end * (width - width / 2) / 2])
|
||||
@ -176,7 +176,7 @@ module al_clad_resistor(type, value, leads = true) { //! Draw an aluminium clad
|
||||
for(end = [-1, 1])
|
||||
translate([end * (al_clad_wire_length(type) - terminal_l) / 2, 0, height / 2])
|
||||
rotate([90, 0, 0])
|
||||
linear_extrude(height = terminal_t, center = true) difference() {
|
||||
linear_extrude(terminal_t, center = true) difference() {
|
||||
square([terminal_l, terminal_h], center = true);
|
||||
|
||||
circle(r = 1);
|
||||
@ -226,7 +226,7 @@ module TO220(description, leads = 3, lead_length = 16) { //! Draw a TO220 packa
|
||||
|
||||
translate([0, -length + hole_y]) {
|
||||
color("silver") {
|
||||
linear_extrude(height = TO220_thickness())
|
||||
linear_extrude(TO220_thickness())
|
||||
difference() {
|
||||
translate([-width / 2, inset])
|
||||
square([width, length - inset]);
|
||||
@ -305,7 +305,7 @@ module panel_USBA() { //! Draw a panel mount USBA connector
|
||||
|
||||
vflip() {
|
||||
color("dimgrey") {
|
||||
linear_extrude(height = thickness)
|
||||
linear_extrude(thickness)
|
||||
difference() {
|
||||
hull()
|
||||
for(side = [-1, 1])
|
||||
@ -345,14 +345,14 @@ module panel_USBA() { //! Draw a panel mount USBA connector
|
||||
}
|
||||
|
||||
translate_z(height3)
|
||||
linear_extrude(height = l - height3)
|
||||
linear_extrude(l - height3)
|
||||
difference() {
|
||||
rounded_square([length2, width], r = r1);
|
||||
|
||||
square([w - flange_t, h - flange_t], center = true);
|
||||
}
|
||||
|
||||
linear_extrude(height = height3)
|
||||
linear_extrude(height3)
|
||||
difference() {
|
||||
rounded_square([length2, width], r = r1);
|
||||
|
||||
@ -363,7 +363,7 @@ module panel_USBA() { //! Draw a panel mount USBA connector
|
||||
*cube([12, 4.5, 32], center = true);
|
||||
|
||||
color("silver") {
|
||||
linear_extrude(height = l)
|
||||
linear_extrude(l)
|
||||
difference() {
|
||||
square([w, h], center = true);
|
||||
|
||||
@ -373,7 +373,7 @@ module panel_USBA() { //! Draw a panel mount USBA connector
|
||||
translate_z(l - flange_t / 2)
|
||||
cube([w, h, flange_t], center = true);
|
||||
|
||||
linear_extrude(height = flange_t)
|
||||
linear_extrude(flange_t)
|
||||
difference() {
|
||||
union() {
|
||||
square([h_flange_l, h + 2 * h_flange_h], center = true);
|
||||
@ -418,7 +418,7 @@ module thermal_cutout(type) { //! Draw specified thermal cutout
|
||||
spade = spade6p4;
|
||||
|
||||
color("silver") {
|
||||
linear_extrude(height = tc_thickness(type))
|
||||
linear_extrude(tc_thickness(type))
|
||||
difference() {
|
||||
hull()
|
||||
for(side = [-1, 1])
|
||||
|
@ -62,7 +62,7 @@ module d_pillar() { //! Draw a pillar for a D-connector
|
||||
cylinder(d = screw, h = screw_length + 1);
|
||||
|
||||
color(d_pillar_color) {
|
||||
linear_extrude(height = height)
|
||||
linear_extrude(height)
|
||||
difference() {
|
||||
circle(r = rad, $fn = 6);
|
||||
circle(d = screw);
|
||||
@ -107,7 +107,7 @@ module d_plug(type, socket = false, pcb = false, idc = false) { //! Draw specifi
|
||||
// Shell
|
||||
//
|
||||
color(d_plug_shell_color) {
|
||||
linear_extrude(height = d_flange_thickness(type))
|
||||
linear_extrude( d_flange_thickness(type))
|
||||
difference() {
|
||||
rounded_square([flange_length, flange_width], 2);
|
||||
|
||||
@ -115,7 +115,7 @@ module d_plug(type, socket = false, pcb = false, idc = false) { //! Draw specifi
|
||||
circle(hole_r);
|
||||
}
|
||||
|
||||
linear_extrude(height = front_height, convexity = 5)
|
||||
linear_extrude(front_height, convexity = 5)
|
||||
difference() {
|
||||
D(d_length, d_width, 2.5);
|
||||
D(d_length - 2 * dwall, d_width - 2 * dwall, 2.5 - dwall);
|
||||
@ -123,7 +123,7 @@ module d_plug(type, socket = false, pcb = false, idc = false) { //! Draw specifi
|
||||
|
||||
if(!idc)
|
||||
rotate([0,180,0])
|
||||
linear_extrude(height = back_height, convexity = 5)
|
||||
linear_extrude(back_height, convexity = 5)
|
||||
D(d_lengths(type)[0] + 2 * dwall, d_widths(type)[0] + 2 * dwall, 2.5 + dwall);
|
||||
|
||||
}
|
||||
@ -133,11 +133,11 @@ module d_plug(type, socket = false, pcb = false, idc = false) { //! Draw specifi
|
||||
color(d_plug_insulator_color) {
|
||||
translate_z(d_flange_thickness(type) + eps)
|
||||
rotate([0, 180, 0])
|
||||
linear_extrude(height = back_height + 1 + d_flange_thickness(type), convexity = 5)
|
||||
linear_extrude(back_height + 1 + d_flange_thickness(type), convexity = 5)
|
||||
D(d_length - dwall, d_width - dwall, 2.5 - dwall/2);
|
||||
|
||||
if(socket)
|
||||
linear_extrude(height = front_height - eps, convexity = 5)
|
||||
linear_extrude(front_height - eps, convexity = 5)
|
||||
difference() {
|
||||
D(d_length - dwall, d_width - dwall, 2.5 - dwall/2);
|
||||
|
||||
@ -169,11 +169,11 @@ module d_plug(type, socket = false, pcb = false, idc = false) { //! Draw specifi
|
||||
|
||||
if(pcb)
|
||||
rotate([0, 180, 0]) {
|
||||
linear_extrude(height = back_height + 1 + 4.5)
|
||||
linear_extrude(back_height + 1 + 4.5)
|
||||
pin_positions()
|
||||
circle(r = 0.75 / 2, $fn = 12);
|
||||
|
||||
linear_extrude(height = back_height + 1 + 1)
|
||||
linear_extrude(back_height + 1 + 1)
|
||||
pin_positions()
|
||||
circle(r = 0.75, $fn = 12);
|
||||
}
|
||||
@ -183,7 +183,7 @@ module d_plug(type, socket = false, pcb = false, idc = false) { //! Draw specifi
|
||||
pin_positions()
|
||||
rotate(180 + ($i % 2) * 180)
|
||||
render() difference() {
|
||||
linear_extrude(height = 8)
|
||||
linear_extrude(8)
|
||||
difference() {
|
||||
circle(1);
|
||||
|
||||
|
@ -80,10 +80,10 @@ module fan(type) { //! Draw specified fan, origin in the centre
|
||||
if(middle > 0) {
|
||||
for(z = [-1, 1])
|
||||
translate_z(z * (depth - thickness) / 2)
|
||||
linear_extrude(height = thickness, center = true)
|
||||
linear_extrude(thickness, center = true)
|
||||
shape();
|
||||
|
||||
linear_extrude(height = middle, center = true)
|
||||
linear_extrude(middle, center = true)
|
||||
difference() {
|
||||
shape();
|
||||
difference() {
|
||||
@ -100,13 +100,13 @@ module fan(type) { //! Draw specified fan, origin in the centre
|
||||
}
|
||||
}
|
||||
else
|
||||
linear_extrude(height = depth, center = true)
|
||||
linear_extrude(depth, center = true)
|
||||
shape();
|
||||
|
||||
// Blades
|
||||
blade_ir = fan_hub(type) / 2 - 1;
|
||||
blade_len = fan_bore(type) / 2 - 0.75 - blade_ir;
|
||||
linear_extrude(height = depth - 1, center = true, convexity = 4, twist = -30, slices = round(depth / 2))
|
||||
linear_extrude(depth - 1, center = true, convexity = 4, twist = -30, slices = round(depth / 2))
|
||||
for(i = [0 : fan_blades(type) - 1])
|
||||
rotate((360 * i) / fan_blades(type))
|
||||
translate([blade_ir, -1.5 / 2])
|
||||
|
@ -68,7 +68,7 @@ module fuseholder(thickness) { //! Fuseholder with nut in place for specified pa
|
||||
color(colour) {
|
||||
tube(or = nut_d / 2, ir = thread_d / 2, h = nut_flange_t, center = false);
|
||||
|
||||
linear_extrude(height = nut_t)
|
||||
linear_extrude(nut_t)
|
||||
difference() {
|
||||
circle(d = nut_d, $fn = 6);
|
||||
|
||||
@ -87,7 +87,7 @@ module fuseholder(thickness) { //! Fuseholder with nut in place for specified pa
|
||||
|
||||
cylinder(r = 5, h = flange_t - 1);
|
||||
|
||||
linear_extrude(height = flange_t)
|
||||
linear_extrude(flange_t)
|
||||
difference() {
|
||||
circle(r = 5);
|
||||
|
||||
@ -96,7 +96,7 @@ module fuseholder(thickness) { //! Fuseholder with nut in place for specified pa
|
||||
|
||||
vflip() {
|
||||
if(!show_threads)
|
||||
linear_extrude(height = thread)
|
||||
linear_extrude(thread)
|
||||
intersection() {
|
||||
circle(d = thread_d - 0.3);
|
||||
|
||||
@ -127,7 +127,7 @@ module fuseholder(thickness) { //! Fuseholder with nut in place for specified pa
|
||||
for(side = [-1, 1])
|
||||
translate([side * contact_slot_d / 2, 0, contact_slot_z])
|
||||
rotate([0, -70, 90 - side * 90])
|
||||
linear_extrude(height = contact_t, center = true) difference() {
|
||||
linear_extrude(contact_t, center = true) difference() {
|
||||
hull() {
|
||||
square([eps, contact_w], center = true);
|
||||
|
||||
|
@ -61,7 +61,7 @@ module geared_stepper(type) { //! Draw the specified geared stepper
|
||||
|
||||
cylinder(d = gs_boss_d(type), h = 2 * gs_boss_h(type), center = true);
|
||||
|
||||
linear_extrude(height = gs_lug_t(type))
|
||||
linear_extrude(gs_lug_t(type))
|
||||
difference() {
|
||||
hull()
|
||||
geared_stepper_screw_positions(type)
|
||||
@ -78,7 +78,7 @@ module geared_stepper(type) { //! Draw the specified geared stepper
|
||||
color(brass) {
|
||||
d = gs_shaft_d(type);
|
||||
h = gs_shaft_length(type);
|
||||
linear_extrude(height = h)
|
||||
linear_extrude(h)
|
||||
intersection() {
|
||||
circle(d = d);
|
||||
|
||||
@ -95,7 +95,7 @@ module geared_stepper(type) { //! Draw the specified geared stepper
|
||||
|
||||
h2 = gs_bulge2_h(type);
|
||||
translate([0, - offset, h1 + 1 - h2])
|
||||
linear_extrude(height = h2)
|
||||
linear_extrude(h2)
|
||||
round(0.5)
|
||||
intersection() {
|
||||
circle(gs_bulge2_d(type));
|
||||
|
@ -80,7 +80,7 @@ module green_terminal(type, ways, skip = [], colour = "lime") { //! Draw green t
|
||||
|
||||
color(colour) {
|
||||
rotate([90, 0, 0])
|
||||
linear_extrude(height = pitch, center = true, convexity = 5)
|
||||
linear_extrude(pitch, center = true, convexity = 5)
|
||||
polygon(points = [ // Vertical section
|
||||
[y + depth / 2, 0],
|
||||
[y + depth / 2, ledge_height / 2 - box_h1 / 2],
|
||||
@ -105,7 +105,7 @@ module green_terminal(type, ways, skip = [], colour = "lime") { //! Draw green t
|
||||
]);
|
||||
|
||||
translate([y2, 0, ledge_height / 2 + box_h2 / 2]) // Screw socket
|
||||
linear_extrude(height = height - ledge_height / 2 - box_h2 / 2)
|
||||
linear_extrude(height - ledge_height / 2 - box_h2 / 2)
|
||||
difference() {
|
||||
square([screw_r * 2 + 0.1, pitch], center = true);
|
||||
|
||||
@ -113,7 +113,7 @@ module green_terminal(type, ways, skip = [], colour = "lime") { //! Draw green t
|
||||
}
|
||||
|
||||
|
||||
linear_extrude(height = ledge_height)
|
||||
linear_extrude(ledge_height)
|
||||
intersection() {
|
||||
horizontal_section();
|
||||
|
||||
@ -121,7 +121,7 @@ module green_terminal(type, ways, skip = [], colour = "lime") { //! Draw green t
|
||||
square([10, 10]);
|
||||
}
|
||||
|
||||
linear_extrude(height = back)
|
||||
linear_extrude(back)
|
||||
intersection() {
|
||||
horizontal_section();
|
||||
|
||||
@ -131,7 +131,7 @@ module green_terminal(type, ways, skip = [], colour = "lime") { //! Draw green t
|
||||
|
||||
if(tube_h)
|
||||
translate([y2, 0, height])
|
||||
linear_extrude(height = tube_h - height)
|
||||
linear_extrude(tube_h - height)
|
||||
intersection() {
|
||||
ring(or = top / 2, ir = screw_r);
|
||||
|
||||
@ -149,7 +149,7 @@ module green_terminal(type, ways, skip = [], colour = "lime") { //! Draw green t
|
||||
cylinder(r = screw_r, h = slot_depth);
|
||||
|
||||
translate_z(screw_top - slot_depth) // screw head
|
||||
linear_extrude(height = slot_depth)
|
||||
linear_extrude(slot_depth)
|
||||
difference() {
|
||||
circle(screw_r);
|
||||
|
||||
@ -158,7 +158,7 @@ module green_terminal(type, ways, skip = [], colour = "lime") { //! Draw green t
|
||||
}
|
||||
translate([box_back, 0, ledge_height / 2]) {
|
||||
rotate([0, 90, 0])
|
||||
linear_extrude(height = box_front - box_back)
|
||||
linear_extrude(box_front - box_back)
|
||||
difference() {
|
||||
square([box_h2, box_w2], center = true);
|
||||
|
||||
|
@ -69,7 +69,7 @@ module hygrometer() { //! Draw a hygrometer
|
||||
cylinder(d = apperture_d, h = eps);
|
||||
|
||||
color("black")
|
||||
linear_extrude(height = 0.2, center = true) {
|
||||
linear_extrude(0.2, center = true) {
|
||||
translate([0, 3])
|
||||
text("20_4", font = "7 segment", valign = "bottom", halign = "center", size = apperture_d / 6);
|
||||
|
||||
|
@ -137,7 +137,7 @@ module iec(type) { //! Draw specified IEC connector
|
||||
color(grey20) {
|
||||
// Flange
|
||||
flange_t = iec_flange_t(type);
|
||||
linear_extrude(height = flange_t)
|
||||
linear_extrude(flange_t)
|
||||
difference() {
|
||||
hull() {
|
||||
rounded_square([iec_flange_w(type), iec_flange_h(type)], iec_flange_r(type));
|
||||
@ -164,7 +164,7 @@ module iec(type) { //! Draw specified IEC connector
|
||||
}
|
||||
// Bezel
|
||||
translate_z(iec_flange_t(type))
|
||||
linear_extrude(height = iec_bezel_t(type))
|
||||
linear_extrude(iec_bezel_t(type))
|
||||
difference() {
|
||||
rounded_square([iec_bezel_w(type), iec_bezel_h(type)], iec_bezel_r(type));
|
||||
|
||||
@ -174,7 +174,7 @@ module iec(type) { //! Draw specified IEC connector
|
||||
// Body
|
||||
h = socket_d - iec_flange_t(type) - iec_bezel_t(type);
|
||||
translate_z(-h)
|
||||
linear_extrude(height = h)
|
||||
linear_extrude(h)
|
||||
difference() {
|
||||
body_shape();
|
||||
|
||||
@ -182,7 +182,7 @@ module iec(type) { //! Draw specified IEC connector
|
||||
}
|
||||
// Back
|
||||
translate_z(-iec_depth(type))
|
||||
linear_extrude(height = iec_depth(type) - h)
|
||||
linear_extrude(iec_depth(type) - h)
|
||||
body_shape();
|
||||
}
|
||||
if(!iec_male(type))
|
||||
|
@ -108,10 +108,10 @@ module insert_boss(type, z, wall = 2 * extrusion_width) { //! Make a boss to tak
|
||||
hull()
|
||||
poly_ring(or, ir);
|
||||
|
||||
linear_extrude(height = z)
|
||||
linear_extrude(z)
|
||||
poly_ring(or, ir);
|
||||
|
||||
linear_extrude(height = z - insert_hole_length(type))
|
||||
linear_extrude(z - insert_hole_length(type))
|
||||
difference() {
|
||||
shape();
|
||||
|
||||
@ -119,7 +119,7 @@ module insert_boss(type, z, wall = 2 * extrusion_width) { //! Make a boss to tak
|
||||
}
|
||||
|
||||
if(z > insert_hole_length(type) + 2 * layer_height)
|
||||
linear_extrude(height = 2 * layer_height) // cap the end if room
|
||||
linear_extrude(2 * layer_height) // cap the end if room
|
||||
shape();
|
||||
}
|
||||
|
||||
@ -143,7 +143,7 @@ module insert_lug(insert, wall, counter_bore = 0, extension = 0, corner_r = 0, f
|
||||
}
|
||||
|
||||
translate_z(-boss_h)
|
||||
linear_extrude(height = boss_h)
|
||||
linear_extrude(boss_h)
|
||||
difference() {
|
||||
shape();
|
||||
|
||||
@ -152,7 +152,7 @@ module insert_lug(insert, wall, counter_bore = 0, extension = 0, corner_r = 0, f
|
||||
|
||||
// insert boss counter_bore
|
||||
translate_z(-boss_h2) {
|
||||
linear_extrude(height = counter_bore + eps)
|
||||
linear_extrude(counter_bore + eps)
|
||||
difference() {
|
||||
shape();
|
||||
|
||||
@ -162,7 +162,7 @@ module insert_lug(insert, wall, counter_bore = 0, extension = 0, corner_r = 0, f
|
||||
// support cone
|
||||
if(flying)
|
||||
hull() {
|
||||
linear_extrude(height = eps)
|
||||
linear_extrude(eps)
|
||||
shape();
|
||||
|
||||
translate([boss_r + extension - wall - eps, 0, - (2 * boss_r + extension - wall)])
|
||||
|
@ -206,7 +206,7 @@ module post_4mm(colour, thickness, display_colour = false) { //! Draw a 4mm bind
|
||||
nut_t = 2.3;
|
||||
|
||||
color(silver)
|
||||
linear_extrude(height = nut_t) difference() {
|
||||
linear_extrude(nut_t) difference() {
|
||||
circle(d = 6.3 / cos(30), $fn = 6);
|
||||
|
||||
circle(d = thread_d);
|
||||
@ -229,7 +229,7 @@ module post_4mm(colour, thickness, display_colour = false) { //! Draw a 4mm bind
|
||||
cylinder(d = d, h = base_h);
|
||||
|
||||
translate_z(-collar_t)
|
||||
linear_extrude(height = base_h) {
|
||||
linear_extrude(base_h) {
|
||||
circle(post_4mm_hole_radius - 0.1);
|
||||
|
||||
spigot();
|
||||
@ -284,7 +284,7 @@ module post_4mm(colour, thickness, display_colour = false) { //! Draw a 4mm bind
|
||||
explode(-15)
|
||||
color(actual_colour) {
|
||||
translate_z(-thickness - base_h) {
|
||||
linear_extrude(height = base_h)
|
||||
linear_extrude(base_h)
|
||||
difference() {
|
||||
circle(d = d);
|
||||
|
||||
|
@ -52,7 +52,7 @@ module heater_block(type, resistor, thermistor) {
|
||||
color(brass) {
|
||||
render() difference() {
|
||||
rotate([90, 0, 0])
|
||||
linear_extrude(height = heater_width(type), center = true) difference() {
|
||||
linear_extrude(heater_width(type), center = true) difference() {
|
||||
square([heater_length(type), h], center = true);
|
||||
|
||||
translate([resistor_x(type), 0])
|
||||
|
@ -71,17 +71,17 @@ module LDR(type, lead_length = 3) { //! Draw an LDR, can specify the lead length
|
||||
t = ldr_thickness(type);
|
||||
|
||||
color("white")
|
||||
linear_extrude(height = t - 0.4)
|
||||
linear_extrude(t - 0.4)
|
||||
shape();
|
||||
|
||||
color("orange")
|
||||
translate_z(t - 0.4)
|
||||
linear_extrude(height = 0.1)
|
||||
linear_extrude(0.1)
|
||||
shape();
|
||||
|
||||
color([0.9, 0.9, 0.9])
|
||||
translate_z(t - 0.3)
|
||||
linear_extrude(height = 0.1)
|
||||
linear_extrude(0.1)
|
||||
difference() {
|
||||
offset(-serpentine_t())
|
||||
shape();
|
||||
@ -100,6 +100,6 @@ module LDR(type, lead_length = 3) { //! Draw an LDR, can specify the lead length
|
||||
}
|
||||
color([1, 1, 1, 0.25])
|
||||
translate_z(t - 0.3 + eps)
|
||||
linear_extrude(height = 0.3)
|
||||
linear_extrude(0.3)
|
||||
shape();
|
||||
}
|
||||
|
@ -64,7 +64,7 @@ module leadnut(type) { //! Draw specified leadnut
|
||||
thread(bore_d, lead, h, thread_profile(pitch / 2, pitch * 0.366, 30), false, starts = lead / pitch, female = true, solid = false);
|
||||
|
||||
translate_z(leadnut_flange_offset(type))
|
||||
linear_extrude(height = leadnut_flange_t(type))
|
||||
linear_extrude(leadnut_flange_t(type))
|
||||
difference() {
|
||||
circle(d = leadnut_flange_dia(type));
|
||||
|
||||
|
@ -40,7 +40,7 @@ module led(type, colour = "red", lead = 5) { //! Draw specified LED with desired
|
||||
rotate_extrude()
|
||||
rounded_corner(r = d / 2, h = led_height(type), r2 = d / 2);
|
||||
|
||||
linear_extrude(height = led_rim_t(type))
|
||||
linear_extrude(led_rim_t(type))
|
||||
difference() {
|
||||
circle(d = led_rim_dia(type));
|
||||
|
||||
|
@ -85,7 +85,7 @@ module light_strip(type, segs = undef) { //! Draw specified light strip, segs ca
|
||||
|
||||
color("silver")
|
||||
rotate([90, 0, 90])
|
||||
linear_extrude(height = l, center = true)
|
||||
linear_extrude(l, center = true)
|
||||
polygon([
|
||||
[ x1, 0], [ x1, d], [ x2, d], [ x3, y5], [ x3, y4], [ x2, y4],
|
||||
[ x2, y3], [ x3, y3], [ x3, y2], [ x2, y2], [ x2, y1],
|
||||
@ -99,42 +99,42 @@ module light_strip(type, segs = undef) { //! Draw specified light strip, segs ca
|
||||
|
||||
translate_z(y4) {
|
||||
color("white")
|
||||
linear_extrude(height = 1.6)
|
||||
linear_extrude(1.6)
|
||||
led_positions()
|
||||
square([5, 5], center = true);
|
||||
|
||||
color("yellow")
|
||||
linear_extrude(height = 1.6 + eps)
|
||||
linear_extrude(1.6 + eps)
|
||||
led_positions()
|
||||
circle(d = 3.5);
|
||||
|
||||
color("silver")
|
||||
linear_extrude(height = 0.8)
|
||||
linear_extrude(0.8)
|
||||
led_positions()
|
||||
for(side = [-1,1], end = [-1:1])
|
||||
translate([side * 2.2, end * 1.6])
|
||||
square([1, 0.9], center = true);
|
||||
|
||||
color("black")
|
||||
linear_extrude(height = 0.1)
|
||||
linear_extrude(0.1)
|
||||
segment_positions(segments - 1)
|
||||
translate([segment_length, 0])
|
||||
square([0.2, a], center = true);
|
||||
|
||||
color("silver")
|
||||
linear_extrude(height = 0.15)
|
||||
linear_extrude(0.15)
|
||||
segment_positions()
|
||||
for(end = [-1, 1], side = [-1, 1])
|
||||
translate([end * (segment_length / 2 - 1.25) + segment_length / 2, side * 2.5])
|
||||
square(2.5, center = true);
|
||||
|
||||
color("silver")
|
||||
linear_extrude(height = 0.55)
|
||||
linear_extrude(0.55)
|
||||
resistor_positions()
|
||||
square([3.2, 1.5], center = true);
|
||||
|
||||
color("black")
|
||||
linear_extrude(height = 0.55 + eps)
|
||||
linear_extrude(0.55 + eps)
|
||||
resistor_positions()
|
||||
square([2.1, 1.5 + 2 * eps], center = true);
|
||||
|
||||
@ -152,7 +152,7 @@ function light_strip_clip_length(light) = light_strip_clip_slot(light) + 2 * wal
|
||||
function light_strip_clip_width(light) = light_strip_depth(light) + 2 * wall; //! Outside width
|
||||
|
||||
module light_strip_clip(light) { //! Make a clip to go over the strip to be incorporated into a bracket
|
||||
linear_extrude(height = light_strip_clip_depth(light), convexity = 2)
|
||||
linear_extrude(light_strip_clip_depth(light), convexity = 2)
|
||||
difference() {
|
||||
translate([-light_strip_clip_length(light) / 2, -wall])
|
||||
square([light_strip_clip_length(light), light_strip_clip_width(light)]);
|
||||
|
@ -87,10 +87,10 @@ module mains_socket(type) { //! Draw specified 13A socket
|
||||
|
||||
color("white") render() difference() {
|
||||
hull() {
|
||||
linear_extrude(height = eps)
|
||||
linear_extrude(eps)
|
||||
face_plate(type);
|
||||
|
||||
linear_extrude(height = height)
|
||||
linear_extrude(height)
|
||||
offset(-(mains_socket_width(type) - mains_socket_top_w(type)) / 2)
|
||||
face_plate(type);
|
||||
}
|
||||
@ -105,7 +105,7 @@ module mains_socket(type) { //! Draw specified 13A socket
|
||||
}
|
||||
// Hollow out the back
|
||||
difference() {
|
||||
linear_extrude(height = height - mains_socket_t(type))
|
||||
linear_extrude(height - mains_socket_t(type))
|
||||
offset(-mains_socket_t(type))
|
||||
face_plate(type);
|
||||
|
||||
|
@ -56,7 +56,7 @@ module meter(type = led_meter, colour = "red", value = "888", display_colour = f
|
||||
|
||||
color("green")
|
||||
translate_z(meter_height(type))
|
||||
linear_extrude(height = meter_pcb_thickness(type))
|
||||
linear_extrude(meter_pcb_thickness(type))
|
||||
difference() {
|
||||
union() {
|
||||
square([meter_pcb_length(type), meter_pcb_width(type)], center = true);
|
||||
@ -68,7 +68,7 @@ module meter(type = led_meter, colour = "red", value = "888", display_colour = f
|
||||
}
|
||||
|
||||
color(display_colour ? display_colour : colour)
|
||||
linear_extrude(height = 0.2, center = true)
|
||||
linear_extrude(0.2, center = true)
|
||||
mirror([1,0,0])
|
||||
text(value, font = "7 segment", valign = "center", halign = "center", size = meter_width(type) - 2, spacing = 1.2);
|
||||
}
|
||||
@ -102,14 +102,14 @@ module meter_bezel(type = led_meter) { //! Generate the STL for the meter bezel
|
||||
h = meter_height(type);
|
||||
|
||||
union() {
|
||||
linear_extrude(height = h)
|
||||
linear_extrude(h)
|
||||
difference() {
|
||||
rounded_square([l + 2 * wall, w + 2 * wall], rad);
|
||||
|
||||
square([l + 2 * clearance, w + 2 * clearance], center = true);
|
||||
}
|
||||
|
||||
linear_extrude(height = flange_t)
|
||||
linear_extrude(flange_t)
|
||||
difference() {
|
||||
rounded_square([l + 2 * wall + 2 * overlap, w + 2 * wall + 2 * overlap], rad + overlap);
|
||||
|
||||
|
@ -63,7 +63,7 @@ module microswitch(type) { //! Draw specified microswitch
|
||||
d = microswitch_button_t(type);
|
||||
|
||||
color(microswitch_body_clr(type))
|
||||
linear_extrude(height = microswitch_thickness(type), center = true)
|
||||
linear_extrude(microswitch_thickness(type), center = true)
|
||||
difference() { // main body
|
||||
rounded_square([microswitch_length(type), microswitch_width(type)], microswitch_radius(type));
|
||||
|
||||
@ -73,7 +73,7 @@ module microswitch(type) { //! Draw specified microswitch
|
||||
|
||||
color(microswitch_button_clr(type)) // orange button
|
||||
translate(microswitch_button_pos(type) - [0, d / 2])
|
||||
linear_extrude(height = microswitch_button_w(type), center = true)
|
||||
linear_extrude(microswitch_button_w(type), center = true)
|
||||
hull() {
|
||||
circle(d = d);
|
||||
|
||||
@ -89,7 +89,7 @@ module microswitch(type) { //! Draw specified microswitch
|
||||
|
||||
if(vertical)
|
||||
rotate([0, 90, 0])
|
||||
linear_extrude(height = leg.x, center = true)
|
||||
linear_extrude(leg.x, center = true)
|
||||
difference() {
|
||||
square([leg.z, leg.y], center = true);
|
||||
|
||||
@ -99,7 +99,7 @@ module microswitch(type) { //! Draw specified microswitch
|
||||
}
|
||||
else
|
||||
rotate([90, 0, 0])
|
||||
linear_extrude(height = leg.y, center = true)
|
||||
linear_extrude(leg.y, center = true)
|
||||
difference() {
|
||||
square([leg.x, leg.z], center = true);
|
||||
|
||||
|
@ -32,7 +32,7 @@ panel_clearance = 0.2;
|
||||
module microview(cutout = false) { //! Draw microview or generate a panel cutout for it
|
||||
rotate([0, 0, -90])
|
||||
if(cutout)
|
||||
linear_extrude(height = 100)
|
||||
linear_extrude(100)
|
||||
offset(panel_clearance)
|
||||
projection()
|
||||
hull()
|
||||
|
@ -84,7 +84,7 @@ module mod(type) { //! Draw specified module
|
||||
|
||||
color("silver")
|
||||
rotate([90, 0, 90])
|
||||
linear_extrude(height = body_l, center = true)
|
||||
linear_extrude(body_l, center = true)
|
||||
profile();
|
||||
|
||||
color(grey20)
|
||||
@ -92,18 +92,18 @@ module mod(type) { //! Draw specified module
|
||||
translate([end * body_l / 2, 0, 0])
|
||||
rotate([90, 0, end * 90])
|
||||
union() {
|
||||
linear_extrude(height = end_t) // endcap
|
||||
linear_extrude(end_t) // endcap
|
||||
profile();
|
||||
|
||||
translate_z(end_t)
|
||||
rotate([90, 0, 180])
|
||||
linear_extrude(height = lug_t) // lug
|
||||
linear_extrude(lug_t) // lug
|
||||
lug();
|
||||
|
||||
for(side = [-1, 1]) {
|
||||
translate([side * vane_p / 2, lug_t, end_t]) // buttress vanes
|
||||
rotate([0, -90, 0])
|
||||
linear_extrude(height = vane_t, center = true)
|
||||
linear_extrude(vane_t, center = true)
|
||||
polygon([[0, 0], [0, vane_h - lug_t], [vane_l, 0]]);
|
||||
|
||||
translate([side * vane_p / 2, h / 2, end_t]) // bosses
|
||||
|
@ -58,7 +58,7 @@ module nut(type, nyloc = false, brass = false, nylon = false) { //! Draw specifi
|
||||
colour = brass ? brass_colour : nylon ? grey30: grey70;
|
||||
explode(nyloc ? 10 : 0) {
|
||||
color(colour) {
|
||||
linear_extrude(height = thickness)
|
||||
linear_extrude(thickness)
|
||||
difference() {
|
||||
circle(outer_rad, $fn = 6);
|
||||
|
||||
@ -120,7 +120,7 @@ module wingnut(type) { //! Draw a wingnut
|
||||
[hole_rad, thickness]
|
||||
]);
|
||||
for(rot = [0, 180])
|
||||
rotate([90, 0, rot]) linear_extrude(height = wing_thickness, center = true)
|
||||
rotate([90, 0, rot]) linear_extrude(wing_thickness, center = true)
|
||||
hull() {
|
||||
translate([wing_span / 2 - wing_width / 2, wing_height - wing_width / 2])
|
||||
circle(wing_width / 2);
|
||||
@ -207,7 +207,7 @@ module nut_square(type, brass = false, nylon = false) { //! Draw specified squar
|
||||
colour = brass ? brass_colour : nylon ? grey30 : grey70;
|
||||
color(colour)
|
||||
difference() {
|
||||
linear_extrude(height = thickness) {
|
||||
linear_extrude(thickness) {
|
||||
difference() {
|
||||
square([width, width], center = true);
|
||||
|
||||
|
@ -69,7 +69,7 @@ module opengrab() { //! Draw OpenGrab module
|
||||
translate_z(1)
|
||||
opengrab_hole_positions() {
|
||||
color(brass)
|
||||
linear_extrude(height = depth - 1)
|
||||
linear_extrude(depth - 1)
|
||||
difference() {
|
||||
circle(d = 4.7 / cos(30), $fn = 6);
|
||||
|
||||
@ -85,7 +85,7 @@ module opengrab_target() { //! Draw OpenGrab target
|
||||
vitamin("opengrab_target(): OpenGrab silicon steel target plate");
|
||||
|
||||
color(grey80)
|
||||
linear_extrude(height = target)
|
||||
linear_extrude(target)
|
||||
difference() {
|
||||
square([width, width], center = true);
|
||||
|
||||
|
@ -106,7 +106,7 @@ module usb_A(h, v_flange_l, bar, cutout) {
|
||||
h + 2 * h_flange_h + 2 * panel_clearance, 100], r = cnc_bit_r, center = false);
|
||||
else
|
||||
color("silver") rotate([0, 90, 0]) {
|
||||
linear_extrude(height = l, center = true)
|
||||
linear_extrude(l, center = true)
|
||||
difference() {
|
||||
square([h, w], center = true);
|
||||
|
||||
@ -119,7 +119,7 @@ module usb_A(h, v_flange_l, bar, cutout) {
|
||||
cube([h, w, 1], center = true);
|
||||
|
||||
translate_z(l / 2 - flange_t)
|
||||
linear_extrude(height = flange_t) difference() {
|
||||
linear_extrude(flange_t) difference() {
|
||||
union() {
|
||||
square([h + 2 * h_flange_h, h_flange_l], center = true);
|
||||
|
||||
@ -150,7 +150,7 @@ module rj45(cutout = false) { //! Draw RJ45 Ethernet connector
|
||||
rotate([0, 90, 0]) {
|
||||
mouth = plug_z + plug_h - tab_z;
|
||||
color("silver") {
|
||||
linear_extrude(height = l, center = true)
|
||||
linear_extrude(l, center = true)
|
||||
difference() {
|
||||
square([h, w], center = true);
|
||||
|
||||
@ -163,7 +163,7 @@ module rj45(cutout = false) { //! Draw RJ45 Ethernet connector
|
||||
}
|
||||
|
||||
color(grey30) {
|
||||
linear_extrude(height = l - 0.2, center = true)
|
||||
linear_extrude(l - 0.2, center = true)
|
||||
difference() {
|
||||
square([h - 0.1, w - 0.1], center = true);
|
||||
|
||||
@ -195,7 +195,7 @@ module jack(cutout = false) { //! Draw 3.5mm jack
|
||||
else
|
||||
color(grey20)
|
||||
rotate([0, 90, 0]) {
|
||||
linear_extrude(height = l / 2)
|
||||
linear_extrude(l / 2)
|
||||
difference() {
|
||||
square([h, w], center = true);
|
||||
|
||||
@ -271,13 +271,13 @@ module hdmi(type, cutout = false) { //! Draw HDMI socket
|
||||
|
||||
if(cutout)
|
||||
rotate([90, 0, 90])
|
||||
linear_extrude(height = 100)
|
||||
linear_extrude(100)
|
||||
offset(t + panel_clearance)
|
||||
D();
|
||||
else
|
||||
color("silver")
|
||||
rotate([90, 0, 90]) {
|
||||
linear_extrude(height = l, center = true)
|
||||
linear_extrude(l, center = true)
|
||||
difference() {
|
||||
offset(t)
|
||||
D();
|
||||
@ -285,7 +285,7 @@ module hdmi(type, cutout = false) { //! Draw HDMI socket
|
||||
}
|
||||
|
||||
translate_z(-l / 2)
|
||||
linear_extrude(height = 1)
|
||||
linear_extrude(1)
|
||||
offset(t)
|
||||
D();
|
||||
}
|
||||
@ -314,12 +314,12 @@ module usb_uA(cutout = false) { //! Draw USB micro A connector
|
||||
|
||||
if(cutout)
|
||||
rotate([90, 0, 90])
|
||||
linear_extrude(height = 100)
|
||||
linear_extrude(100)
|
||||
offset((flange_h - ih2) / 2 + 2 * panel_clearance)
|
||||
D();
|
||||
else
|
||||
color("silver") rotate([90, 0, 90]) {
|
||||
linear_extrude(height = l, center = true)
|
||||
linear_extrude(l, center = true)
|
||||
difference() {
|
||||
offset(t)
|
||||
D();
|
||||
@ -328,12 +328,12 @@ module usb_uA(cutout = false) { //! Draw USB micro A connector
|
||||
}
|
||||
|
||||
translate_z(-l / 2)
|
||||
linear_extrude(height = 1)
|
||||
linear_extrude(1)
|
||||
offset(t)
|
||||
D();
|
||||
|
||||
translate_z(l / 2 - t)
|
||||
linear_extrude(height = t) difference() {
|
||||
linear_extrude(t) difference() {
|
||||
union() {
|
||||
translate([0, h - t - ih1 / 2])
|
||||
square([flange_w, ih1], center = true);
|
||||
@ -375,7 +375,7 @@ module usb_B(cutout = false) { //! Draw USB B connector
|
||||
else
|
||||
translate_z(h / 2) rotate([90, 0, 90]) {
|
||||
color("silver") {
|
||||
linear_extrude(height = l, center = true)
|
||||
linear_extrude(l, center = true)
|
||||
difference() {
|
||||
square([w, h], center = true);
|
||||
|
||||
@ -388,7 +388,7 @@ module usb_B(cutout = false) { //! Draw USB B connector
|
||||
}
|
||||
|
||||
color("white") {
|
||||
linear_extrude(height = l - 0.4, center = true)
|
||||
linear_extrude(l - 0.4, center = true)
|
||||
difference() {
|
||||
square([w - 0.2, h - 0.2], center = true);
|
||||
|
||||
@ -423,7 +423,7 @@ module barrel_jack(cutout = false) { //! Draw barrel power jack
|
||||
;
|
||||
else {
|
||||
color(grey20) rotate([0, 90, 0]) {
|
||||
linear_extrude(height = l, center = true) {
|
||||
linear_extrude(l, center = true) {
|
||||
difference() {
|
||||
translate([-h / 2, 0])
|
||||
rounded_square([h, w], r);
|
||||
@ -437,7 +437,7 @@ module barrel_jack(cutout = false) { //! Draw barrel power jack
|
||||
}
|
||||
}
|
||||
translate_z(l / 2 - front)
|
||||
linear_extrude(height = front) {
|
||||
linear_extrude(front) {
|
||||
difference() {
|
||||
translate([-h / 2, 0])
|
||||
rounded_square([h, w], r);
|
||||
@ -484,7 +484,7 @@ module uSD(size, cutout = false) { //! Draw uSD socket
|
||||
translate_z(size.z / 2) {
|
||||
color("silver")
|
||||
rotate([90, 0, 90]) {
|
||||
linear_extrude(height = size.y, center = true)
|
||||
linear_extrude(size.y, center = true)
|
||||
difference() {
|
||||
square([size.x, size.z], center = true);
|
||||
square([size.x - 2 * t, size.z - 2 * t], center = true);
|
||||
@ -497,7 +497,7 @@ module uSD(size, cutout = false) { //! Draw uSD socket
|
||||
color(grey20)
|
||||
rotate([90, 0, 90])
|
||||
translate_z(t)
|
||||
linear_extrude(height = size.y - t, center = true)
|
||||
linear_extrude(size.y - t, center = true)
|
||||
difference() {
|
||||
square([size.x - 2 * t, size.z - 2 * t], center = true);
|
||||
|
||||
@ -526,7 +526,7 @@ module flex(cutout = false) { //! Draw flexistrip connector
|
||||
translate_z(0.5)
|
||||
cube([l, w, 1], center = true);
|
||||
|
||||
linear_extrude(height = h)
|
||||
linear_extrude(h)
|
||||
difference() {
|
||||
square([l, w], center = true);
|
||||
|
||||
@ -535,7 +535,7 @@ module flex(cutout = false) { //! Draw flexistrip connector
|
||||
}
|
||||
|
||||
translate_z(h - top_t)
|
||||
linear_extrude(height = top_t)
|
||||
linear_extrude(top_t)
|
||||
difference() {
|
||||
union() {
|
||||
square([top_l, w], center = true);
|
||||
@ -581,7 +581,7 @@ module flat_flex(cutout = false) { //! Draw flat flexistrip connector as used on
|
||||
color(grey30) {
|
||||
translate([w / 2 - w1, 0, h1 / 2])
|
||||
rotate([90, 0, 90])
|
||||
linear_extrude(height = w1)
|
||||
linear_extrude(w1)
|
||||
difference() {
|
||||
square([l1, h1], center = true);
|
||||
|
||||
@ -623,7 +623,7 @@ module terminal_35(ways, colour = "blue") { //! Draw 3.5mm terminal block
|
||||
screw_r = 1;
|
||||
color(colour) {
|
||||
rotate([90, 0, 0])
|
||||
linear_extrude(height = pitch, center = true)
|
||||
linear_extrude(pitch, center = true)
|
||||
polygon(points = [
|
||||
[ depth / 2, 0],
|
||||
[ depth / 2, box_z],
|
||||
@ -640,7 +640,7 @@ module terminal_35(ways, colour = "blue") { //! Draw 3.5mm terminal block
|
||||
[-depth / 2, 0],
|
||||
]);
|
||||
|
||||
linear_extrude(height = box_z + box_h)
|
||||
linear_extrude(box_z + box_h)
|
||||
difference() {
|
||||
square([depth, pitch], center = true);
|
||||
|
||||
@ -651,7 +651,7 @@ module terminal_35(ways, colour = "blue") { //! Draw 3.5mm terminal block
|
||||
}
|
||||
|
||||
translate_z(box_z + box_h)
|
||||
linear_extrude(height = height - box_z - box_h)
|
||||
linear_extrude(height - box_z - box_h)
|
||||
difference() {
|
||||
square([2 * screw_r + 0.1, pitch], center = true);
|
||||
|
||||
@ -663,7 +663,7 @@ module terminal_35(ways, colour = "blue") { //! Draw 3.5mm terminal block
|
||||
translate_z(screw_z) {
|
||||
cylinder(r = screw_r, h = height - screw_z - 1); // screw
|
||||
|
||||
linear_extrude(height = height - screw_z - 0.5)
|
||||
linear_extrude(height - screw_z - 0.5)
|
||||
difference() {
|
||||
circle(1);
|
||||
|
||||
@ -678,7 +678,7 @@ module terminal_35(ways, colour = "blue") { //! Draw 3.5mm terminal block
|
||||
|
||||
translate_z(box_z + box_h / 2) // terminal
|
||||
rotate([0, -90, 0]) {
|
||||
linear_extrude(height = depth - 2, center = true)
|
||||
linear_extrude(depth - 2, center = true)
|
||||
difference() {
|
||||
square([box_h, box_w], center = true);
|
||||
|
||||
@ -771,7 +771,7 @@ module trimpot10(vertical, cutout = false) { //! Draw a ten turn trimpot
|
||||
screw_pos() {
|
||||
cylinder(d = screw_d, h = screw_h - slot_h);
|
||||
|
||||
linear_extrude(height = screw_h)
|
||||
linear_extrude(screw_h)
|
||||
difference() {
|
||||
circle(d = screw_d);
|
||||
|
||||
@ -881,7 +881,7 @@ module pcb(type) { //! Draw specified PCB
|
||||
|
||||
pcb_components(type);
|
||||
|
||||
color(pcb_colour(type)) linear_extrude(height = t) difference() {
|
||||
color(pcb_colour(type)) linear_extrude(t) difference() {
|
||||
if(Len(pcb_polygon(type)))
|
||||
polygon(pcb_polygon(type));
|
||||
else
|
||||
@ -901,7 +901,7 @@ module pcb(type) { //! Draw specified PCB
|
||||
translate_z(t / 2)
|
||||
pcb_hole_positions(type)
|
||||
if(is_list(land))
|
||||
linear_extrude(height = t + 2 * eps, center = true)
|
||||
linear_extrude(t + 2 * eps, center = true)
|
||||
difference() {
|
||||
square(land, center = true);
|
||||
|
||||
@ -914,7 +914,7 @@ module pcb(type) { //! Draw specified PCB
|
||||
plating = 0.15;
|
||||
color(pcb_colour(type) == "green" ? "silver" : "gold")
|
||||
translate_z(-plating)
|
||||
linear_extrude(height = fr4 ? t + 2 * plating : plating)
|
||||
linear_extrude(fr4 ? t + 2 * plating : plating)
|
||||
if(Len(grid)) {
|
||||
pcb_grid_positions(type)
|
||||
difference() {
|
||||
@ -943,11 +943,11 @@ module pcb_spacer(screw, height, wall = 1.8, taper = 0) { //! Generate STL for P
|
||||
or = corrected_radius(ir) + wall;
|
||||
|
||||
if(height > taper)
|
||||
linear_extrude(height = height - taper)
|
||||
linear_extrude(height - taper)
|
||||
poly_ring(or, ir);
|
||||
|
||||
if(taper)
|
||||
linear_extrude(height = height)
|
||||
linear_extrude(height)
|
||||
poly_ring(ir + 2 * extrusion_width, ir);
|
||||
}
|
||||
|
||||
@ -957,7 +957,7 @@ module pcb_base(type, height, thickness, wall = 2) { //! Generate STL for a base
|
||||
or = corrected_radius(ir) + wall;
|
||||
|
||||
union() {
|
||||
linear_extrude(height = thickness)
|
||||
linear_extrude(thickness)
|
||||
difference() {
|
||||
hull()
|
||||
pcb_screw_positions(type)
|
||||
@ -967,7 +967,7 @@ module pcb_base(type, height, thickness, wall = 2) { //! Generate STL for a base
|
||||
poly_circle(ir);
|
||||
}
|
||||
|
||||
linear_extrude(height = height)
|
||||
linear_extrude(height)
|
||||
pcb_screw_positions(type)
|
||||
poly_ring(or, ir);
|
||||
}
|
||||
|
@ -66,7 +66,7 @@ module pillar(type) { //! Draw specified pillar
|
||||
cylinder(h = top_thread_l, d = thread_d);
|
||||
|
||||
color(pillar_i_colour(type)) {
|
||||
linear_extrude(height = height)
|
||||
linear_extrude(height)
|
||||
difference() {
|
||||
circle(d = pillar_id(type), $fn = fn(pillar_ifn(type)));
|
||||
circle(d = thread_d);
|
||||
@ -90,7 +90,7 @@ module pillar(type) { //! Draw specified pillar
|
||||
}
|
||||
|
||||
if(pillar_od(type) > pillar_id(type))
|
||||
color(pillar_o_colour(type)) linear_extrude(height = height)
|
||||
color(pillar_o_colour(type)) linear_extrude(height)
|
||||
difference() {
|
||||
circle(d = pillar_od(type), $fn = fn(pillar_ofn(type)));
|
||||
|
||||
|
@ -81,7 +81,7 @@ module pin_header(type, cols = 1, rows = 1, smt = false, right_angle = false, cu
|
||||
translate([0, right_angle ? -ra_offset - pitch / 2 : 0, right_angle ? width / 2 : 0])
|
||||
rotate([right_angle ? 90 : 0, 0, 0])
|
||||
color(base_colour)
|
||||
linear_extrude(height = h)
|
||||
linear_extrude(h)
|
||||
for(x = [0 : cols - 1], y = [0 : rows - 1])
|
||||
translate([pitch * (x - (cols - 1) / 2), pitch * (y - (rows - 1) / 2), pitch / 2])
|
||||
hull() {
|
||||
@ -111,10 +111,10 @@ module box_header(type, cols = 1, rows = 1, smt = false, cutout = false) { //! D
|
||||
pin(type, hdr_pin_length(type) - pitch + base);
|
||||
|
||||
color(hdr_base_colour(type)) {
|
||||
linear_extrude(height = base)
|
||||
linear_extrude(base)
|
||||
square([w, l], center = true);
|
||||
|
||||
linear_extrude(height = h)
|
||||
linear_extrude(h)
|
||||
difference() {
|
||||
square([w, l], center = true);
|
||||
|
||||
@ -140,7 +140,7 @@ module idc_transition(type, cols = 5, skip = [], cutout = false) { //! Draw IDC
|
||||
|
||||
color(hdr_base_colour(type))
|
||||
rotate([90, 0, 0])
|
||||
linear_extrude(height = width, center = true, convexity = cols * rows)
|
||||
linear_extrude(width, center = true, convexity = cols * rows)
|
||||
difference() {
|
||||
translate([0, height / 2])
|
||||
square([length, height], center = true);
|
||||
@ -177,7 +177,7 @@ module pin_socket(type, cols = 1, rows = 1, right_angle = false, height = 0, smt
|
||||
translate([0, right_angle ? -ra_offset - pitch / 2 : 0, right_angle ? width / 2 : 0])
|
||||
rotate([right_angle ? 90 : 0, 0, 0])
|
||||
translate_z(depth / 2)
|
||||
linear_extrude(height = depth, center = true)
|
||||
linear_extrude(depth, center = true)
|
||||
difference() {
|
||||
square([length, width], center = true);
|
||||
|
||||
|
@ -85,7 +85,7 @@ module terminal_block(type, ways) { //! Draw a power supply terminal block
|
||||
for(i = [0 : ways])
|
||||
translate([0, i * pitch + div])
|
||||
rotate([90, 0, 0])
|
||||
linear_extrude(height = div)
|
||||
linear_extrude(div)
|
||||
hull() {
|
||||
r = 2;
|
||||
square([depth, eps]);
|
||||
@ -170,7 +170,7 @@ module psu(type) { //! Draw a power supply
|
||||
|
||||
multmatrix(psu_face_transform(type, i))
|
||||
translate([xo, 0, -t]) {
|
||||
color("silver") linear_extrude(height = t)
|
||||
color("silver") linear_extrude(t)
|
||||
union() {
|
||||
difference() {
|
||||
square([xw, yw], center = true);
|
||||
@ -260,7 +260,7 @@ module psu(type) { //! Draw a power supply
|
||||
heatsink_offset = 13.5;
|
||||
color("#FCD67E")
|
||||
translate([(-right - rt) / 2, (ft - bt) / 2, z - pcb_thickness])
|
||||
linear_extrude(height = pcb_thickness)
|
||||
linear_extrude(pcb_thickness)
|
||||
difference() {
|
||||
square([pl, pw], center = true);
|
||||
|
||||
@ -306,7 +306,7 @@ module psu(type) { //! Draw a power supply
|
||||
color("silver")
|
||||
translate([l / 2, -w / 2])
|
||||
rotate([90, 0, 180])
|
||||
linear_extrude(height = length) {
|
||||
linear_extrude(length) {
|
||||
translate([right + rt, z_top])
|
||||
rotate(135)
|
||||
square([rt, right * sqrt(2)]);
|
||||
@ -336,7 +336,7 @@ module atx_psu_cutout(type) { //! Cut out for the rear of an ATX
|
||||
holes = psu_face_holes(psu_faces(type)[f_front]);
|
||||
translate([holes[0].x, -psu_width(type) / 2, psu_height(type) / 2 + holes[0].y])
|
||||
rotate([90, 0, 0])
|
||||
linear_extrude(height = 100, center = true)
|
||||
linear_extrude(100, center = true)
|
||||
round(5)
|
||||
polygon([ // https://www.techpowerup.com/forums/threads/pc-component-dimensions.157239, tweaked
|
||||
[18.7, -13],
|
||||
|
@ -69,7 +69,7 @@ module pulley(type) { //! Draw a pulley
|
||||
ir = pulley_ir(type);
|
||||
module core() {
|
||||
translate_z(pulley_hub_length(type) + ft)
|
||||
linear_extrude(height = w) let($fa = 1, $fs = 0.1)
|
||||
linear_extrude(w) let($fa = 1, $fs = 0.1)
|
||||
difference() {
|
||||
circle(or);
|
||||
|
||||
|
@ -84,7 +84,7 @@ module carriage(type, rail, end_color = grey20, wiper_color = grey20) { //! Draw
|
||||
|
||||
color(grey90) {
|
||||
rotate([90, 0, 90])
|
||||
linear_extrude(height = block_l, center = true)
|
||||
linear_extrude(block_l, center = true)
|
||||
difference() {
|
||||
translate([-block_w / 2, carriage_clearance(type)])
|
||||
square([block_w, block_h - screw_depth]);
|
||||
@ -93,7 +93,7 @@ module carriage(type, rail, end_color = grey20, wiper_color = grey20) { //! Draw
|
||||
}
|
||||
|
||||
translate_z(carriage_height(type) - screw_depth)
|
||||
linear_extrude(height = screw_depth)
|
||||
linear_extrude(screw_depth)
|
||||
difference() {
|
||||
square([block_l, block_w], center = true);
|
||||
|
||||
|
@ -60,7 +60,7 @@ module ring_terminal(type) { //! Draw specifeid ring terminal
|
||||
children();
|
||||
|
||||
color("silver") union() {
|
||||
linear_extrude(height = t)
|
||||
linear_extrude(t)
|
||||
difference() {
|
||||
hull_if_crimp() {
|
||||
circle(d = od);
|
||||
@ -102,7 +102,7 @@ module ring_terminal(type) { //! Draw specifeid ring terminal
|
||||
else
|
||||
translate([0, -bend])
|
||||
rotate([-angle, 0, 0])
|
||||
linear_extrude(height = t)
|
||||
linear_extrude(t)
|
||||
difference() {
|
||||
length = l - od / 2 - bend;
|
||||
hull() {
|
||||
|
@ -54,7 +54,7 @@ module rocker(type, colour) { //! Draw the specified rocker switch
|
||||
|
||||
explode(30) {
|
||||
color(grey20) {
|
||||
linear_extrude(height = rocker_flange_t(type))
|
||||
linear_extrude(rocker_flange_t(type))
|
||||
difference() {
|
||||
rounded_square([rocker_flange_w(type), rocker_flange_h(type)], 0.5);
|
||||
|
||||
@ -68,7 +68,7 @@ module rocker(type, colour) { //! Draw the specified rocker switch
|
||||
color(colour ? colour : grey30)
|
||||
translate_z(rocker_pivot(type))
|
||||
rotate([90, 0, 90])
|
||||
linear_extrude(height = rocker_w, center = true)
|
||||
linear_extrude(rocker_w, center = true)
|
||||
difference() {
|
||||
circle(rocker_r, $fa = 1);
|
||||
|
||||
|
@ -114,7 +114,7 @@ module screw(type, length, hob_point = 0, nylon = false) { //! Draw specified sc
|
||||
cylinder(r = head_rad, h = head_height - socket_depth);
|
||||
|
||||
translate_z(head_height - socket_depth)
|
||||
linear_extrude(height = socket_depth)
|
||||
linear_extrude(socket_depth)
|
||||
difference() {
|
||||
circle(head_rad);
|
||||
|
||||
@ -128,7 +128,7 @@ module screw(type, length, hob_point = 0, nylon = false) { //! Draw specified sc
|
||||
color(colour) {
|
||||
r = show_threads ? rad - pitch / 2 : rad;
|
||||
translate_z(-socket_depth)
|
||||
linear_extrude(height = socket_depth)
|
||||
linear_extrude(socket_depth)
|
||||
difference() {
|
||||
circle(r);
|
||||
|
||||
@ -161,7 +161,7 @@ module screw(type, length, hob_point = 0, nylon = false) { //! Draw specified sc
|
||||
square([socket_rad, 10]);
|
||||
}
|
||||
|
||||
linear_extrude(height = head_height)
|
||||
linear_extrude(head_height)
|
||||
difference() {
|
||||
circle(socket_rad + eps);
|
||||
|
||||
@ -187,7 +187,7 @@ module screw(type, length, hob_point = 0, nylon = false) { //! Draw specified sc
|
||||
square([socket_rad, 10]);
|
||||
}
|
||||
}
|
||||
linear_extrude(height = head_height)
|
||||
linear_extrude(head_height)
|
||||
difference() {
|
||||
circle(socket_rad + eps);
|
||||
circle(socket_rad, $fn = 6);
|
||||
@ -211,7 +211,7 @@ module screw(type, length, hob_point = 0, nylon = false) { //! Draw specified sc
|
||||
}
|
||||
|
||||
translate_z(-socket_depth)
|
||||
linear_extrude(height = socket_depth)
|
||||
linear_extrude(socket_depth)
|
||||
difference() {
|
||||
circle(socket_rad + 0.1);
|
||||
|
||||
@ -234,7 +234,7 @@ module screw(type, length, hob_point = 0, nylon = false) { //! Draw specified sc
|
||||
}
|
||||
|
||||
translate_z(-socket_depth)
|
||||
linear_extrude(height = socket_depth)
|
||||
linear_extrude(socket_depth)
|
||||
difference() {
|
||||
circle(socket_rad + 0.1);
|
||||
|
||||
|
@ -48,6 +48,6 @@ module sealing_strip(length) { //! Draw specified length of sealing strip
|
||||
vitamin(str("sealing_strip(", length, "): Sealing strip 10mm x 4mm x ", length, "mm"));
|
||||
rotate([90, 0, 90])
|
||||
color("Sienna")
|
||||
linear_extrude(height = length, center = true)
|
||||
linear_extrude(length, center = true)
|
||||
rounded_polygon(profile);
|
||||
}
|
||||
|
@ -75,7 +75,7 @@ module sheet_2D(type, w, d, corners = [0, 0, 0, 0]) { //! 2D sheet template with
|
||||
}
|
||||
|
||||
module sheet(type, w, d, corners = [0, 0, 0, 0]) //! Draw specified sheet
|
||||
linear_extrude(height = sheet_thickness(type), center = true)
|
||||
linear_extrude(sheet_thickness(type), center = true)
|
||||
sheet_2D(type, w, d, corners);
|
||||
|
||||
module render_sheet(type, color = false) //! Render a sheet in the correct colour after holes have been subtracted
|
||||
@ -84,5 +84,5 @@ module render_sheet(type, color = false) //! Render a sheet in the correct colou
|
||||
|
||||
module render_2D_sheet(type, color = false) //! Extrude a 2D sheet template and give it the correct colour
|
||||
color(color ? color : sheet_colour(type))
|
||||
linear_extrude(height = sheet_thickness(type), center = true)
|
||||
linear_extrude(sheet_thickness(type), center = true)
|
||||
children();
|
||||
|
@ -37,7 +37,7 @@ module spade(type, height = 14) { //! Draw a spade of the specified type and tot
|
||||
|
||||
color("silver")
|
||||
rotate([90, 0, 0])
|
||||
linear_extrude(height = spade_t(type), center = true)
|
||||
linear_extrude(spade_t(type), center = true)
|
||||
difference() {
|
||||
union() {
|
||||
if(shank_l > 0)
|
||||
|
@ -44,7 +44,7 @@ module ssr(type) { //! Draw specified SSR
|
||||
t = ssr_base_t(type);
|
||||
h = ssr_height(type);
|
||||
|
||||
color("silver") linear_extrude(height = t) difference() {
|
||||
color("silver") linear_extrude(t) difference() {
|
||||
square([l, w], center = true);
|
||||
|
||||
ssr_hole_positions(type)
|
||||
@ -52,7 +52,7 @@ module ssr(type) { //! Draw specified SSR
|
||||
}
|
||||
color([242/255, 236/255, 220/255])
|
||||
translate_z(t)
|
||||
linear_extrude(height = h - t) difference() {
|
||||
linear_extrude(h - t) difference() {
|
||||
square([l, w], center = true);
|
||||
|
||||
for(end = [-1, 1])
|
||||
|
@ -65,7 +65,7 @@ module NEMA(type, shaft_angle = 0) { //! Draw specified NEMA stepper motor
|
||||
union() {
|
||||
color(stepper_body_colour) // black laminations
|
||||
translate_z(-length / 2)
|
||||
linear_extrude(height = length - cap * 2, center = true)
|
||||
linear_extrude(length - cap * 2, center = true)
|
||||
intersection() {
|
||||
square([side, side], center = true);
|
||||
|
||||
@ -77,7 +77,7 @@ module NEMA(type, shaft_angle = 0) { //! Draw specified NEMA stepper motor
|
||||
|
||||
for(end = [-1, 1])
|
||||
translate_z(-length / 2 + end * (length - cap) / 2) {
|
||||
linear_extrude(height = cap, center = true)
|
||||
linear_extrude(cap, center = true)
|
||||
difference() {
|
||||
intersection() {
|
||||
square([side, side], center = true);
|
||||
|
@ -130,7 +130,7 @@ module toggle(type, thickness) { //! Draw specified toggle switch with the nuts
|
||||
rotate([max(angle, 0), 0, 0])
|
||||
if(toggle_paddle_w(type))
|
||||
translate_z(l)
|
||||
linear_extrude(height = eps, center = true)
|
||||
linear_extrude(eps, center = true)
|
||||
intersection() {
|
||||
circle(d = d1);
|
||||
|
||||
@ -151,7 +151,7 @@ module toggle(type, thickness) { //! Draw specified toggle switch with the nuts
|
||||
rows = pins > 3 ? 2 : 1;
|
||||
color("gold")
|
||||
translate_z(-toggle_depth(type) - toggle_pin_l(type) / 2)
|
||||
linear_extrude(height = toggle_pin_l(type), center = true)
|
||||
linear_extrude(toggle_pin_l(type), center = true)
|
||||
for(i = [0 : pins - 1]) {
|
||||
x = rows < 2 ? 0 : (i % 2) - 0.5;
|
||||
y = rows < 2 ? i - 1 : floor(i / 2) - 1;
|
||||
|
@ -44,7 +44,7 @@ module transformer(type) { //! Draw specified transformer
|
||||
vitamin(str("transformer(", type[0], "): Transformer ", tx_part(type)));
|
||||
|
||||
color("silver") {
|
||||
linear_extrude(height = tx_foot_thickness(type))
|
||||
linear_extrude(tx_foot_thickness(type))
|
||||
difference() {
|
||||
rounded_square([tx_foot_width(type), tx_foot_depth(type)], r = 2);
|
||||
|
||||
|
@ -37,7 +37,7 @@ module tubing(type, length = 15, forced_id = 0) { //! Draw specified tubing with
|
||||
else
|
||||
vitamin(str("tubing(", type[0], arg(length, 15), "): ", tubing_material(type), " OD ", original_od, "mm ID ", original_id,"mm x ",length, "mm"));
|
||||
color(tubing_colour(type))
|
||||
linear_extrude(height = length, center = true, convexity = 4)
|
||||
linear_extrude(length, center = true, convexity = 4)
|
||||
difference() {
|
||||
circle(d = od);
|
||||
circle(d = id);
|
||||
|
@ -54,7 +54,7 @@ module variac_holes(type, h = 100) { //! Drill panel holes for specified vari
|
||||
}
|
||||
|
||||
module variac_dial(type) //! Draw the dial for the specified variac
|
||||
color("silver") linear_extrude(height = variac_dial_thickness(type))
|
||||
color("silver") linear_extrude(variac_dial_thickness(type))
|
||||
difference() {
|
||||
circle(d = variac_dial_dia(type));
|
||||
|
||||
@ -81,7 +81,7 @@ module variac(type, thickness = 3, dial = true) { //! Draw the specified varia
|
||||
|
||||
translate_z(-h) {
|
||||
color("#A66955") {
|
||||
linear_extrude(height = h)
|
||||
linear_extrude(h)
|
||||
difference() {
|
||||
shape();
|
||||
|
||||
@ -89,7 +89,7 @@ module variac(type, thickness = 3, dial = true) { //! Draw the specified varia
|
||||
circle(screw_radius(variac_screw(type)));
|
||||
}
|
||||
|
||||
linear_extrude(height = h - 10)
|
||||
linear_extrude(h - 10)
|
||||
shape();
|
||||
}
|
||||
color("silver")
|
||||
|
@ -86,7 +86,7 @@ module veroboard(type) { //! Draw specified veroboard with missing tracks and tr
|
||||
|
||||
vitamin(str("veroboard(", type[0], "): Veroboard ", holes, " holes x ", strips, "strips"));
|
||||
|
||||
color(colour) linear_extrude(height = vero_thickness(type))
|
||||
color(colour) linear_extrude(vero_thickness(type))
|
||||
difference() {
|
||||
rounded_square([length, width], r = 0.5, center = true);
|
||||
|
||||
@ -98,7 +98,7 @@ module veroboard(type) { //! Draw specified veroboard with missing tracks and tr
|
||||
circle(r = screw_radius(vero_screw(type)));
|
||||
}
|
||||
|
||||
color(tc) vflip() linear_extrude(height = vero_track_thickness(type))
|
||||
color(tc) vflip() linear_extrude(vero_track_thickness(type))
|
||||
difference() {
|
||||
vflip()
|
||||
for(y = [0 : strips -1])
|
||||
|
@ -53,7 +53,7 @@ module washer(type) { //! Draw specified washer
|
||||
else
|
||||
vitamin(str("washer(", type[0], "_washer): Washer ", penny ? "penny " : "", " M", hole, " x ", diameter, "mm x ", thickness, "mm"));
|
||||
color(washer_colour(type))
|
||||
linear_extrude(height = thickness - 0.05)
|
||||
linear_extrude( thickness - 0.05)
|
||||
difference() {
|
||||
circle(d = diameter);
|
||||
circle(d = washer_id(type));
|
||||
@ -80,7 +80,7 @@ module star_washer(type) { //! Draw star version of washer
|
||||
spoke = rad - hole / 2;
|
||||
vitamin(str("star_washer(", type[0], "_washer): Washer star M", hole, " x ", thickness, "mm"));
|
||||
color(star_washer_colour)
|
||||
linear_extrude(height = thickness)
|
||||
linear_extrude(thickness)
|
||||
difference() {
|
||||
circle(rad);
|
||||
|
||||
@ -123,7 +123,7 @@ module printed_washer(type, name = false) { //! Create printed washer
|
||||
or = washer_radius(type);
|
||||
ir = washer_id(type) / 2;
|
||||
color(pp1_colour)
|
||||
linear_extrude(height = t, center = false, convexity = 2)
|
||||
linear_extrude(t, center = false, convexity = 2)
|
||||
poly_ring(or, ir);
|
||||
|
||||
if($children)
|
||||
|
@ -53,7 +53,7 @@ module ziptie(type, r, t = 0) //! Draw specified ziptie wrapped around radius ``
|
||||
vitamin(str("ziptie(", type[0], ", ", r, "): Ziptie ", width, "mm x ", len, "mm min length"));
|
||||
|
||||
color(ziptie_colour(type)){
|
||||
linear_extrude(height = width, center = true)
|
||||
linear_extrude(width, center = true)
|
||||
difference() {
|
||||
rounded_polygon(outside_path, tangents);
|
||||
rounded_polygon(inside_path);
|
||||
|
Loading…
Reference in New Issue
Block a user