mirror of
https://github.com/nophead/NopSCADlib.git
synced 2025-09-27 15:39:04 +02:00
Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
5579c0d988 | ||
|
67408f8422 | ||
|
929abbefda | ||
|
c7727e7106 | ||
|
1dbba5a650 |
BIN
libtest.png
BIN
libtest.png
Binary file not shown.
Before Width: | Height: | Size: 1000 KiB After Width: | Height: | Size: 1001 KiB |
@@ -494,6 +494,7 @@ module box_shelf_screw_positions(type, screw_positions, thickness = 0, wall = un
|
|||||||
for(p = screw_positions)
|
for(p = screw_positions)
|
||||||
multmatrix(p)
|
multmatrix(p)
|
||||||
translate_z(thickness)
|
translate_z(thickness)
|
||||||
|
let($horizontal = true)
|
||||||
children();
|
children();
|
||||||
|
|
||||||
r = box_boss_r(type);
|
r = box_boss_r(type);
|
||||||
@@ -503,10 +504,11 @@ module box_shelf_screw_positions(type, screw_positions, thickness = 0, wall = un
|
|||||||
for(x = [-1, 1], y = [-1, 1])
|
for(x = [-1, 1], y = [-1, 1])
|
||||||
translate([x * (box_width(type) / 2 - inset), y * (box_depth(type) / 2 - inset)])
|
translate([x * (box_width(type) / 2 - inset), y * (box_depth(type) / 2 - inset)])
|
||||||
rotate(45 * x * (2 + y))
|
rotate(45 * x * (2 + y))
|
||||||
|
let($horizontal = false)
|
||||||
children();
|
children();
|
||||||
}
|
}
|
||||||
|
|
||||||
module box_shelf_bracket(type, screw_positions, wall = undef) { //! Generates a shelf bracket, the first optional child is a 2D cutout and the second 3D cutouts
|
module box_shelf_bracket(type, screw_positions, wall = undef) { //! Generates a shelf bracket, the first optional child is a 2D cutout and the second 3D cutouts, third child is 3D additions.
|
||||||
w = is_undef(wall) ? box_wall(type) : wall;
|
w = is_undef(wall) ? box_wall(type) : wall;
|
||||||
insert = box_shelf_insert(type);
|
insert = box_shelf_insert(type);
|
||||||
lip = 2 * insert_boss_radius(insert, w);
|
lip = 2 * insert_boss_radius(insert, w);
|
||||||
@@ -561,9 +563,13 @@ module box_shelf_bracket(type, screw_positions, wall = undef) { //! Generates a
|
|||||||
children(0);
|
children(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
hflip()
|
hflip() {
|
||||||
box_shelf_screw_positions(type, screw_positions, 0, w)
|
box_shelf_screw_positions(type, screw_positions, 0, w)
|
||||||
boss();
|
boss();
|
||||||
|
|
||||||
|
if($children > 2)
|
||||||
|
children(2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if($children > 1)
|
if($children > 1)
|
||||||
hflip()
|
hflip()
|
||||||
@@ -571,7 +577,7 @@ module box_shelf_bracket(type, screw_positions, wall = undef) { //! Generates a
|
|||||||
|
|
||||||
hflip()
|
hflip()
|
||||||
box_shelf_screw_positions(type, screw_positions, 0, w)
|
box_shelf_screw_positions(type, screw_positions, 0, w)
|
||||||
insert_hole(insert, counterbore = 1, horizontal = true);
|
insert_hole(insert, counterbore = 1, horizontal = $horizontal);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -779,6 +779,11 @@ PCB cameras.
|
|||||||
| `camera_lens_offset(type)` | Offset of the lens center from the PCB centre |
|
| `camera_lens_offset(type)` | Offset of the lens center from the PCB centre |
|
||||||
| `camera_pcb(type)` | The PCB part of the camera |
|
| `camera_pcb(type)` | The PCB part of the camera |
|
||||||
|
|
||||||
|
### Functions
|
||||||
|
| Function | Description |
|
||||||
|
|:--- |:--- |
|
||||||
|
| `camera_lens_height(type)` | The height of the lens stack |
|
||||||
|
|
||||||
### Modules
|
### Modules
|
||||||
| Module | Description |
|
| Module | Description |
|
||||||
|:--- |:--- |
|
|:--- |:--- |
|
||||||
@@ -982,6 +987,7 @@ D-connectors. Can be any number of ways, male or female, solder buckets, PCB mou
|
|||||||
| Module | Description |
|
| Module | Description |
|
||||||
|:--- |:--- |
|
|:--- |:--- |
|
||||||
| `d_connector_holes(type)` | Place children at the screw hole positions |
|
| `d_connector_holes(type)` | Place children at the screw hole positions |
|
||||||
|
| `d_hole(type, h = 0, center = true, clearance = 0.2)` | Make a hole to clear the back of d-connector |
|
||||||
| `d_pillar()` | Draw a pillar for a D-connector |
|
| `d_pillar()` | Draw a pillar for a D-connector |
|
||||||
| `d_plug(type, socket = false, pcb = false, idc = false)` | Draw specified D plug, which can be IDC, PCB or plain solder bucket |
|
| `d_plug(type, socket = false, pcb = false, idc = false)` | Draw specified D plug, which can be IDC, PCB or plain solder bucket |
|
||||||
| `d_plug_D(length, width, rad)` | D plug D shape |
|
| `d_plug_D(length, width, rad)` | D plug D shape |
|
||||||
@@ -4033,6 +4039,7 @@ When woven sheets (e.g. carbon fibre) are rendered it is necessary to specify th
|
|||||||
| 1 | `sheet(Spring08, 30, 30, 2)` | Bi-metal saw blade 30mm x 30mm x 0.8mm |
|
| 1 | `sheet(Spring08, 30, 30, 2)` | Bi-metal saw blade 30mm x 30mm x 0.8mm |
|
||||||
| 1 | `sheet(Cardboard, 30, 30, 2)` | Corrugated cardboard 30mm x 30mm x 5mm |
|
| 1 | `sheet(Cardboard, 30, 30, 2)` | Corrugated cardboard 30mm x 30mm x 5mm |
|
||||||
| 1 | `sheet(Foam20, 30, 30, 2)` | Foam sponge 30mm x 30mm x 20mm |
|
| 1 | `sheet(Foam20, 30, 30, 2)` | Foam sponge 30mm x 30mm x 20mm |
|
||||||
|
| 1 | `sheet(Sellotape, 30, 30, 2)` | Sellotape tape 30mm x 30mm x 0.05mm |
|
||||||
| 1 | `sheet(DiBond, 30, 30, 2)` | Sheet DiBond 30mm x 30mm x 3mm |
|
| 1 | `sheet(DiBond, 30, 30, 2)` | Sheet DiBond 30mm x 30mm x 3mm |
|
||||||
| 1 | `sheet(DiBond6, 30, 30, 2)` | Sheet DiBond 30mm x 30mm x 6mm |
|
| 1 | `sheet(DiBond6, 30, 30, 2)` | Sheet DiBond 30mm x 30mm x 6mm |
|
||||||
| 1 | `sheet(MDF10, 30, 30, 2)` | Sheet MDF 30mm x 30mm x 10mm |
|
| 1 | `sheet(MDF10, 30, 30, 2)` | Sheet MDF 30mm x 30mm x 10mm |
|
||||||
@@ -5199,7 +5206,7 @@ The top bezel can have an optional child, which is subtracted to allow modificat
|
|||||||
| `box_right(type)` | Default right side, can be overridden to customise |
|
| `box_right(type)` | Default right side, can be overridden to customise |
|
||||||
| `box_right_blank(type, sheet = false)` | Generates a 2D template for the right sheet, `sheet` can be set to override the type |
|
| `box_right_blank(type, sheet = false)` | Generates a 2D template for the right sheet, `sheet` can be set to override the type |
|
||||||
| `box_shelf_blank(type, sheet = false, wall = undef)` | Generates a 2D template for a shelf sheet |
|
| `box_shelf_blank(type, sheet = false, wall = undef)` | Generates a 2D template for a shelf sheet |
|
||||||
| `box_shelf_bracket(type, screw_positions, wall = undef)` | Generates a shelf bracket, the first optional child is a 2D cutout and the second 3D cutouts |
|
| `box_shelf_bracket(type, screw_positions, wall = undef)` | Generates a shelf bracket, the first optional child is a 2D cutout and the second 3D cutouts, third child is 3D additions. |
|
||||||
| `box_shelf_bracket_section(type, rows, cols, x, y)` | Generates sections of the shelf bracket to allow it to be bigger than the printer |
|
| `box_shelf_bracket_section(type, rows, cols, x, y)` | Generates sections of the shelf bracket to allow it to be bigger than the printer |
|
||||||
| `box_shelf_screw_positions(type, screw_positions, thickness = 0, wall = undef, top_screws = true)` | Place children at the shelf screw positions |
|
| `box_shelf_screw_positions(type, screw_positions, thickness = 0, wall = undef, top_screws = true)` | Place children at the shelf screw positions |
|
||||||
| `box_top(type)` | Default top, can be overridden to customise |
|
| `box_top(type)` | Default top, can be overridden to customise |
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 70 KiB |
@@ -30,6 +30,9 @@ function camera_connector_pos(type) = type[5]; //! The flex connector block for
|
|||||||
function camera_connector_size(type)= type[6]; //! The flex connector block for the camera itself's size
|
function camera_connector_size(type)= type[6]; //! The flex connector block for the camera itself's size
|
||||||
function camera_fov(type) = type[7]; //! The field of view of the camera lens
|
function camera_fov(type) = type[7]; //! The field of view of the camera lens
|
||||||
|
|
||||||
|
function camera_lens_height(type) = //! The height of the lens stack
|
||||||
|
let(lenses = camera_lens(type), lens = lenses[len(lenses) - 1][0]) lens.y + lens.z;
|
||||||
|
|
||||||
module camera_lens(type, offset = 0, show_lens = true) //! Draw the lens stack, with optional offset for making a clearance hole
|
module camera_lens(type, offset = 0, show_lens = true) //! Draw the lens stack, with optional offset for making a clearance hole
|
||||||
color(grey(20))
|
color(grey(20))
|
||||||
translate(camera_lens_offset(type))
|
translate(camera_lens_offset(type))
|
||||||
|
@@ -80,6 +80,13 @@ module d_plug_D(length, width, rad) { //! D plug D shape
|
|||||||
circle(rad);
|
circle(rad);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module d_hole(type, h = 0, center = true, clearance = 0.2) { //! Make a hole to clear the back of d-connector
|
||||||
|
dwall = 0.5 + clearance;
|
||||||
|
|
||||||
|
extrude_if(h, center)
|
||||||
|
d_plug_D(d_lengths(type)[0] + 2 * dwall, d_widths(type)[0] + 2 * dwall, 2.5 + dwall);
|
||||||
|
}
|
||||||
|
|
||||||
module d_plug(type, socket = false, pcb = false, idc = false) { //! Draw specified D plug, which can be IDC, PCB or plain solder bucket
|
module d_plug(type, socket = false, pcb = false, idc = false) { //! Draw specified D plug, which can be IDC, PCB or plain solder bucket
|
||||||
hole_r = 3.05 / 2;
|
hole_r = 3.05 / 2;
|
||||||
dwall = 0.5;
|
dwall = 0.5;
|
||||||
|
@@ -44,6 +44,7 @@ DiBond = [ "DiBond", "Sheet DiBond", 3, [0.2, 0.2, 0.2, 1 ],
|
|||||||
DiBond6 = [ "DiBond6", "Sheet DiBond", 6, [0.2, 0.2, 0.2, 1 ], false];
|
DiBond6 = [ "DiBond6", "Sheet DiBond", 6, [0.2, 0.2, 0.2, 1 ], false];
|
||||||
Cardboard = [ "Cardboard", "Corrugated cardboard", 5, [0.8, 0.6, 0.3, 1 ], false];
|
Cardboard = [ "Cardboard", "Corrugated cardboard", 5, [0.8, 0.6, 0.3, 1 ], false];
|
||||||
FoilTape = [ "FoilTape", "Aluminium foil tape", 0.05,[0.9, 0.9, 0.9, 1 ], false];
|
FoilTape = [ "FoilTape", "Aluminium foil tape", 0.05,[0.9, 0.9, 0.9, 1 ], false];
|
||||||
|
Sellotape = [ "Sellotape", "Sellotape tape", 0.05,[1, 1, 0.9, 0.5 ], false];
|
||||||
Foam20 = [ "Foam20", "Foam sponge", 20,[0.3, 0.3, 0.3, 1 ], true];
|
Foam20 = [ "Foam20", "Foam sponge", 20,[0.3, 0.3, 0.3, 1 ], true];
|
||||||
AL1_6 = [ "AL1_6", "Aluminium tooling plate", 1.6, [0.5, 0.5, 0.5, 0.5], false];
|
AL1_6 = [ "AL1_6", "Aluminium tooling plate", 1.6, [0.5, 0.5, 0.5, 0.5], false];
|
||||||
AL2 = [ "AL2", "Aluminium tooling plate", 2, [0.9, 0.9, 0.9, 1 ], false];
|
AL2 = [ "AL2", "Aluminium tooling plate", 2, [0.9, 0.9, 0.9, 1 ], false];
|
||||||
@@ -59,6 +60,6 @@ CF3 = [ "CF3", "Sheet carbon fiber", 3, grey(35),
|
|||||||
|
|
||||||
|
|
||||||
sheets = [CF1, CF2, CF3, MDF3, MDF6, MDF10, MDF12, MDF19, MDF22, PMMA1p25, PMMA2, PMMA3, PMMA6, PMMA8, PMMA10,
|
sheets = [CF1, CF2, CF3, MDF3, MDF6, MDF10, MDF12, MDF19, MDF22, PMMA1p25, PMMA2, PMMA3, PMMA6, PMMA8, PMMA10,
|
||||||
glass2, DiBond, DiBond6, Cardboard, FoilTape, AL1_6, AL2, AL3, AL6, AL8, Steel06, Spring08, Silicone3, Foam20];
|
glass2, DiBond, DiBond6, Cardboard, FoilTape, Sellotape, AL1_6, AL2, AL3, AL6, AL8, Steel06, Spring08, Silicone3, Foam20];
|
||||||
|
|
||||||
use <sheet.scad>
|
use <sheet.scad>
|
||||||
|
Reference in New Issue
Block a user