利用Python自動(dòng)化操作AutoCAD的實(shí)現(xiàn)
1 Python自動(dòng)繪圖
在這里我主要運(yùn)用了pyautocad庫進(jìn)行AutoCAD的自動(dòng)化操作,pyautocad是一款功能非常強(qiáng)大的AutoCAD操作處理庫,可以實(shí)現(xiàn)Python自動(dòng)繪圖、CAD圖像對(duì)象讀取、對(duì)象屬性修改等操作。
from pyautocad import Autocad,APoint# 連接及庫導(dǎo)入acad = Autocad(create_if_not_exists = True)acad.prompt('Hello! Autocad from Python.')print(acad.doc.Name)# 定義點(diǎn)p1=APoint(0,0)p2=APoint(50,25)for i in range(0,5): text=acad.model.AddText(’Hi %s’ %i,p1,2.5) # 將i值插入到%s占位符的字符串中(字符串內(nèi)容,坐標(biāo)位置,字號(hào)大小) acad.model.AddLine(p1,p2) # 繪制線段(起始點(diǎn),終止點(diǎn)) acad.model.AddCircle(p1,10) # 繪制圓(圓心,半徑) p1.y+=10 # p1點(diǎn)縱坐標(biāo)加10
圖1.Python自動(dòng)繪圖結(jié)果.png
如果此時(shí)你的計(jì)算機(jī)上未打開AutoCAD軟件,在運(yùn)行該代碼時(shí)會(huì)自動(dòng)打開AutoCAD并開始繪圖;如果已經(jīng)打開了AutoCAD軟件,則在運(yùn)行該代碼時(shí)會(huì)默認(rèn)在已打開的圖上進(jìn)行繪圖。
2 讀取CAD圖像對(duì)象
from pyautocad import Autocad,APoint# 連接及庫導(dǎo)入acad = Autocad(create_if_not_exists = True)acad.prompt('Hello! Autocad from Python.')print(acad.doc.Name)# 遍歷CAD圖像的所有文本對(duì)象,打印其文本內(nèi)容及坐標(biāo)位置dp=APoint(10,0)for text in acad.iter_objects(’Text’): print(’text: %s at: %s’ %(text.TextString,text.InsertionPoint))# 打印對(duì)象的類型名稱for obj in acad.iter_objects([’Circle’,’Line’,’Text’]): print(obj.ObjectName)
3 修改對(duì)象屬性
from pyautocad import Autocad,APoint# 連接及庫導(dǎo)入acad = Autocad(create_if_not_exists = True)acad.prompt('Hello! Autocad from Python.')print(acad.doc.Name)# 遍歷CAD圖像對(duì)象,修改對(duì)象屬性for text in acad.iter_objects(’Text’): print(’text: %s at: %s’ %(text.TextString,text.InsertionPoint)) # 將文本中的“Hi”字符替換為“OK” if ’Hi’ in text.TextString: print(’text: %s at: %s’ %(text.TextString,text.InsertionPoint)) # 修改?ο?儺 text1 = str(text.TextString) text1 = text1.replace(’Hi’,’OK’) text.TextString = text1
將CAD圖中,所有文本中的“Hi”字符串替換為“OK”,修改結(jié)果如圖2所示。
圖2.修改對(duì)象屬性后
到此這篇關(guān)于利用Python自動(dòng)化操作AutoCAD的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python自動(dòng)化操作AutoCAD內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 詳解瀏覽器的緩存機(jī)制2. 微信開發(fā) 網(wǎng)頁授權(quán)獲取用戶基本信息3. asp批量添加修改刪除操作示例代碼4. jsp實(shí)現(xiàn)登錄驗(yàn)證的過濾器5. HTML5 Canvas繪制圖形從入門到精通6. css代碼優(yōu)化的12個(gè)技巧7. jsp EL表達(dá)式詳解8. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法9. jsp+servlet簡單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))10. .NET SkiaSharp 生成二維碼驗(yàn)證碼及指定區(qū)域截取方法實(shí)現(xiàn)
