diff --git a/GenFixture.py b/GenFixture.py
index 670580c..69da385 100755
--- a/GenFixture.py
+++ b/GenFixture.py
@@ -83,7 +83,7 @@ def __str__(self):
self.min_y)
def SetOptional(self, rev=None, washer_th=None, nut_f2f=None, nut_c2c=None, nut_th=None,
- pivot_d=None, border=None):
+ pivot_d=None, border=None, logosize=(50,50)):
self.rev = rev
self.washer_th = washer_th
self.nut_f2f = nut_f2f
@@ -91,6 +91,8 @@ def SetOptional(self, rev=None, washer_th=None, nut_f2f=None, nut_c2c=None, nut_
self.nut_th = nut_th
self.pivot_d = pivot_d
self.border = border
+ self.logosize = logosize
+
def SetParams(self, pcb_th, screw_len, screw_d):
if pcb_th is not None:
@@ -191,6 +193,8 @@ def Generate(self, path):
args += " -D\'pcb_outline=\"%s\"\'" % (path + "/" + self.prj_name + "-outline.dxf")
args += " -D\'screw_thr_len=%.02f\'" % self.screw_len
args += " -D\'screw_d=%.02f\'" % self.screw_d
+ args += " -D\'logo_w=%s\'" % self.logosize[0]
+ args += " -D\'logo_h=%s\'" % self.logosize[1]
# Set optional args
if self.rev != None:
@@ -335,6 +339,9 @@ def GetOriginDimensions(self):
parser.add_argument ('--nut_th', help='hex nut thickness (mm)')
parser.add_argument ('--pivot_d', help='Pivot diameter (mm)')
parser.add_argument ('--border', help='Board (ledge) under pcb (mm)')
+ parser.add_argument ('--logo-w', help='Set logo width, mm', default=50)
+ parser.add_argument ('--logo-h', help='Set logo height, mm', default=50)
+
# Get args
args = parser.parse_args ()
@@ -377,7 +384,8 @@ def GetOriginDimensions(self):
nut_c2c=args.nut_c2c,
nut_th=args.nut_th,
pivot_d=args.pivot_d,
- border=args.border)
+ border=args.border,
+ logosize=(args.logo_w, args.logo_h))
# Generate fixture
fixture.Generate (out_dir)
diff --git a/genfixture.sh b/genfixture.sh
index de510b9..ef460ab 100755
--- a/genfixture.sh
+++ b/genfixture.sh
@@ -9,7 +9,7 @@ OUTPUT="fixture-v10"
# PCB thickness
PCB=0.8
-LAYER='B.Cu'
+LAYER='F.Cu'
REV='rev.10'
# Nearest opposite side component to border
@@ -24,6 +24,15 @@ NUT_TH=2.4
NUT_F2F=5.45
NUT_C2C=6.10
+# convert logo
+rm logo.dxf
+inkscape logo.svg -E logo.eps
+pstoedit -dt -f "dxf:-polyaslines -mm" logo.eps logo.dxf
+rm logo.eps
+
+LOGO_WIDTH=$(echo "scale = 4; $(inkscape logo.svg -W 2>/dev/null) / 90.0 * 25.4" | bc)
+LOGO_HEIGHT=$(echo "scale = 4; $(inkscape logo.svg -H 2>/dev/null) / 90.0 * 25.4" | bc)
+
# Call python wrapper
-python GenFixture.py --board $BOARD --layer $LAYER --rev $REV --mat_th $MAT --pcb_th $PCB --out $OUTPUT --screw_len $SCREW_LEN --screw_d $SCREW_D --washer_th $WASHER_TH --nut_th $NUT_TH --nut_f2f $NUT_F2F --nut_c2c $NUT_C2C --border $BORDER
+python GenFixture.py --board $BOARD --layer $LAYER --rev $REV --mat_th $MAT --pcb_th $PCB --out $OUTPUT --screw_len $SCREW_LEN --screw_d $SCREW_D --washer_th $WASHER_TH --nut_th $NUT_TH --nut_f2f $NUT_F2F --nut_c2c $NUT_C2C --border $BORDER --logo-w $LOGO_WIDTH --logo-h $LOGO_HEIGHT
diff --git a/logo.svg b/logo.svg
new file mode 100644
index 0000000..c9bab7b
--- /dev/null
+++ b/logo.svg
@@ -0,0 +1,67 @@
+
+
+
+
\ No newline at end of file
diff --git a/ohw_logo.svg b/ohw_logo.svg
deleted file mode 100644
index 1cf95b8..0000000
--- a/ohw_logo.svg
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/openfixture.scad b/openfixture.scad
index a5d53ec..6b37789 100644
--- a/openfixture.scad
+++ b/openfixture.scad
@@ -31,7 +31,7 @@ tp_min_y = 13.7;
// DXF outline of pcb
pcb_outline = "./rfid_fob-outline.dxf";
-osh_logo = "./osh_logo.dxf";
+logo = "./logo.dxf";
// PCB revision
rev = "rev.0";
@@ -41,6 +41,9 @@ pcb_x = 27.14;
pcb_y = 45;
pcb_support_border = 2;
+logo_w = 50;
+logo_h = 50;
+
// Work area of PCB
// Must be >= PCB size
// If you make this as big as any of the PCBs you work
@@ -385,11 +388,10 @@ module head_base ()
}
}
-module osh_logo () {
+module logo () {
linear_extrude (height = mat_th)
- scale ([0.15, 0.15, 1])
- translate ([-72, -66, 0])
- import (osh_logo);
+ translate ([-logo_w / 2, -logo_h / 2, 0])
+ import (logo);
}
module head_top ()
@@ -414,7 +416,7 @@ module head_top ()
// Add osh logo
translate ([head_x / 2, head_y - 30, 0])
- osh_logo ();
+ logo ();
// Remove cable relief holes
translate ([mat_th * 3 + screw_d, head_y - (5 * mat_th) - screw_r, 0])
diff --git a/osh_logo.dxf b/osh_logo.dxf
deleted file mode 100644
index df39371..0000000
--- a/osh_logo.dxf
+++ /dev/null
@@ -1,1316 +0,0 @@
- 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
-1
- 0
-LAYER
- 5
-50
-100
-AcDbSymbolTableRecord
-100
-AcDbLayerTableRecord
- 2
-0
- 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
-0
- 62
-7
-100
-AcDbPolyline
- 90
-110
- 70
-0
- 10
-137.680888
- 20
-74.740980
- 30
-0.0
- 10
-121.365776
- 20
-77.774943
- 30
-0.0
- 10
-120.400104
- 20
-78.605635
- 30
-0.0
- 10
-115.399080
- 20
-90.273044
- 30
-0.0
- 10
-115.478440
- 20
-91.534466
- 30
-0.0
- 10
-124.984296
- 20
-105.389265
- 30
-0.0
- 10
-125.124981
- 20
-105.970477
- 30
-0.0
- 10
-124.880088
- 20
-106.516704
- 30
-0.0
- 10
-113.007240
- 20
-118.389553
- 30
-0.0
- 10
-112.461509
- 20
-118.635188
- 30
-0.0
- 10
-111.880792
- 20
-118.493762
- 30
-0.0
- 10
-97.782840
- 20
-108.819221
- 30
-0.0
- 10
-96.515464
- 20
-108.727914
- 30
-0.0
- 10
-85.205344
- 20
-113.357759
- 30
-0.0
- 10
-84.371672
- 20
-114.312510
- 30
-0.0
- 10
-81.230520
- 20
-131.187378
- 30
-0.0
- 10
-80.919632
- 20
-131.698373
- 30
-0.0
- 10
-80.360128
- 20
-131.910884
- 30
-0.0
- 10
-63.567641
- 20
-131.910884
- 30
-0.0
- 10
-63.009007
- 20
-131.698373
- 30
-0.0
- 10
-62.698242
- 20
-131.187378
- 30
-0.0
- 10
-59.558086
- 20
-114.312510
- 30
-0.0
- 10
-58.724416
- 20
-113.357759
- 30
-0.0
- 10
-47.413302
- 20
-108.727914
- 30
-0.0
- 10
-46.145926
- 20
-108.819221
- 30
-0.0
- 10
-32.048965
- 20
-118.493762
- 30
-0.0
- 10
-31.467008
- 20
-118.635188
- 30
-0.0
- 10
-30.921526
- 20
-118.389553
- 30
-0.0
- 10
-19.047685
- 20
-106.516704
- 30
-0.0
- 10
-18.802422
- 20
-105.970477
- 30
-0.0
- 10
-18.943476
- 20
-105.389265
- 30
-0.0
- 10
-28.450290
- 20
-91.534466
- 30
-0.0
- 10
-28.528698
- 20
-90.273044
- 30
-0.0
- 10
-23.526678
- 20
-78.605635
- 30
-0.0
- 10
-22.561011
- 20
-77.774943
- 30
-0.0
- 10
-6.246882
- 20
-74.740980
- 30
-0.0
- 10
-5.735515
- 20
-74.428851
- 30
-0.0
- 10
-5.523376
- 20
-73.869597
- 30
-0.0
- 10
-5.524368
- 20
-57.078096
- 30
-0.0
- 10
-5.736879
- 20
-56.517724
- 30
-0.0
- 10
-6.247874
- 20
-56.206712
- 30
-0.0
- 10
-22.162037
- 20
-53.245200
- 30
-0.0
- 10
-23.106863
- 20
-52.408552
- 30
-0.0
- 10
-28.075138
- 20
-39.997784
- 30
-0.0
- 10
-27.980854
- 20
-38.730408
- 30
-0.0
- 10
-18.941491
- 20
-25.557432
- 30
-0.0
- 10
-18.800809
- 20
-24.975723
- 30
-0.0
- 10
-19.045700
- 20
-24.429000
- 30
-0.0
- 10
-30.920533
- 20
-12.556152
- 30
-0.0
- 10
-31.466016
- 20
-12.312003
- 30
-0.0
- 10
-32.047972
- 20
-12.451944
- 30
-0.0
- 10
-44.987720
- 20
-21.333504
- 30
-0.0
- 10
-46.228300
- 20
-21.376144
- 30
-0.0
- 10
-51.934969
- 20
-18.329280
- 30
-0.0
- 10
-52.481320
- 20
-18.292427
- 30
-0.0
- 10
-52.872847
- 20
-18.674656
- 30
-0.0
- 10
-64.639502
- 20
-47.105784
- 30
-0.0
- 10
-64.654761
- 20
-47.698286
- 30
-0.0
- 10
-64.294124
- 20
-48.168712
- 30
-0.0
- 10
-62.865969
- 20
-49.043072
- 30
-0.0
- 10
-61.962826
- 20
-49.734824
- 30
-0.0
- 10
-58.450325
- 20
-52.646463
- 30
-0.0
- 10
-55.745907
- 20
-56.328504
- 30
-0.0
- 10
-54.007466
- 20
-60.624262
- 30
-0.0
- 10
-53.392898
- 20
-65.377049
- 30
-0.0
- 10
-53.770207
- 20
-69.119608
- 30
-0.0
- 10
-54.852332
- 20
-72.605413
- 30
-0.0
- 10
-56.564572
- 20
-75.759798
- 30
-0.0
- 10
-58.832222
- 20
-78.508094
- 30
-0.0
- 10
-61.580582
- 20
-80.775634
- 30
-0.0
- 10
-64.734949
- 20
-82.487751
- 30
-0.0
- 10
-68.220621
- 20
-83.569777
- 30
-0.0
- 10
-71.962894
- 20
-83.947046
- 30
-0.0
- 10
-75.705125
- 20
-83.569777
- 30
-0.0
- 10
-79.190684
- 20
-82.487751
- 30
-0.0
- 10
-82.344891
- 20
-80.775634
- 30
-0.0
- 10
-85.093069
- 20
-78.508094
- 30
-0.0
- 10
-87.360537
- 20
-75.759798
- 30
-0.0
- 10
-89.072617
- 20
-72.605413
- 30
-0.0
- 10
-90.154630
- 20
-69.119608
- 30
-0.0
- 10
-90.531896
- 20
-65.377049
- 30
-0.0
- 10
-89.917468
- 20
-60.624262
- 30
-0.0
- 10
-88.179262
- 20
-56.328504
- 30
-0.0
- 10
-85.474891
- 20
-52.646463
- 30
-0.0
- 10
-81.961968
- 20
-49.734824
- 30
-0.0
- 10
-81.060808
- 20
-49.043072
- 30
-0.0
- 10
-79.632658
- 20
-48.168712
- 30
-0.0
- 10
-79.273139
- 20
-47.698286
- 30
-0.0
- 10
-79.287282
- 20
-47.105784
- 30
-0.0
- 10
-91.052944
- 20
-18.673664
- 30
-0.0
- 10
-91.444100
- 20
-18.291816
- 30
-0.0
- 10
-91.990824
- 20
-18.328288
- 30
-0.0
- 10
-97.697488
- 20
-21.375152
- 30
-0.0
- 10
-98.938072
- 20
-21.332512
- 30
-0.0
- 10
-111.878808
- 20
-12.450952
- 30
-0.0
- 10
-112.460269
- 20
-12.311011
- 30
-0.0
- 10
-113.005256
- 20
-12.555160
- 30
-0.0
- 10
-124.880088
- 20
-24.428008
- 30
-0.0
- 10
-125.125725
- 20
-24.974731
- 30
-0.0
- 10
-124.984296
- 20
-25.556440
- 30
-0.0
- 10
-115.943944
- 20
-38.729416
- 30
-0.0
- 10
-115.850648
- 20
-39.996792
- 30
-0.0
- 10
-120.818928
- 20
-52.407560
- 30
-0.0
- 10
-121.762760
- 20
-53.244208
- 30
-0.0
- 10
-137.676920
- 20
-56.205720
- 30
-0.0
- 10
-138.187545
- 20
-56.516744
- 30
-0.0
- 10
-138.400432
- 20
-57.077104
- 30
-0.0
- 10
-138.402032
- 20
-73.868604
- 30
-0.0
- 10
-138.190440
- 20
-74.428726
- 30
-0.0
- 10
-137.680504
- 20
-74.740980
- 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