元组(521.43,622.6,32.3,562.1,12,35.2,) ,变成二维坐标,用pyautocad 画多段线
时间: 2023-08-21 20:05:02 浏览: 42
如果您需要将元组 `(521.43,622.6,32.3,562.1,12,35.2,)` 变成二维坐标来画多段线,则需要将每个点的第三个坐标(Z 坐标)设置为 0。可以使用如下代码:
```python
import win32com.client
acad = win32com.client.Dispatch("AutoCAD.Application")
doc = acad.ActiveDocument
msp = doc.ModelSpace
points_3d = [(521.43, 622.6, 32.3), (562.1, 12, 35.2)]
points_2d = [(point[0], point[1]) for point in points_3d]
polyline = msp.AddLightWeightPolyline(points_2d)
polyline.Closed = False
```
上述代码中,我们首先定义了一个三维坐标的点列表 `points_3d`,其中包含了您提供的点坐标。然后,我们使用列表推导式将每个点的第三个坐标设置为 0,得到了二维坐标的点列表 `points_2d`。最后,我们使用 `AddLightWeightPolyline` 方法创建了一个多段线,并将其设置为未闭合状态。
如果您需要画更多的线段,只需在上述代码中添加更多的点坐标即可。例如,如果您要画一个从点 A 到点 B 到点 C 的多段线,可以使用以下代码:
```python
points_3d = [(x1, y1, z1), (x2, y2, z2), (x3, y3, z3)]
points_2d = [(point[0], point[1]) for point in points_3d]
polyline = msp.AddLightWeightPolyline(points_2d)
polyline.Closed = False
```
其中,`(x1, y1, z1)` 表示第一个点的坐标,`(x2, y2, z2)` 表示第二个点的坐标,以此类推。
相关推荐
![md](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)