Python AutoCAD 图层
目 錄
- Blog Links
- 一、連接及庫導入
- 二、新建圖層
- 三、顏色設置
- 四、線型設置
- 五、線寬設置
- 六、批量創(chuàng)建
- 七、圖層讀取
- 八、尾聲
Blog Links
-
DalNur | 博客總目錄
-
Python 二次開發(fā) AutoCAD 簡介
-
Python 二次開發(fā) AutoCAD 設置
-
Python 二次開發(fā) AutoCAD 圖層
-
Python 二次開發(fā) AutoCAD 繪圖
-
Python 二次開發(fā) AutoCAD 修改
-
Python 二次開發(fā) AutoCAD 塊組
-
Python 二次開發(fā) AutoCAD 注釋
-
Python 二次開發(fā) AutoCAD 文件
-
Python 二次開發(fā) AutoCAD 選擇集
一、連接及庫導入
#!/usr/bin/env python # -*- coding: utf-8 -*-''' ============================= Author = Hulunbuir & DalaiNur Email: liyang@alu.hit.edu.cn Last Update: 2019.07.28 14:00 ============================= '''from pyautocad import Autocadacad = Autocad(create_if_not_exists = True) acad.prompt("Hello! AutoCAD from pyautocad.") print(acad.doc.Name)二、新建圖層
LayerObj = acad.ActiveDocument.Layers.Add("HIT_Layer")# 添加新圖層,圖層名稱為"HIT_Layer"。 acad.ActiveDocument.ActiveLayer = LayerObj# 將"HIT_Layer"圖層設置為當前圖層。三、顏色設置
ClrNum = 1 LayerObj.color = ClrNum# ClrNum為顏色索引號,其取值范圍為[0,256];# 標準顏色的顏色索引號指定如下::1 紅、2 黃、3 綠、4 青、5 藍、6 洋紅、7 白/黑;# 0 ByBlock、256 ByLayer;# 其他顏色索引號見 https://wenku.baidu.com/view/9d458b70195f312b3069a505.html。四、線型設置
acad.ActiveDocument.Linetypes.Load("ACAD_ISO08W100","acadiso.lin")# 加載線型,"ACAD_ISO05W100"為線型名稱,詳細信息見CAD幫助文檔;# "acadiso.lin"為用于公制單位的線型定義文件,詳細信息見CAD幫助文檔;# 為圖層指定線型前,需先加載相關線型;# 注意:不能重復加載,否則報錯——'記錄名重復';# 可利用try...except...finally...機制,處理此類報錯。LayerObj.Linetype = "ACAD_ISO08W100"# 設置圖層線型;# 指定線型前,若不想以Load方式加載線型,也可在CAD程序中點擊線型>其他>加載,加載全部所用線型;# 若既沒采用Load方式也沒有在CAD程序中手動加載線型,則程序會報錯——'未找到主鍵'。五、線寬設置
LayerObj.Lineweight = 13# 13表示線寬為0.01mm的13倍,即0.13mm;# 線寬值∈{0,5,9,13,15,18,20,25,30,35,40,50,53,60,70,80,90,100,106,120,140,158,200,211};# 線寬值在上述集合中選取,含義為0.01mm的整數倍;其他數值非系統(tǒng)默認;# 可以修改現(xiàn)有線寬,但不能添加或刪除線寬,修改在CAD程序中進行。六、批量創(chuàng)建
clrnums = [1, 2, 3] # 圖層顏色列表 layernames = ["HIT_圖層_1", "HIT_圖層_2", "HIT_圖層_3"] # 圖層名稱列表try:len(clrnums) == len(layernames) except:print("圖層顏色號個數與圖層個數不匹配")layerobjs = [acad.ActiveDocument.Layers.Add(i) for i in layernames] # 批量創(chuàng)建圖層for j in range(len(layerobjs)):layerobjs[j].color = clrnums[j]# 批量指定圖層顏色七、圖層讀取
layersnums = acad.ActiveDocument.Layers.count # 當前文件模型空間中所包含的圖層總數 layernames = [acad.ActiveDocument.Layers.Item(i).Name for i in range(layernums)]# 當前文件模型空間中所包含的所有圖層名稱 index = layernames.index("HIT_圖層_3") # 獲取指定圖層索引號 acad.ActiveDocument.ActiveLayer = acad.ActiveDocument.Layers.Item(index)# 將指定圖層設定當前八、尾聲
??以上,便是關于 AutoCAD 圖層 的一些基本代碼,因篇幅有限,某些非關鍵功能未做詳細介紹,如有疑問,歡迎郵件來詢。
??本文部分功能的實現(xiàn)離不開廣大博友的大力幫助,有些功能看似簡單,但第一次實現(xiàn)出來卻是相當不容易的。
??鑒于,相關示例代碼相對較少,特寫本文,一方面是為自己的階段性學習做一個總結,另一方面更是為有需要的人提供多一點參考。
??如果您已實現(xiàn)一些本文未提及的功能,還請在評論區(qū)附上代碼,以便為后續(xù)學習者提供更多的幫助。
??胸藏文墨懷若谷,腹有詩書氣自華,希望各位都能在知識的 pāo 子里快樂徜徉。
??因本人野生學習 Python,水平確實有限,文中難免有所疏漏,還請各位大神不吝批評指正。
??最后,祝各位攻城獅們,珍愛生命,保護發(fā)際線!
??本文最早發(fā)表于 2018-12-13 18:20:21,作為博客 Python 二次開發(fā) AutoCAD 簡介 的一部分。
??為了清晰直觀,于 2019-07-20 14:16:23 單獨創(chuàng)建本文。
??本文部分內容,源于網絡!
??歡迎大家點贊、評論及轉載,轉載請注明出處!
??為我打call,不如為我打款!
??打賞可備注郵箱,本人將贈送本系列博客的全部 Python 源代碼。
總結
以上是生活随笔為你收集整理的Python AutoCAD 图层的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言科学计数法整数位改为0,c语言科学
- 下一篇: 网络--端口号大全