|
@@ -17,15 +17,15 @@ space_rows = 33.7
|
|
|
|
|
|
|
|
dist_segments = 57.5
|
|
dist_segments = 57.5
|
|
|
|
|
|
|
|
-strip_width = 10.2
|
|
|
|
|
|
|
+strip_width = 10.4
|
|
|
|
|
|
|
|
print_height = 15
|
|
print_height = 15
|
|
|
wall_thick = 1.7
|
|
wall_thick = 1.7
|
|
|
-eps = 0.1
|
|
|
|
|
|
|
+eps = 0.15
|
|
|
|
|
|
|
|
hole_diam = 2.4
|
|
hole_diam = 2.4
|
|
|
hole_depth = 10
|
|
hole_depth = 10
|
|
|
-board_connector_length = dist_to_ground + wall_thick + eps
|
|
|
|
|
|
|
+board_connector_length = dist_to_ground + wall_thick
|
|
|
lip_width = 1.5
|
|
lip_width = 1.5
|
|
|
lip_thick = 1.5
|
|
lip_thick = 1.5
|
|
|
|
|
|
|
@@ -44,6 +44,7 @@ board_con_locs = [
|
|
|
(5.5 * space_single, space_rows - cell_edge)
|
|
(5.5 * space_single, space_rows - cell_edge)
|
|
|
]
|
|
]
|
|
|
|
|
|
|
|
|
|
+# Zellkreise
|
|
|
cell_base = (
|
|
cell_base = (
|
|
|
cq.Workplane()
|
|
cq.Workplane()
|
|
|
.pushPoints(cell_locs)
|
|
.pushPoints(cell_locs)
|
|
@@ -57,6 +58,7 @@ cell_base = (
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
|
|
+# Ausschnitt für die Zellen
|
|
|
cell_cutout = (
|
|
cell_cutout = (
|
|
|
cq.Workplane()
|
|
cq.Workplane()
|
|
|
.pushPoints(cell_locs)
|
|
.pushPoints(cell_locs)
|
|
@@ -71,14 +73,15 @@ cell_cutout = (
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|
|
+# Ausschnitt für die Lötfahne
|
|
|
strips_cut = (
|
|
strips_cut = (
|
|
|
cq.Workplane()
|
|
cq.Workplane()
|
|
|
.pushPoints(strip_locs)
|
|
.pushPoints(strip_locs)
|
|
|
.eachpoint(
|
|
.eachpoint(
|
|
|
lambda loc: (
|
|
lambda loc: (
|
|
|
- cq.Workplane().workplane(offset=print_height-wall_thick)
|
|
|
|
|
- .rect(space_all + cell_diam/2, strip_width, centered=(False, True))
|
|
|
|
|
- .extrude(wall_thick)
|
|
|
|
|
|
|
+ cq.Workplane().workplane(offset=print_height-2*wall_thick)
|
|
|
|
|
+ .rect(space_all + cell_diam/2+wall_thick, strip_width, centered=(False, True))
|
|
|
|
|
+ .extrude(wall_thick*2)
|
|
|
.val()
|
|
.val()
|
|
|
.located(loc)
|
|
.located(loc)
|
|
|
)
|
|
)
|
|
@@ -118,7 +121,7 @@ connectors = (
|
|
|
)
|
|
)
|
|
|
base_connected = base_cutout.union(connectors)
|
|
base_connected = base_cutout.union(connectors)
|
|
|
|
|
|
|
|
-connector_width = hole_diam + wall_thick*2
|
|
|
|
|
|
|
+connector_width = hole_diam + wall_thick*1.5
|
|
|
board_con = (
|
|
board_con = (
|
|
|
cq.Workplane()
|
|
cq.Workplane()
|
|
|
.rect(connector_width, connector_width)
|
|
.rect(connector_width, connector_width)
|
|
@@ -166,7 +169,7 @@ base_connected = base_connected.intersect(boundary_box)
|
|
|
show_object(base_connected)
|
|
show_object(base_connected)
|
|
|
show_object(con_placed)
|
|
show_object(con_placed)
|
|
|
|
|
|
|
|
-with open(r"/home/sgruen/Dokumente/bodenplatte/zellhalter_v2_base.step", "w") as fp:
|
|
|
|
|
|
|
+with open(r"zellhalter_v2_base.step", "w") as fp:
|
|
|
cq.exporters.exportShape(base_connected, ExportTypes.STEP, fp)
|
|
cq.exporters.exportShape(base_connected, ExportTypes.STEP, fp)
|
|
|
-with open(r"/home/sgruen/Dokumente/bodenplatte/zellhalter_v2_connector.step", "w") as fp:
|
|
|
|
|
- cq.exporters.exportShape(board_con, ExportTypes.STEP, fp)
|
|
|
|
|
|
|
+with open(r"zellhalter_v2_connector.step", "w") as fp:
|
|
|
|
|
+ cq.exporters.exportShape(board_con, ExportTypes.STEP, fp)
|