feeder.py 986 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import cadquery as cq
  2. from cadquery.occ_impl.exporters import ExportTypes
  3. from ocp_vscode import show, show_object
  4. x = 2
  5. y = 1
  6. t = 0.1
  7. path = cq.Workplane("XZ").moveTo(0, 0).lineTo(6, 0)
  8. # base_shape = (
  9. # cq.Sketch()
  10. # .rect(4, 4)
  11. # .vertices()
  12. # .fillet(0.25)
  13. # )
  14. # Sweep a circle from diameter 2.0 to diameter 1.0 to diameter 2.0 along X axis length 10.0 + 10.0
  15. defaultSweep = (
  16. cq.Workplane("YZ")
  17. .rect(x,y)
  18. .workplane(offset=2.0)
  19. .center(1,0)
  20. .transformed(rotate=(0, 0, 30))
  21. .rect(x,y)
  22. .workplane(offset=2.0)
  23. .center(1,0)
  24. .transformed(rotate=(0, 0, 30))
  25. .rect(x,y)
  26. .workplane(offset=2.0)
  27. .center(1,0)
  28. .transformed(rotate=(0, 0, 30))
  29. .rect(x,y)
  30. .sweep(path, multisection=True, isFrenet=False)
  31. ).edges("not <X or >X").fillet(0.2)
  32. extended = (
  33. defaultSweep.faces(">X")
  34. .extrude(10)
  35. )
  36. # Translate the resulting solids so that they do not overlap and display them left to right
  37. show_object(extended)