1
0
mirror of https://github.com/nophead/NopSCADlib.git synced 2025-09-22 13:11:31 +02:00

Compare commits

...

6 Commits

Author SHA1 Message Date
Chris Palmer
5a1b06fbb9 Merge branch 'martinbudden-BTT_SKR_MINI_E3_V2_0' 2021-01-24 11:20:37 +00:00
Chris Palmer
fd174bbfb4 Updated readme and images. 2021-01-24 11:20:01 +00:00
Chris Palmer
186f31bb09 Merge branch 'BTT_SKR_MINI_E3_V2_0' of https://github.com/martinbudden/NopSCADlib into martinbudden-BTT_SKR_MINI_E3_V2_0 2021-01-24 10:59:03 +00:00
Martin Budden
80f0490d58 Added BTT_SKR_MINI_E3_V2_0 pcb. 2021-01-24 10:55:49 +00:00
Chris Palmer
c9e9942070 Fixed some paths that used NopSCADlib instead of .. 2021-01-23 21:15:00 +00:00
Chris Palmer
e41366e20c Added explicit error message when tmp.png is not generated as expected.
Prints a newline after test runs rather than before.
2021-01-21 12:49:48 +00:00
7 changed files with 117 additions and 15 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 868 KiB

After

Width:  |  Height:  |  Size: 875 KiB

View File

@@ -21,8 +21,8 @@
//! Creative Commons - Attribution - Share Alike license (see <https://creativecommons.org/licenses/by-sa/3.0/>)
//
include <NopSCADlib/core.scad>
include <NopSCADlib/vitamins/pulleys.scad>
include <../core.scad>
include <../vitamins/pulleys.scad>
printed_pulley_GT2_profile = [[0.747183,-0.5],[0.747183,0],[0.647876,0.037218],[0.598311,0.130528],[0.578556,0.238423],[0.547158,0.343077],[0.504649,0.443762],[0.451556,0.53975],[0.358229,0.636924],[0.2484,0.707276],[0.127259,0.750044],[0,0.76447],[-0.127259,0.750044],[-0.2484,0.707276],[-0.358229,0.636924],[-0.451556,0.53975],[-0.504797,0.443762],[-0.547291,0.343077],[-0.578605,0.238423],[-0.598311,0.130528],[-0.648009,0.037218],[-0.747183,0],[-0.747183,-0.5]];

View File

