python处理cad_python3读取autocad图形文件.py实例

废话不多说,看代码吧!

'''

待完善。

此代码实现了,根据标注文本的

属性,数值,位置,及 容差,

去判断 设计 和 实测两图中的同一位置的尺寸。

如果是同一位置的尺寸,则进行比较,

并把结果存成表格,到运行此代码的当前目录。

此代码运行时,要读取的 dwg文件 必须处于打开状态。

且 不能在 移动(pan) 模式。

启动代码:

python dwg_measurements_comparison4.py [8]

其中,8代表,判定两图尺寸为同一尺寸的最大距离,

单位:米(图上单位)。自己决定具体是多少。

注意:

启动此代码后,首先要在cad软件中打开 对比图,

当该图读完后,提示切换到实测图时,请在cad软件中切换。

切换完成后,回车,即可。

包的安装:

pip install pyautocad

注:

1.该操作会自动安装 comtypes模块。

2.如要使用tables 命令,要另外安装xlrd 和 tablib

'''

from pyautocad import Autocad

import sys

from pyautocad.contrib.tables import Table

import re

acad = Autocad(create_if_not_exists=True)

def getDescription_Measurement_TextPositions():

'''

此函数用于读取 实测图 的尺寸标注的 属性,尺寸,尺寸位置。

并返回结果。

目前实测图带属性,对比图不带。

'''

print('正在读取 ', acad.doc.Name, ' ...')

description_measurement_textPositions = []

for obj in acad.iter_objects('Dimension'):

description_measurement_textPositions.append(

(obj.GetXData("MyDimDist")[1][1],

round(obj.Measurement,2),

obj.TextPosition)

)

return description_measurement_textPositions

def getMeasurement_TextPositions():

'''

此函数用于读取 对比图 的尺寸,尺寸位置。

并返回结果。

'''

print('正在读取 ', acad.doc.Name, ' ...')

measurements_textPositions = []

for a in acad.iter_objects('Dimension'):

measurements_textPositions.append((round(a.Measurement,2), a.TextPosition))

return measurements_textPositions

def isTheSameMeasurement(point1,point2,tolerance):

'''

point1, 类似这样(82.37, (81953.97462829649, 276686.2885731713, 0.0)),

82.37,代表标注的尺寸,后边代表,该尺寸在图上显示的位置坐标。

point2, 类似这样('车间二;长', 82.44, (81951.56923143109, 276679.78271

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值