From 7a7065b073bfedd0b3ca64d463e524a448f9b5bb Mon Sep 17 00:00:00 2001 From: David Potter Date: Sun, 31 May 2026 12:53:06 -0600 Subject: [PATCH] Add wire nut hardware icon from SVG - add Wire Nut option to Select_Hardware\n- import and extrude OpenSCAD/icons/wire_nut.svg\n- tune icon placement and scale for label fit --- OpenSCAD/Cullenect.scad | 12 ++++++++++- OpenSCAD/icons/wire_nut.svg | 42 +++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 OpenSCAD/icons/wire_nut.svg diff --git a/OpenSCAD/Cullenect.scad b/OpenSCAD/Cullenect.scad index 1f3140e..f7c7bad 100644 --- a/OpenSCAD/Cullenect.scad +++ b/OpenSCAD/Cullenect.scad @@ -54,7 +54,7 @@ Fastener_Head_Flange=false; Fastener_Driver_Security=false; /* [Hardware Icon] */ -Select_Hardware="none"; // [none:None, washer:Washer, washer_locking:Locking Washer, threaded_insert:Threaded Insert, nut:Nut, nut_square:Square Nut, nut_nylon:Nylon Lock Nut, tnut_1:T-Nut Side, tnut_2:T-Nut Top, magnet:Magnet, crimp_ring_open:Crimp Ring - Open, crimp_ring_closed:Crimp Ring - Closed, crimp_fork_open:Crimp Fork - Open, crimp_fork_closed:Crimp Fork - Closed, crimp_spade_open:Crimp Spade - Open, crimp_spade_closed:Crimp Spade - Closed, crimp_receptacle_open:Crimp Receptacle - Open, crimp_receptacle_closed:Crimp Receptacle - Closed] +Select_Hardware="none"; // [none:None, washer:Washer, washer_locking:Locking Washer, threaded_insert:Threaded Insert, nut:Nut, nut_square:Square Nut, nut_nylon:Nylon Lock Nut, tnut_1:T-Nut Side, tnut_2:T-Nut Top, magnet:Magnet, crimp_ring_open:Crimp Ring - Open, crimp_ring_closed:Crimp Ring - Closed, crimp_fork_open:Crimp Fork - Open, crimp_fork_closed:Crimp Fork - Closed, crimp_spade_open:Crimp Spade - Open, crimp_spade_closed:Crimp Spade - Closed, crimp_receptacle_open:Crimp Receptacle - Open, crimp_receptacle_closed:Crimp Receptacle - Closed, wire_nut:Wire Nut] /* [Advanced] */ @@ -853,6 +853,15 @@ module cullenect_hardware(hardware) { } } } + + // Wire Nut (imported from SVG artwork) + module wire_nut(){ + // Imported SVG needs a small left bias to visually center in the hardware slot. + translate([-hardX*0.16,0,0]) + linear_extrude(height=layer, center=true) + scale([hardX*1.2/62.402642, hardX*0.76/40.959778, 1]) + import("icons/wire_nut.svg", center=true); + } // Output if (hardware == "washer")washer(); @@ -872,6 +881,7 @@ module cullenect_hardware(hardware) { if (hardware == "crimp_spade_closed")crimp_spade(barrel="closed"); if (hardware == "crimp_receptacle_open")crimp_receptacle(barrel="open"); if (hardware == "crimp_receptacle_closed")crimp_receptacle(barrel="closed"); + if (hardware == "wire_nut")wire_nut(); } // Master function to generate configured label diff --git a/OpenSCAD/icons/wire_nut.svg b/OpenSCAD/icons/wire_nut.svg new file mode 100644 index 0000000..42eb16b --- /dev/null +++ b/OpenSCAD/icons/wire_nut.svg @@ -0,0 +1,42 @@ + + + +