@@ -2305,6 +2305,7 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
| ---:|:--- |:---|
| 1 | `pcb(ArduinoLeonardo)` | Arduino Leonardo |
| 1 | `pcb(ArduinoUno3)` | Arduino Uno R3 |
| 1 | `pcb(BTT_SKR_MINI_E3_V2_0)` | BigTreeTech SKR Mini E3 v2.0 |
| 1 | `pcb(BTT_SKR_V1_4_TURBO)` | BigTreeTech SKR v1.4 Turbo |
| 1 | | Cat 5 patch cable 300mm |
| 1 | `d_plug(DCONN15, pcb = true)` | D-type 15 way PCB mount plug |
@@ -2324,10 +2325,10 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
| 1 | `molex_254(3)` | Molex KK header 3 way |
| 16 | `nut(M2_nut, nyloc = true)` | Nut M2 x 1.6mm nyloc |
| 34 | `nut(M2p5_nut, nyloc = true)` | Nut M2.5 x 2.2mm nyloc |
| 16 | `nut(M3_nut, nyloc = true)` | Nut M3 x 2.4mm nyloc |
| 17 | `nut(M3_nut, nyloc = true)` | Nut M3 x 2.4mm nyloc |
| 8 | `nut(M4_nut, nyloc = true)` | Nut M4 x 3.2mm nyloc |
| 1 | `pcb(PI_IO)` | PI_IO V2 |
| 1 | `pcb(PSU12V1A)` | PSU 12V 1A |
| 1 | `pcb(PSU12V1A)` | PSU 12V 1A - not shown |
| 1 | `pcb(PERF60x40)` | Perfboard 60 x 40mm |
| 1 | `pcb(PERF70x30)` | Perfboard 70 x 30mm |
| 1 | `pcb(PERF70x50)` | Perfboard 70 x 50mm |
@@ -2346,8 +2347,8 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
| 12 | `screw(M2p5_pan_screw, 25)` | Screw M2.5 pan x 25mm |
| 4 | `screw(M2p5_pan_screw, 30)` | Screw M2.5 pan x 30mm |
| 4 | `screw(M3_cap_screw, 16)` | Screw M3 cap x 16mm |
| 8 | `screw(M3_cap_screw, 30)` | Screw M3 cap x 30mm |
| 4 | `screw(M3_cap_screw, 35)` | Screw M3 cap x 35mm |
| 4 | `screw(M3_cap_screw, 30)` | Screw M3 cap x 30mm |
| 9 | `screw(M3_cap_screw, 35)` | Screw M3 cap x 35mm |
| 8 | `screw(M4_cap_screw, 35)` | Screw M4 cap x 35mm |
| 1 | `pcb(TP4056)` | TP4056 Li-lon Battery charger module |
| 3 | `terminal_35(2)` | Terminal block 2 way 3.5mm |
@@ -2356,7 +2357,7 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
| 1 | `pcb(WD2002SJ)` | WD2002SJ Buck Boost DC-DC converter |
| 16 | `washer(M2_washer)` | Washer M2 x 5mm x 0.3mm |
| 34 | `washer(M2p5_washer)` | Washer M2.5 x 5.9mm x 0.5mm |
| 16 | `washer(M3_washer)` | Washer M3 x 7mm x 0.5mm |
| 17 | `washer(M3_washer)` | Washer M3 x 7mm x 0.5mm |
| 8 | `washer(M4_washer)` | Washer M4 x 9mm x 0.8mm |
| 1 | `pcb(ZC_A0591)` | ZC-A0591 ULN2003 driver PCB |
@@ -2373,11 +2374,11 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
| 4 | pcb_spacer25150_2.stl |
| 4 | pcb_spacer25160_2.stl |
| 4 | pcb_spacer25170_2.stl |
| 4 | pcb_spacer25190.stl |
| 4 | pcb_spacer25200.stl |
| 4 | pcb_spacer25210.stl |
| 2 | pcb_spacer2580.stl |
| 4 | pcb_spacer30180.stl |
| 4 | pcb_spacer30190.stl |
| 5 | pcb_spacer30210.stl |
| 4 | pcb_spacer30220.stl |
| 4 | pcb_spacer3050.stl |
| 4 | pcb_spacer40230.stl |

View File

@@ -50,6 +50,9 @@ def do_cmd(cmd, output = sys.stdout):
return subprocess.call(cmd, stdout = output, stderr = output)
def compare_images(a, b, c):
if not os.path.isfile(b):
print(Fore.MAGENTA + "Failed to generate %s while making %s" % (b, a), Fore.WHITE)
sys.exit(1)
if not os.path.isfile(a):
return -1
log_name = 'magick.log'
@@ -126,14 +129,13 @@ def tests(tests):
#
# List of individual part files
#
scads = [i for i in sorted(os.listdir(scad_dir), key = lambda s: s.lower()) if i[-5:] == ".scad"]
types = []
for scad in scads:
base_name = scad[:-5]
if not tests or base_name in tests:
done.append(base_name)
print('\n'+base_name)
print(base_name)
cap_name = base_name[0].capitalize() + base_name[1:]
base_name = base_name.lower()
scad_name = scad_dir + '/' + scad
@@ -240,6 +242,7 @@ def tests(tests):
BOM = bom.parse_bom()
with open(bom_name, 'wt') as outfile:
json.dump(BOM.flat_data(), outfile, indent = 4)
print()
with open(bom_name, "rt") as bom_file:
BOM = json.load(bom_file)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

After

Width:  |  Height:  |  Size: 153 KiB

View File

