Python AutoCAD 修改

系统 1562 0

本文不定期更新!

目 录

    • 0、相关文章
    • 1、连接及库导入
    • 2、复制及删除
    • 3、平移及旋转
    • 4、镜像及缩放
    • 5、阵列
      • (1) 矩形阵列
      • (2) 环形阵列
    • 6、尾声

0、相关文章

  • Python pyautocad库 使用简介
  • Python AutoCAD 系统设置
  • Python AutoCAD 图层
  • Python AutoCAD 绘图
  • Python AutoCAD 修改
  • Python AutoCAD 块组
  • Python AutoCAD 注释
  • Python AutoCAD 文件
  • Python AutoCAD 选择集

1、连接及库导入

            
              
                #!/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
              
               Autocad

acad 
              
                =
              
               Autocad
              
                (
              
              create_if_not_exists 
              
                =
              
              
                True
              
              
                )
              
              
acad
              
                .
              
              prompt
              
                (
              
              
                "Hello! Autocad from Python."
              
              
                )
              
              
                print
              
              
                (
              
              acad
              
                .
              
              doc
              
                .
              
              Name
              
                )
              
            
          

2、复制及删除

            
              copyObj 
              
                =
              
               EllObj
              
                .
              
              Copy
              
                (
              
              
                )
              
              
                # 原位置复制,复制的图元与原图元重合。
              
              

copyObj
              
                .
              
              Delete
              
                (
              
              
                )
              
            
          

3、平移及旋转

            
              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为旋转角度(弧度制),角度正负由右手系确定。
              
            
          

4、镜像及缩放

            
              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
              
                )
              
            
          

(2) 环形阵列

            
              centerPoint 
              
                =
              
               APoint
              
                (
              
              
                30
              
              
                ,
              
              
                0
              
              
                )
              
              
noOfObjects 
              
                =
              
              
                4
              
              
angleToFill 
              
                =
              
              
                3.14
              
              
retObj 
              
                =
              
               EllObj
              
                .
              
              ArrayPolar
              
                (
              
              noOfObjects
              
                ,
              
               angleToFill
              
                ,
              
               centerPoint
              
                )
              
              
                " 运行上述(1)、(2)代码报错,报错内容为:KeyError: 9。"
              
              
                " 报错原因未知,虽然报错,但能顺利执行,不影响使用。"
              
              
                " 可利用try...except...finally...机制,处理此类报错。"
              
            
          

6、尾声

以上,便是关于 AutoCAD修改 的一些基本代码,因篇幅有限,某些非关键功能未做详细介绍,如有疑问,欢迎邮件来询。

本文部分功能的实现离不开广大博友的大力帮助,有些功能看似简单,但第一次实现出来却是相当不容易的。

鉴于,相关示例代码相对较少,特写本文,一方面是为自己的阶段性学习做一个总结,另一方面更是为有需要的人提供多一点参考。

如果您已实现一些本文未提及的功能,还请在评论区呈现,以便为后续学习者提供更多的帮助。

胸藏文墨怀若谷,腹有诗书气自华,希望各位都能在知识的pāo子里快乐徜徉。

因本人野生学习Python,水平确实有限,文中难免有所疏漏,还请各位大神不吝批评指正。

最后,祝各位攻城狮们,珍爱生命,保护发际线!

本文部分内容,源于网络!

欢迎大家点赞、评论及转载,转载请注明出处!

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

Python AutoCAD 修改_第1张图片


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论