mirror of
https://github.com/nophead/NopSCADlib.git
synced 2025-09-14 17:02:40 +02:00
Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
5579c0d988 | ||
|
67408f8422 | ||
|
929abbefda | ||
|
c7727e7106 | ||
|
1dbba5a650 | ||
|
db2a9a8a24 | ||
|
6ced9c871c | ||
|
d6b00fbf57 | ||
|
2c996bb7a1 | ||
|
dbd3004021 |
@@ -3,6 +3,11 @@
|
||||
This changelog is generated by `changelog.py` using manually added semantic version tags to classify commits as breaking changes, additions or fixes.
|
||||
|
||||
|
||||
### [v21.16.0](https://github.com/nophead/NopSCADlib/releases/tag/v21.16.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v21.15.0...v21.16.0 "diff with v21.15.0")
|
||||
* 2024-02-19 [`fdb92ec`](https://github.com/nophead/NopSCADlib/commit/fdb92ec263d60a42e04f06abfeec5e1648a12b6b "show commit") [C.P.](# "Chris Palmer") Improved layout to fit into front page view.
|
||||
|
||||
* 2024-02-18 [`f6404b9`](https://github.com/nophead/NopSCADlib/commit/f6404b939f714b3121dc6e9737cc24f3b9c64ebb "show commit") [J.R.](# "Jeroen Roos") Added T-Tracks and accessories
|
||||
|
||||
### [v21.15.0](https://github.com/nophead/NopSCADlib/releases/tag/v21.15.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v21.14.0...v21.15.0 "diff with v21.14.0")
|
||||
* 2024-02-19 [`30c67e7`](https://github.com/nophead/NopSCADlib/commit/30c67e742bb3603fa41b41e1a144989947e58ad7 "show commit") [C.P.](# "Chris Palmer") Updated the front page image.
|
||||
|
||||
|
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -383,9 +383,3 @@ module camera_housing(cam) {
|
||||
rotate(90)
|
||||
camera_bracket(cam);
|
||||
}
|
||||
|
||||
cam = rpi_camera_v2;
|
||||
if($preview)
|
||||
camera_fastened_assembly(cam, 3);
|
||||
else
|
||||
camera_housing(cam);
|
||||
|
@@ -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 |
|
||||
|
@@ -63,5 +63,5 @@ def source_dirs(bom_dir):
|
||||
else:
|
||||
if dir.endswith('/printed'):
|
||||
lib_dirs.add(dir)
|
||||
dirs.remove(source_dir)
|
||||
dirs.discard(source_dir)
|
||||
return [source_dir] + sorted(dirs) + sorted(lib_dirs)
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 83 KiB |
Binary file not shown.
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 70 KiB |
@@ -17,7 +17,7 @@
|
||||
// If not, see <https://www.gnu.org/licenses/>.
|
||||
//
|
||||
wire_r = 5; // [1 : 20]
|
||||
t = 0; // [0 : 3]
|
||||
t = -1; // [-1 : 3]
|
||||
|
||||
include <../utils/core/core.scad>
|
||||
use <../utils/layout.scad>
|
||||
@@ -26,9 +26,9 @@ include <../vitamins/zipties.scad>
|
||||
|
||||
module zipties()
|
||||
layout([for(z = zipties) 9], 2 * wire_r) {
|
||||
ziptie(zipties[$i], wire_r, t);
|
||||
ziptie(zipties[$i], wire_r, max(t, 0));
|
||||
|
||||
if(t)
|
||||
if(t >= 0)
|
||||
color(grey(20))
|
||||
cylinder(r = wire_r, h = 10, center = true);
|
||||
|
||||
|
@@ -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))
|
||||
|
@@ -67,7 +67,8 @@ rpi_camera = ["rpi_camera", "Raspberry Pi focusable camera", rpi_camera_pcb, [0,
|
||||
[[0, 0, 12], 6],
|
||||
[[0, 11, 4.3], 14 / 2, [8/2, 11/2, 1]],
|
||||
],
|
||||
[0, 18 - 1.5 - 2.5], [8, 5, 1.6]
|
||||
[0, 18 - 1.5 - 2.5], [8, 5, 1.6],
|
||||
[54, 41] // FOV
|
||||
];
|
||||
|
||||
esp32_cam_x = 1; // Seems to vary as mine is offset but pictures on the web show it more centered.
|
||||
@@ -96,7 +97,7 @@ ESP32_module = ["", "", 18, 26, 0.8, 0, 0.7, [1.1, 1.1, 0, gold], grey(18), f
|
||||
ESP32_CAM_pcb = ["", "", 27, 40, 1.7, 2.5, 0, 0, grey(15), false, [],
|
||||
[
|
||||
[27 / 2, 26 / 2, 0, "-pcb", 0, ESP32_module],
|
||||
for(side = [-1, 1]) [side * inch(0.45) + 27 / 2, -(4.2 + inch(.35)), 0, "-2p54header", 1, 8],
|
||||
for(side = [-1, 1]) [side * inch(0.45) + 27 / 2, -(4.2 + inch(.35)), 0, "-2p54joiner", 1, 8],
|
||||
[ 27 / 2, -8, 90, "uSD", [14.85, 14.65, 1.8]],
|
||||
[ 27 / 2 + 1, 15, 0, "flat_flex", false],
|
||||
[ 27 / 2 + inch(0.45), 10.5, 0, "block", 3, 3, 0.8, grey(90)],
|
||||
@@ -151,7 +152,7 @@ ESP32_CAM = ["ESP32_CAM", "ESP32-CAM Camera module", ESP32_CAM_pcb, [esp32_cam_x
|
||||
[[0, 0, 6.3], 3.5, [1, 1, 0.5]],
|
||||
],
|
||||
[1, -4], [15, 2.2, 1],
|
||||
[54, 41] // FOV
|
||||
[41, 54] // FOV
|
||||
];
|
||||
|
||||
|
||||
|
@@ -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);
|
||||
|
||||
|
@@ -730,7 +730,6 @@ Keyes5p1 = ["Keyes5p1", "Keyes5.1 Arduino Uno expansion board", 68.58, 53.34, 1.
|
||||
M2p5_pan_screw
|
||||
];
|
||||
|
||||
|
||||
ExtruderPCB = ["ExtruderPCB", "Extruder connection PCB",
|
||||
33.02, 24.13, 1.6, 0, 0, 0, "green", true, [],
|
||||
[[3 * 1.27, 24.13 / 2, 90, "D_plug", DCONN15],
|
||||
@@ -1197,7 +1196,6 @@ ESP_12F = pcb("ESP_12F", "ESP-12F ESP8266 WiFi module", [24, 16, 0.8],
|
||||
]
|
||||
);
|
||||
|
||||
|
||||
tiny_buck = pcb("tiny_buck", "Ultra Small 3A buck regulator", [20, 11, 1.6],
|
||||
hole_d = 1.2,
|
||||
land_d = [2, 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