Blog Links
一、前言
本文采用 pyautocad 库连接 CAD ,代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
=============================
Author: DalNur
Email: liyang@alu.hit.edu.cn
=============================
"""
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 源代码。