python提取cad坐标到excel_使用python来操作autocad,并且将坐标点转换成cad可见对象...

由于工作需要,在项目中遇到一个棘手的问题,如何将(mssql)数据库中的BLOB文件转成cad可见图形

(可能每个项目需求不一样,解决方式不同)

第一步 . 需要转换的图形类型

《python提取cad坐标到excel_使用python来操作autocad,并且将坐标点转换成cad可见对象...》

第二步 . 那我们先查询这个字段

《python提取cad坐标到excel_使用python来操作autocad,并且将坐标点转换成cad可见对象...》

第三步 试试将这个写入一个文本中  看看是那种图形 (data:image/*;base64)  *号 为图片格式后缀

1.试试用新学的python 来操作,当然java也可以

(这个链接数据库,写入某个字段的内容就贴出来了,毕竟是做python与cad的)

2.生成后的文件内容

《python提取cad坐标到excel_使用python来操作autocad,并且将坐标点转换成cad可见对象...》

3.不是我们期待的普通图形,是cad的一些坐标点什么的,那我们就可以找到坐标点来操作

查看文本内容后,我们看到的是开头标识符T , TEXT , LINE , JZMJ (还有其他的图形包含  ARC , ARRORW , PL , DIMQJ)还有一部分 就不一一写了(主要是目前就只用到几个常用的开头标识符)

转换一下(在cad命令行中输入)  可以知道 PL  LINE  RULEDIM 为直线,有两个坐标点

如: p1 = (0,0) p2 = (0,10)  就可以生成一条直线

4 . 那么从上面的内容中可以看到,我们找到坐标点,

如:LINE_宋体_1_120_-1__18_1_0__clBlack_0_0_3_13580_-7520_7280_-7520_0_0_13580_-7520_

p1 = (13580,-7520)

p2 = (7280,-7520)

5 . 找到坐标之后发现一个规律  可以将这一行 截取(“_”),生成数组下标为 [14] ,[15], [16], [17]

第四步  打开CAD (任意版本的cad都可以)              《python提取cad坐标到excel_使用python来操作autocad,并且将坐标点转换成cad可见对象...》

(个人使用的是2017版)

第五步  使用python操作CAD

1.首先导入pyautocad库,并且看看自己python的comtypes是否安装

2.先插入一条测试线 看看能否成功

from pyautocad import Autocad,APoint

p1 = APoint(10,20)

p2 = APoint(10,80)

acad = Autocad(create_if_not_exists = True)

acad.model.AddLine(p1,p2)

3.提示错误:

_ctypes.COMError: (-2147352567, ‘发生意外。’, (‘无法获取 Document 对象’, ‘AutoCAD’, ‘C:\\Program Files\\Autodesk\\AutoCAD 2017\\HELP\\OLE_ERR.CHM’, -2145320900, None))

4.这个错误一般是cad没有新建一个窗口

《python提取cad坐标到excel_使用python来操作autocad,并且将坐标点转换成cad可见对象...》

5.新建一个画图窗口就可以运行上面测试代码了

6.介绍几个常用命令:

AddLine(p1,p2)

添加直线

点一,点二

AddText(text,p1,fontSize)

添加文本

文本内容,点一,字体高度

AddArc(center,radius,sDrgress,eDrgress)

添加圆弧

圆心 , 半径 ,开始弧 , 结束弧

SaveAs(filepath ,1)

保存当前画好的图形

文件绝对路径 , 后面默认写1 不知道原因  (这方面文档很少,所以不知道怎么查)

最后,如果有不懂得地方,或者我哪些没有做好,都可以联系我,感谢

    原文作者:weixin_39914049
    原文地址: https://blog.csdn.net/weixin_39914049/article/details/110832075
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