dxf需要输出R2010以后版本,否则cad打开出错。

This commit is contained in:
n3040 2024-06-29 01:16:10 +08:00
parent d7e16069db
commit 0665a83a9c
1 changed files with 4 additions and 2 deletions

6
dem.py
View File

@ -58,7 +58,7 @@ class Dem:
toml_dict = self._toml_dict toml_dict = self._toml_dict
out_dxf_file_dir = toml_dict["parameter"]["out_dxf_file_dir"] out_dxf_file_dir = toml_dict["parameter"]["out_dxf_file_dir"]
# 写整个断面 # 写整个断面
dm_whole_doc = ezdxf.new(dxfversion="R2004") dm_whole_doc = ezdxf.new(dxfversion="R2010")
dm_whole_accumulative_distance = 0 # 累加里程 dm_whole_accumulative_distance = 0 # 累加里程
dm_whole_msp = dm_whole_doc.modelspace() dm_whole_msp = dm_whole_doc.modelspace()
for foo in range(len(excel_pfs) - 1): for foo in range(len(excel_pfs) - 1):
@ -74,7 +74,7 @@ class Dem:
left_elevation = self.get_elevation(line_coordination[:, 0:2]) left_elevation = self.get_elevation(line_coordination[:, 0:2])
center_elevation = self.get_elevation(line_coordination[:, 2:4]) center_elevation = self.get_elevation(line_coordination[:, 2:4])
right_elevation = self.get_elevation(line_coordination[:, 4:6]) right_elevation = self.get_elevation(line_coordination[:, 4:6])
dm_doc = ezdxf.new(dxfversion="R2004") dm_doc = ezdxf.new(dxfversion="R2010")
# 设置线形 # 设置线形
# for name, desc, pattern in linetypes(): # for name, desc, pattern in linetypes():
# if name not in dm_doc.linetypes: # if name not in dm_doc.linetypes:
@ -93,6 +93,8 @@ class Dem:
(x_axis[i] / 5 / zoom_factor, left_elevation[i] * 2 / zoom_factor) (x_axis[i] / 5 / zoom_factor, left_elevation[i] * 2 / zoom_factor)
for i in range(len(left_elevation)) for i in range(len(left_elevation))
] ]
# dm_whole_msp.add_polyline2d([[0,0],[100,100]])
# dm_doc.saveas('f.dxf')
dm_whole_msp.add_polyline2d( dm_whole_msp.add_polyline2d(
np.array(left_line) np.array(left_line)
+ np.hstack( + np.hstack(