mirror of
https://github.com/nophead/NopSCADlib.git
synced 2025-09-21 04:31:30 +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,7 +494,8 @@ module box_shelf_screw_positions(type, screw_positions, thickness = 0, wall = un
|
||||
for(p = screw_positions)
|
||||
multmatrix(p)
|
||||
translate_z(thickness)
|
||||
children();
|
||||
let($horizontal = true)
|
||||
children();
|
||||
|
||||
r = box_boss_r(type);
|
||||
inset = box_intrusion(type) - r + (r + insert_boss_radius(insert, w) + bezel_clearance / 2) / sqrt(2);
|
||||
@@ -503,10 +504,11 @@ module box_shelf_screw_positions(type, screw_positions, thickness = 0, wall = un
|
||||
for(x = [-1, 1], y = [-1, 1])
|
||||
translate([x * (box_width(type) / 2 - inset), y * (box_depth(type) / 2 - inset)])
|
||||
rotate(45 * x * (2 + y))
|
||||
children();
|
||||
let($horizontal = false)
|
||||
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;
|
||||
insert = box_shelf_insert(type);
|
||||
lip = 2 * insert_boss_radius(insert, w);
|
||||
@@ -561,9 +563,13 @@ module box_shelf_bracket(type, screw_positions, wall = undef) { //! Generates a
|
||||
children(0);
|
||||
}
|
||||
|
||||
hflip()
|
||||
hflip() {
|
||||
box_shelf_screw_positions(type, screw_positions, 0, w)
|
||||
boss();
|
||||
|
||||
if($children > 2)
|
||||
children(2);
|
||||
}
|
||||
}
|
||||
if($children > 1)
|
||||
hflip()
|
||||
@@ -571,7 +577,7 @@ module box_shelf_bracket(type, screw_positions, wall = undef) { //! Generates a
|
||||
|
||||
hflip()
|
||||
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_pcb(type)` | The PCB part of the camera |
|
||||
|
||||
### Functions
|
||||
| Function | Description |
|
||||
|:--- |:--- |
|
||||
| `camera_lens_height(type)` | The height of the lens stack |
|
||||
|
||||
### Modules
|
||||
| Module | Description |
|
||||
|:--- |:--- |
|
||||
@@ -982,6 +987,7 @@ D-connectors. Can be any number of ways, male or female, solder buckets, PCB mou
|
||||
| Module | Description |
|
||||
|:--- |:--- |
|
||||
| `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_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 |
|
||||
@@ -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(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(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(DiBond6, 30, 30, 2)` | Sheet DiBond 30mm x 30mm x 6mm |
|
||||
| 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_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_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_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 |
|
||||
|
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_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
|
||||
color(grey(20))
|
||||
translate(camera_lens_offset(type))
|
||||
|
@@ -80,6 +80,13 @@ module d_plug_D(length, width, rad) { //! D plug D shape
|
||||
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
|
||||
hole_r = 3.05 / 2;
|
||||
dwall = 0.5;
|
||||
@@ -106,7 +113,7 @@ module d_plug(type, socket = false, pcb = false, idc = false) { //! Draw specifi
|
||||
// Shell
|
||||
//
|
||||
color(d_plug_shell_colour) {
|
||||
linear_extrude( d_flange_thickness(type))
|
||||
linear_extrude(d_flange_thickness(type))
|
||||
difference() {
|
||||
rounded_square([flange_length, flange_width], 2);
|
||||
|
||||
|
@@ -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];
|
||||
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];
|
||||
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];
|
||||
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];
|
||||
@@ -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,
|
||||
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>
|
||||
|
Reference in New Issue
Block a user