projection2.py 906 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import json
  2. import time
  3. import ezdxf
  4. # 假设你的JSON文件名为'data.json'
  5. with open('tun3d.txt', 'r',encoding='utf-16') as file:
  6. data = json.load(file)
  7. # 提取vecL和vecR的点
  8. vec12_list = []
  9. vec34_list = []
  10. data = data['tunsMap']
  11. for item in data :
  12. item = item[1]
  13. vec1 = item['vec1']
  14. vec2 = item['vec2']
  15. vec3 = item['vec3']
  16. vec4 = item['vec4']
  17. vec12 = ((vec1['x'],vec1['y'],vec1['z']),(vec2['x'],vec2['y'],vec2['z']))
  18. vec34 = ((vec3['x'],vec3['y'],vec3['z']),(vec4['x'],vec4['y'],vec4['z']))
  19. vec12_list.append(vec12)
  20. vec34_list.append(vec34)
  21. doc = ezdxf.new('R2000')
  22. msp = doc.modelspace()
  23. for vec12 in vec12_list:
  24. msp.add_line(vec12[0], vec12[1], dxfattribs={
  25. 'color': '1'
  26. })
  27. for vec34 in vec34_list:
  28. msp.add_line(vec34[0], vec34[1], dxfattribs={
  29. 'color': '2'
  30. })
  31. doc.saveas(f'save/tuns{str(time.time())}.dxf')