Python AutoCAD 修改


阿陽的 AutoCAD 二次開發簡明教程,本系列博客僅用於個人學習,除此之外,無其他任何用途。


Blog Links



因個人能力有限,該系列博客難免有所疏漏/錯誤,不妥之處還請各位批評指正。



轉載請註明出處!



一、前沿


  


在這裏插入圖片描述

AutoCAD修改菜單


本文采用 pyautocad 庫連接 CAD ,代碼如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
    =============================
    Author: DalNur
    Email: [email protected]
    =============================
"""

from pyautocad import Autocad, APoint, aDouble
import math

pyacad = Autocad(create_if_not_exists=True)
pyacad.prompt("Hello! Autocad from pyautocad.")
print(pyacad.doc.Name)

二、複製及刪除

copyObj = EllObj.Copy()
    # 原位置複製,複製的圖元與原圖元重合。

copyObj.Delete()

三、平移及旋轉


startPnt = APoint(0, 0)
endPnt = APoint(30, 0)
EllObj.Move(startPnt,endPnt)

BasePoint = APoint(0, 0)
RotationAngle = math.radians(30)
EllObj.Rotate(BasePoint, RotationAngle)
    # BasePoint爲旋轉基點,即旋轉軸過此點且平行於z軸;
    # RotationAngle爲旋轉角度(弧度制),角度正負由右手系確定。

四、鏡像及縮放

startPnt = APoint(50, 50)
endPnt = APoint(50, -50)
MirObj = EllObj.Mirror(startPnt, endPnt)
    # startPnt爲鏡像線起點,endPnt爲鏡像線終點;
    # 鏡像後原圖元不刪除。

BasePoint = APoint(0, 0)
ScaleFactor = 5
SclEntObj = EllObj.ScaleEntity(BasePoint, ScaleFactor)
     # ScaleFactor爲縮放比例。

五、陣列


5.1 矩形陣列

numberOfRows = 5
numberOfColumns = 5
numberOfLevels = 1
distanceBwtnRows = 20
distanceBwtnColumns = 20
distanceBwtnLevels = 1
retObj = EllObj.ArrayRectangular(numberOfRows, numberOfColumns, numberOfLevels,
                                 distanceBwtnRows, distanceBwtnColumns, distanceBwtnLevels)

5.2 環形陣列

centerPoint = APoint(30, 0)
noOfObjects = 4
angleToFill = 3.14
retObj = EllObj.ArrayPolar(noOfObjects, angleToFill, centerPoint)

" 運行上述(1)、(2)代碼報錯,報錯內容爲:KeyError: 9。"
" 報錯原因未知,雖然報錯,但能順利執行,不影響使用。"
" 可利用try...except...finally...機制,處理此類報錯。"

六、尾聲


  以上,便是關於 AutoCAD 修改 部分的一些簡單介紹。

  因篇幅有限,某些非關鍵功能未做詳細介紹,如有疑問,歡迎郵件來詢。

  胸藏文墨懷若谷,腹有詩書氣自華,希望各位都能在知識的 pāo 子裏快樂徜徉。

  因本人野生學習 Python ,水平確實有限,文中難免有所疏漏,還請各位大神不吝批評指正。

  最後,祝各位攻城獅們,珍愛生命,保護髮際線!

  本文部分內容,源於網絡!

  歡迎大家點贊、評論及轉載,轉載請註明出處!

  爲我打call,不如爲我打款!

  打賞可備註郵箱,本人將贈送本系列博客的全部 Python 源代碼。



在這裏插入圖片描述




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章