@@ -21,7 +21,7 @@
//! Draw a 3D right triangle with rounded edges. Intended to be embedded in other parts. Can be optionally offset by the filleted amount.
//
include <../utils/core/core.scad>
include <NopSCADlib/utils/core/rounded_rectangle.scad>
include <..//utils/core/rounded_rectangle.scad>
module rounded_right_triangle(x, y, z, fillet, center = true, offset = false) { //! Draw a 3D right triangle with rounded edges.
fillet = max(fillet, eps);
@@ -43,4 +43,3 @@ module rounded_right_triangle(x, y, z, fillet, center = true, offset = false) {
rounded_rectangle([size.z, 2 * fillet, eps], fillet - eps, center = false, xy_center = false);
}
}

View File

@@ -196,6 +196,105 @@ Duex5 = ["Duex5", "Duex5 expansion board",
]),
[]];
BTT_SKR_MINI_E3_V2_0 = [
"BTT_SKR_MINI_E3_V2_0", "BigTreeTech SKR Mini E3 v2.0",
100.75, 70.25, 1.6, // size
1, // corner radius
3, // mounting hole diameter
5, // pad around mounting hole
grey(30), // color
false, // true if parts should be separate BOM items
[ // hole positions
[ 19.3, -2.89 ],
[ 19.3 + 62.15, -2.89 ],
[ 2.535, -2.89 - 34.98 ],
[ 2.535 + 31.80, -2.89 - 37.63 ],
[ 2.535 + 95.68, -2.89 - 64.47 ]
],
[ // components
// cpu
[ 55, 33, 0, "chip", 10, 10, 1, grey(15) ],
// hotend and heated bed
[ 26, 16, 0, "chip", 9.5, 8.5, 4, grey(15) ],
[ 37, 14, 0, "chip", 6, 6, 2.5, grey(15) ],
// driver chips
[ 10.5,-17.5, 0, "chip", 5, 5, 1, grey(15) ],
[ 30.5,-17.5, 0, "chip", 5, 5, 1, grey(15) ],
[ 50.5,-17.5, 0, "chip", 5, 5, 1, grey(15) ],
[ 70.5,-17.5, 0, "chip", 5, 5, 1, grey(15) ],
// heat dissipation under board
[ 43, -17.5, 0, "-block", 85, 8, 0.1, gold ],
[ 40, 16, 0, "-block", 10, 8, 0.1, gold ],
[ 27, 19, 0, "-block", 13,14, 0.1, gold ],
[ 12, 28.5, 0, "-block", 11, 7, 0.1, gold ],
// mock up heat sinks over the chips
[ 10.5, -17.5, 0, "chip", 9, 8.5, 2, "DeepSkyBlue" ],
for(x = [10.5], y = [-4,-2,0,2,4]) [ x, -17.5 + y, 0, "chip", 9, 0.75, 11, "DeepSkyBlue" ],
[ 30.5, -17.5, 0, "chip", 9, 8.5, 2, "DeepSkyBlue" ],
for(x = [30.5], y = [-4,-2,0,2,4]) [ x, -17.5 + y, 0, "chip", 9, 0.75, 11, "DeepSkyBlue" ],
[ 50.5, -17.5, 0, "chip", 9, 8.5, 2, "DeepSkyBlue" ],
for(x = [50.5], y = [-4,-2,0,2,4]) [ x, -17.5 + y, 0, "chip", 9, 0.75, 11, "DeepSkyBlue" ],
[ 70.5, -17.5, 0, "chip", 9, 8.5, 2, "DeepSkyBlue" ],
for(x = [70.5], y = [-4,-2,0,2,4]) [ x, -17.5 + y, 0, "chip", 9, 0.75, 11, "DeepSkyBlue" ],
// terminals
[ 5.25, 5.3, 180, "gterm", gt_5x17, 2, undef, grey(20) ],
[ 18.1, 5.1, -90, "gterm", gt_5x17, 2, undef, grey(20) ],
[ 29.3, 5.1, -90, "gterm", gt_5x17, 2, undef, grey(20) ],
[ 40.5, 5.1, -90, "gterm", gt_5x11, 2, undef, grey(20) ],
// SD and USB
[ -3, -(22.27 + 29.92)/2, 0, "usb_uA" ],
[ -8, -( 2.13 + 17.17)/2, 0, "uSD", [17.17 - 2.13, 16, 2] ],
// EXP
[ -4.5, 17, -90, "2p54boxhdr", 5, 2 ],
// TFT
[ 66.1, 21.7, 0, "2p54header", 5, 1 ],
// FAN0
[ 50.25, 3.8, 0, "jst_xh", 2, false, grey(20) ],
// FAN1
[ 49.9, 16.1, 0, "jst_xh", 2, false, grey(20) ],
// PS-ON
[ 58.1, 16.1, 0, "jst_xh", 2, false, grey(20) ],
// PWR-DET
[ 67.5, 16.0, 0, "jst_xh", 3, false, grey(20) ],
// E0-STOP
[ 78.2, 16.0, 0, "jst_xh", 3, false, grey(20) ],
// Z-PROBE
[ 87.2, 20.5, -90,"jst_xh", 5, false, grey(20) ],
// NEO Pixel
[ 78.2, 27.1, 0, "jst_xh", 3, false, grey(20) ],
// end stops
[ 58.60, 3.8, 0, "jst_xh", 2, false, grey(20) ],
[ 66.70, 3.8, 0, "jst_xh", 2, false, grey(20) ],
[ 74.90, 3.8, 0, "jst_xh", 2, false, grey(20) ],
// thermistors
[ 83.00, 3.8, 0, "jst_xh", 2, false, grey(20) ],
[ 91.10, 3.8, 0, "jst_xh", 2, false, grey(20) ],
// motor connections
[ 10.15, -4.2, 0, "jst_xh", 4, false, grey(20) ],
[ 30.35, -4.2, 0, "jst_xh", 4, false, grey(20) ],
[ 43.90, -4.2, 0, "jst_xh", 4, false, grey(20) ],
[ 57.25, -4.2, 0, "jst_xh", 4, false, grey(20) ],
[ 70.75, -4.2, 0, "jst_xh", 4, false, grey(20) ],
// motor jumpers
[ 20.6, 44.1, 0, "2p54header", 2, 1 ],
[ 39.6, 44.2, 0, "2p54header", 2, 1 ],
[ 60.1, 44.1, 0, "2p54header", 2, 1 ],
[ 80.3, 44.1, 0, "2p54header", 2, 1 ],
// SWD
[ 43.9, 39.2, 0, "2p54header", 1, 5 ],
// SPI
[ -3.1, 31.9, 0, "2p54header", 2, 3 ],
// PWR-1
[ -12.8, 30.3, 0, "2p54header", 3, 1 ],
// VOUT
[ -14.0, 34.4, 0, "2p54header", 2, 2 ],
// VIN
[ 17.3, 19.6, 0, "2p54header", 2, 2 ],
],
[] // accessories
];
TMC2130 = [
"TMC2130", "TMC2130",
20, 14, 1.6, // size
@@ -558,9 +657,9 @@ ESP_01 = [
[] // accessories
];
pcbs = [MP1584EN, TP4056, ESP_01, RAMPSEndstop, MT3608, PI_IO, ExtruderPCB, ZC_A0591, RPI0, EnviroPlus, ArduinoUno3, ArduinoLeonardo, Keyes5p1, PSU12V1A, WD2002SJ, RPI3, RPI4, BTT_SKR_V1_4_TURBO, DuetE, Duex5];
pcbs = [MP1584EN, TP4056, ESP_01, RAMPSEndstop, MT3608, PI_IO, ExtruderPCB, ZC_A0591, RPI0, EnviroPlus, ArduinoUno3, ArduinoLeonardo, Keyes5p1, WD2002SJ, RPI3, RPI4, BTT_SKR_MINI_E3_V2_0, BTT_SKR_V1_4_TURBO, DuetE, Duex5];
pcbs_not_shown = [Melzi, Duex2];
pcbs_not_shown = [Melzi, Duex2, PSU12V1A];
perfboards = [PERF74x51, PERF70x50, PERF60x40, PERF70x30, PERF80x20];