Browse Source

add mountingplate

Silas Gruen 9 months ago
parent
commit
5eb012400f
1 changed files with 63 additions and 0 deletions
  1. 63 0
      cell_measure_robot/mountingplate.py

+ 63 - 0
cell_measure_robot/mountingplate.py

@@ -0,0 +1,63 @@
+
+import cadquery as cq
+from ocp_vscode import show, show_object
+from cadquery.occ_impl.exporters import ExportTypes
+
+rows = 19
+cols = 6
+row_dist = 90
+col_dist = 176
+
+thickness = 10
+
+default_dist_x = 550.75
+default_dist_y = 208.75
+result_dist_x = 4.88
+result_dist_y = 52.85
+
+ps_diam = 3
+duct_diam = 11
+
+num_per_powersupply = 3
+
+mountingplate = cq.importers.importStep("/home/sgruen/Dokumente/mountingplate.step")
+
+holes_dxf = cq.importers.importDXF("/home/sgruen/Dokumente/Strom_TestLader_V1.1_edit_2.dxf")
+power_supply = (
+    cq.Workplane()
+    .center(-384.62, 65.85)
+    .circle(ps_diam/2)
+    .center(-152.5, 85)
+    .circle(ps_diam/2)
+    .extrude(-thickness)
+)
+duct = (
+    cq.Workplane()
+    .center(-464.62, 94.85)
+    .circle(duct_diam/2)
+    .extrude(-thickness)
+)
+
+holes_dxf = holes_dxf.translate((result_dist_x-default_dist_x, result_dist_y-default_dist_y, 0))
+mountingplate_holes = mountingplate
+
+for row in range(rows):
+    for col in range(cols):
+        y_offset = row * row_dist
+        x_offset = col * col_dist
+
+        holes_moved = holes_dxf.translate((x_offset, y_offset, 0))
+        hole_negative = holes_moved.extrude(-thickness)
+        mountingplate_holes = mountingplate_holes.cut(hole_negative)
+
+        duct_negative = duct.translate((x_offset, y_offset, 0))
+        mountingplate_holes = mountingplate_holes.cut(duct_negative)
+
+        if (col * rows + row) % num_per_powersupply is num_per_powersupply-1:
+            ps_negative = power_supply.translate((x_offset, y_offset, 0))
+            mountingplate_holes = mountingplate_holes.cut(ps_negative)
+
+# show_object(mountingplate_holes, name="mountingplate")
+
+with open(f"mountingplate_holes.step", "w") as fp:
+   cq.exporters.exportShape(mountingplate_holes, ExportTypes.STEP, fp)