mill_cap.py 817 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import cadquery as cq
  2. from cadquery.occ_impl.exporters import *
  3. from ocp_vscode import show
  4. outer_diam = 25
  5. inner_diam = 20
  6. outer_height = 2
  7. inner_height = 15
  8. inner_thick = 1.5
  9. cut_width = 2
  10. result = (
  11. cq.Workplane("XY")
  12. .workplane()
  13. .circle(outer_diam/2)
  14. .extrude(outer_height)
  15. .faces(">Z")
  16. .workplane()
  17. .circle(inner_diam/2)
  18. .circle(inner_diam/2-inner_thick)
  19. .extrude(inner_height)
  20. .faces("<Z")
  21. .fillet(1.5)
  22. .faces(">Z")
  23. .edges()[0]
  24. .chamfer(7.5,1.2)
  25. .faces(">Z")
  26. .workplane()
  27. .rect(inner_diam, cut_width)
  28. .rect(cut_width, inner_diam)
  29. .cutBlind(-inner_height)
  30. )
  31. show(result)
  32. # export the box as a STEP file
  33. with open("/home/sgruen/Dokumente/cadquery/mill_cap.step", "w") as fp:
  34. cq.exporters.exportShape(result, ExportTypes.STEP, fp)