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_ob

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值