本文不定期更新!
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
=============================
Author = Hulunbuir & DalaiNur
Email: [email protected]
Last Update: 2019.07.28 14:00
=============================
'''
from pyautocad import Autocad
acad = Autocad(create_if_not_exists = True)
acad.prompt("Hello! Autocad from Python.")
print(acad.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为缩放比例。
numberOfRows = 5
numberOfColumns = 5
numberOfLevels = 1
distanceBwtnRows = 20
distanceBwtnColumns = 20
distanceBwtnLevels = 1
retObj = EllObj.ArrayRectangular(numberOfRows, numberOfColumns, numberOfLevels,
distanceBwtnRows, distanceBwtnColumns, distanceBwtnLevels)
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,不如为我打款!