From e6d067623e5b27850a5abcaddcac2bf6669e14e1 Mon Sep 17 00:00:00 2001 From: gwrx Date: Wed, 12 Feb 2020 13:55:06 +0100 Subject: [PATCH] additional files --- dinrailclips.scad | 72 +++ dxfimporttest.dxf | 1126 +++++++++++++++++++++++++++++++++++++++++++++ dxfimporttest.svg | 84 ++++ 3 files changed, 1282 insertions(+) create mode 100644 dinrailclips.scad create mode 100644 dxfimporttest.dxf create mode 100644 dxfimporttest.svg diff --git a/dinrailclips.scad b/dinrailclips.scad new file mode 100644 index 0000000..f09cba9 --- /dev/null +++ b/dinrailclips.scad @@ -0,0 +1,72 @@ +width = 8; +strength = 2; +hole_diameter = 2.3; +//hole_space = 45.5; // adafruit pwm module +//hole_space = 15.3; // adafruit 3-axis accelerometer +//hole_space = 49; // raspberry pi 3 model b +//hole_space = 46; // 2 channel relais card +//hole_space = 66.5; // 8-ch ssr relais card +//hole_space = 30; // 12 to 5v dc-dc converter +//hole_space = 46.5; // 8-ch relais card (mechanical) +//hole_space = 42; // orange pi +hole_space = 28; // DPS5005 + +if (width < 5) { + base(5); +} else { + base(width); +} + +module base(width) { + linear_extrude(height = width, center = true, convexity = 10) import(file = "dxfimporttest.dxf", layer = "lower"); + mountinghole(width); + + if (hole_space > 31 && hole_space < 36.5) { + + linear_extrude(height = width, center = true, convexity = 10) import(file = "dxfimporttest.dxf", layer = "upper"); + // upper connections of release mechanism with mounting hole + translate([-strength, 36, -width/2]) cube([strength, hole_diameter + 2 + 1, width]); + translate([-8, 36, -width/2]) cube([1, hole_diameter + 2 + 1, width]); + translate([-6, hole_diameter * 2, -width/2]) cube([6, 34 - hole_diameter * 2, width]); + + translate([0, hole_space, 0]) mountinghole(width); + + } else { + + if (hole_space > 36) { + difference() { + union() { + translate([0, hole_space - 34]) linear_extrude(height = width, center = true, convexity = 10) import(file = "dxfimporttest.dxf", layer = "upper"); + // upper connections of release mechanism with mounting hole + translate([-strength, 34, -width/2]) cube([strength, hole_diameter + hole_space - 29, width]); + translate([-8, 36, -width/2]) cube([1, hole_diameter + hole_space - 31, width]); + translate([-6, hole_diameter * 2, -width/2]) cube([6, 34 - hole_diameter * 2, width]); + translate([0, hole_space, 0]) mountinghole(width); + } + translate([-6, hole_diameter + hole_space, 0]) rotate([0, 90, 0]) cylinder(15, d=hole_diameter, d=hole_diameter, $fn=25); + } + + } else { + + translate([0, hole_space, 0]) mountinghole(width); + translate([0, -5, 0]) linear_extrude(height = width, center = true, convexity = 10) import(file = "dxfimporttest.dxf", layer = "upper"); + translate([-6, hole_diameter * 2, -width/2]) cube([6, 35 - hole_diameter * 4, width]); + + } + + } +} + + +module mountinghole(width) { + difference() { + union() { + // lower cube and mounting hole + translate([-6, 0, -width/2]) cube([6, hole_diameter * 2, width]); + translate([-2, hole_diameter, 0]) rotate([0, 90, 0]) cylinder(4, d=hole_diameter + 2, d=hole_diameter + 2, $fn=25); + } + translate([-10, hole_diameter, 0]) rotate([0, 90, 0]) cylinder(15, d=hole_diameter, d=hole_diameter, $fn=25); + } +} + + diff --git a/dxfimporttest.dxf b/dxfimporttest.dxf new file mode 100644 index 0000000..b43ff0e --- /dev/null +++ b/dxfimporttest.dxf @@ -0,0 +1,1126 @@ + 0 +SECTION + 2 +HEADER + 9 +$ACADVER + 1 +AC1014 + 9 +$HANDSEED + 5 +FFFF + 9 +$MEASUREMENT + 70 + 1 + 0 +ENDSEC + 0 +SECTION + 2 +TABLES + 0 +TABLE + 2 +VPORT + 5 +8 +330 +0 +100 +AcDbSymbolTable + 70 + 4 + 0 +VPORT + 5 +2E +330 +8 +100 +AcDbSymbolTableRecord +100 +AcDbViewportTableRecord + 2 +*ACTIVE + 70 + 0 + 10 +0.0 + 20 +0.0 + 11 +1.0 + 21 +1.0 + 12 +210.0 + 22 +148.5 + 13 +0.0 + 23 +0.0 + 14 +10.0 + 24 +10.0 + 15 +10.0 + 25 +10.0 + 16 +0.0 + 26 +0.0 + 36 +1.0 + 17 +0.0 + 27 +0.0 + 37 +0.0 + 40 +341.0 + 41 +1.24 + 42 +50.0 + 43 +0.0 + 44 +0.0 + 50 +0.0 + 51 +0.0 + 71 + 0 + 72 + 100 + 73 + 1 + 74 + 3 + 75 + 0 + 76 + 0 + 77 + 0 + 78 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +LTYPE + 5 +5 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +LTYPE + 5 +14 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +BYBLOCK + 70 + 0 + 3 + + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +LTYPE + 5 +15 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +BYLAYER + 70 + 0 + 3 + + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +LTYPE + 5 +16 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +CONTINUOUS + 70 + 0 + 3 +Solid line + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +ENDTAB + 0 +TABLE + 2 +LAYER + 5 +2 +100 +AcDbSymbolTable + 70 +4 + 0 +LAYER + 5 +50 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +0 + 70 +0 + 6 +CONTINUOUS + 0 +LAYER + 5 +51 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +rail + 70 +0 + 6 +CONTINUOUS + 0 +LAYER + 5 +52 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +lower + 70 +0 + 6 +CONTINUOUS + 0 +LAYER + 5 +53 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +upper + 70 +0 + 6 +CONTINUOUS + 0 +ENDTAB + 0 +TABLE + 2 +STYLE + 5 +3 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +STYLE + 5 +11 +330 +3 +100 +AcDbSymbolTableRecord +100 +AcDbTextStyleTableRecord + 2 +STANDARD + 70 + 0 + 40 +0.0 + 41 +1.0 + 50 +0.0 + 71 + 0 + 42 +2.5 + 3 +txt + 4 + + 0 +ENDTAB + 0 +TABLE + 2 +VIEW + 5 +6 +330 +0 +100 +AcDbSymbolTable + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +UCS + 5 +7 +330 +0 +100 +AcDbSymbolTable + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +APPID + 5 +9 +330 +0 +100 +AcDbSymbolTable + 70 + 2 + 0 +APPID + 5 +12 +330 +9 +100 +AcDbSymbolTableRecord +100 +AcDbRegAppTableRecord + 2 +ACAD + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +DIMSTYLE + 5 +A +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +DIMSTYLE +105 +27 +330 +A +100 +AcDbSymbolTableRecord +100 +AcDbDimStyleTableRecord + 2 +ISO-25 + 70 + 0 + 3 + + 4 + + 5 + + 6 + + 7 + + 40 +1.0 + 41 +2.5 + 42 +0.625 + 43 +3.75 + 44 +1.25 + 45 +0.0 + 46 +0.0 + 47 +0.0 + 48 +0.0 +140 +2.5 +141 +2.5 +142 +0.0 +143 +0.03937007874016 +144 +1.0 +145 +0.0 +146 +1.0 +147 +0.625 + 71 + 0 + 72 + 0 + 73 + 0 + 74 + 0 + 75 + 0 + 76 + 0 + 77 + 1 + 78 + 8 +170 + 0 +171 + 3 +172 + 1 +173 + 0 +174 + 0 +175 + 0 +176 + 0 +177 + 0 +178 + 0 +270 + 2 +271 + 2 +272 + 2 +273 + 2 +274 + 3 +340 +11 +275 + 0 +280 + 0 +281 + 0 +282 + 0 +283 + 0 +284 + 8 +285 + 0 +286 + 0 +287 + 3 +288 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +BLOCK_RECORD + 5 +1 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +BLOCK_RECORD + 5 +1F +330 +1 +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord + 2 +*MODEL_SPACE + 0 +BLOCK_RECORD + 5 +1B +330 +1 +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord + 2 +*PAPER_SPACE + 0 +ENDTAB + 0 +ENDSEC + 0 +SECTION + 2 +BLOCKS + 0 +BLOCK + 5 +20 +330 +1F +100 +AcDbEntity + 8 +0 +100 +AcDbBlockBegin + 2 +*MODEL_SPACE + 70 + 0 + 10 +0.0 + 20 +0.0 + 30 +0.0 + 3 +*MODEL_SPACE + 1 + + 0 +ENDBLK + 5 +21 +330 +1F +100 +AcDbEntity + 8 +0 +100 +AcDbBlockEnd + 0 +BLOCK + 5 +1C +330 +1B +100 +AcDbEntity + 67 + 1 + 8 +0 +100 +AcDbBlockBegin + 2 +*PAPER_SPACE + 1 + + 0 +ENDBLK + 5 +1D +330 +1B +100 +AcDbEntity + 67 + 1 + 8 +0 +100 +AcDbBlockEnd + 0 +ENDSEC + 0 +SECTION + 2 +ENTITIES + 0 +LWPOLYLINE + 5 +100 +100 +AcDbEntity + 8 +rail + 62 +7 +100 +AcDbPolyline + 90 +20 + 70 +1 + 10 +-6.962735 + 20 +35.672950 + 30 +0.0 + 10 +-6.962735 + 20 +30.173030 + 30 +0.0 + 10 +-12.246133 + 20 +30.173030 + 30 +0.0 + 10 +-14.446516 + 20 +30.173030 + 30 +0.0 + 10 +-14.446516 + 20 +29.281610 + 30 +0.0 + 10 +-14.446516 + 20 +7.066950 + 30 +0.0 + 10 +-14.446516 + 20 +6.172940 + 30 +0.0 + 10 +-12.246133 + 20 +6.172940 + 30 +0.0 + 10 +-6.962735 + 20 +6.172940 + 30 +0.0 + 10 +-6.962735 + 20 +0.673020 + 30 +0.0 + 10 +-5.962798 + 20 +0.673020 + 30 +0.0 + 10 +-5.962798 + 20 +7.069530 + 30 +0.0 + 10 +-6.962735 + 20 +7.069530 + 30 +0.0 + 10 +-6.962735 + 20 +7.066530 + 30 +0.0 + 10 +-12.246133 + 20 +7.066530 + 30 +0.0 + 10 +-12.246133 + 20 +29.281190 + 30 +0.0 + 10 +-6.962735 + 20 +29.281190 + 30 +0.0 + 10 +-6.269238 + 20 +29.281190 + 30 +0.0 + 10 +-5.962798 + 20 +29.281190 + 30 +0.0 + 10 +-5.962798 + 20 +35.672540 + 30 +0.0 + 0 +LWPOLYLINE + 5 +101 +100 +AcDbEntity + 8 +lower + 62 +7 +100 +AcDbPolyline + 90 +23 + 70 +1 + 10 +-8.450130 + 20 +37.130079 + 30 +0.0 + 10 +-10.088273 + 20 +37.130079 + 30 +0.0 + 10 +-8.450130 + 20 +34.920909 + 30 +0.0 + 10 +-6.976835 + 20 +35.760651 + 30 +0.0 + 10 +-5.250325 + 20 +35.760651 + 30 +0.0 + 10 +-5.250325 + 20 +35.759593 + 30 +0.0 + 10 +-0.974618 + 20 +35.759593 + 30 +0.0 + 10 +-0.974618 + 20 +35.005634 + 30 +0.0 + 10 +-3.962549 + 20 +35.005634 + 30 +0.0 + 10 +-5.962943 + 20 +35.005634 + 30 +0.0 + 10 +-5.962943 + 20 +0.537448 + 30 +0.0 + 10 +-6.962882 + 20 +0.537448 + 30 +0.0 + 10 +-8.435661 + 20 +1.377182 + 30 +0.0 + 10 +-8.435661 + 20 +-1.060900 + 30 +0.0 + 10 +-0.767912 + 20 +-1.060900 + 30 +0.0 + 10 +-0.002175 + 20 +0.314880 + 30 +0.0 + 10 +-3.962549 + 20 +0.653203 + 30 +0.0 + 10 +-3.962549 + 20 +33.291552 + 30 +0.0 + 10 +0.009302 + 20 +33.291552 + 30 +0.0 + 10 +0.009302 + 20 +35.005660 + 30 +0.0 + 10 +0.009302 + 20 +37.130079 + 30 +0.0 + 10 +-5.250325 + 20 +37.130079 + 30 +0.0 + 10 +-7.420736 + 20 +37.130079 + 30 +0.0 + 0 +SPLINE + 5 +102 +100 +AcDbEntity + 8 +upper + 62 +7 +100 +AcDbSpline + 70 +8 + 71 +3 + 72 +8 + 73 +4 + 74 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +0 + 40 +1 + 40 +1 + 40 +1 + 40 +1 + 10 +0.000000 + 20 +42.071750 + 30 +0.0 + 10 +-2.462488 + 20 +42.072750 + 30 +0.0 + 10 +-4.924974 + 20 +42.078750 + 30 +0.0 + 10 +-7.387463 + 20 +42.078750 + 30 +0.0 + 0 +LWPOLYLINE + 5 +103 +100 +AcDbEntity + 8 +upper + 62 +7 +100 +AcDbPolyline + 90 +5 + 70 +0 + 10 +-8.529167 + 20 +44.135730 + 30 +0.0 + 10 +-8.529167 + 20 +41.000000 + 30 +0.0 + 10 +0.000000 + 20 +41.000000 + 30 +0.0 + 10 +0.000000 + 20 +42.055750 + 30 +0.0 + 10 +0.000000 + 20 +42.071750 + 30 +0.0 + 0 +LWPOLYLINE + 5 +104 +100 +AcDbEntity + 8 +upper + 62 +7 +100 +AcDbPolyline + 90 +5 + 70 +0 + 10 +-7.387463 + 20 +42.078750 + 30 +0.0 + 10 +-7.387463 + 20 +43.049230 + 30 +0.0 + 10 +-6.733220 + 20 +43.049230 + 30 +0.0 + 10 +-6.733220 + 20 +44.135470 + 30 +0.0 + 10 +-8.529167 + 20 +44.135730 + 30 +0.0 + 0 +ENDSEC + 0 +SECTION + 2 +OBJECTS + 0 +DICTIONARY + 5 +C +330 +0 +100 +AcDbDictionary + 3 +ACAD_GROUP +350 +D + 3 +ACAD_MLINESTYLE +350 +17 + 0 +DICTIONARY + 5 +D +330 +C +100 +AcDbDictionary + 0 +DICTIONARY + 5 +1A +330 +C +100 +AcDbDictionary + 0 +DICTIONARY + 5 +17 +330 +C +100 +AcDbDictionary + 3 +STANDARD +350 +18 + 0 +DICTIONARY + 5 +19 +330 +C +100 +AcDbDictionary + 0 +ENDSEC + 0 +EOF diff --git a/dxfimporttest.svg b/dxfimporttest.svg new file mode 100644 index 0000000..20a04cc --- /dev/null +++ b/dxfimporttest.svg @@ -0,0 +1,84 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + +