python提取cad坐标到excel_使用python来操作autocad,并且将坐标点转换成cad可见对象...
由于工作需要,在項目中遇到一個棘手的問題,如何將(mssql)數據庫中的BLOB文件轉成cad可見圖形
(可能每個項目需求不一樣,解決方式不同)
第一步 . 需要轉換的圖形類型
第二步 . 那我們先查詢這個字段
第三步 試試將這個寫入一個文本中 ?看看是那種圖形 (data:image/*;base64) ?*號 為圖片格式后綴
1.試試用新學的python 來操作,當然java也可以
(這個鏈接數據庫,寫入某個字段的內容就貼出來了,畢竟是做python與cad的)
2.生成后的文件內容
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都可以) ?????????????
(個人使用的是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沒有新建一個窗口
5.新建一個畫圖窗口就可以運行上面測試代碼了
6.介紹幾個常用命令:
AddLine(p1,p2)
添加直線
點一,點二
AddText(text,p1,fontSize)
添加文本
文本內容,點一,字體高度
AddArc(center,radius,sDrgress,eDrgress)
添加圓弧
圓心 , 半徑 ,開始弧 , 結束弧
SaveAs(filepath ,1)
保存當前畫好的圖形
文件絕對路徑 , 后面默認寫1 不知道原因 ?(這方面文檔很少,所以不知道怎么查)
最后,如果有不懂得地方,或者我哪些沒有做好,都可以聯系我,感謝
總結
以上是生活随笔為你收集整理的python提取cad坐标到excel_使用python来操作autocad,并且将坐标点转换成cad可见对象...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: uefi启动是什么意思
- 下一篇: vs code python 插件_工具