目 录

  • Blog Links
  • 一、连接及库导入
  • 二、新建图层
  • 三、颜色设置
  • 四、线型设置
  • 五、线宽设置
  • 六、批量创建
  • 七、图层读取
  • 八、尾声

Blog Links

  • DalNur | 博客总目录

  • Python 二次开发 AutoCAD 简介

  • Python 二次开发 AutoCAD 设置

  • Python 二次开发 AutoCAD 图层

  • Python 二次开发 AutoCAD 绘图

  • Python 二次开发 AutoCAD 修改

  • Python 二次开发 AutoCAD 块组

  • Python 二次开发 AutoCAD 注释

  • Python 二次开发 AutoCAD 文件

  • Python 二次开发 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的整数倍;其他数值非系统默认;# 可以修改现有线宽,但不能添加或删除线宽,修改在CAD程序中进行。

六、批量创建

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]  # 批量创建图层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 图层 的一些基本代码,因篇幅有限,某些非关键功能未做详细介绍,如有疑问,欢迎邮件来询。

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

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

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

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

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

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

  本文最早发表于 2018-12-13 18:20:21,作为博客 Python 二次开发 AutoCAD 简介 的一部分。

  为了清晰直观,于 2019-07-20 14:16:23 单独创建本文。

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

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

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

  打赏可备注邮箱,本人将赠送本系列博客的全部 Python 源代码。

Python AutoCAD 图层相关推荐

  1. autocad python二次开发_基于Python AutoCAD ActiveX 二次开发,pyautocad应用技术

    AutoCAD应用程序开发系列 基于Python AutoCAD ActiveX 二次开发技术 主要库:pyautocad==0.2.0 内容#:基于Python AutoCAD ActiveX 二次 ...

  2. Python AutoCAD 注释

    目 录 Blog Links 一.前言 二.单行文本 2.1. 创建新文本 2.2. 对齐方式 2.3. 文本缩放 三.多行文本 四.文本样式 4.1. 创建文字样式 4.2. 将特定文字样式设为当前 ...

  3. Python AutoCAD 块组

    目 录 Blog Links 一.连接及库导入 二.块 2.1. 创建新块 2.2. 添加图元到块 2.3. 插入块 2.3.1. 从当前文件中插入块 2.3.2. 外部文件作为块插入 2.4. 添加 ...

  4. 基于Python AutoCAD ActiveX 二次开发,pyautocad应用技术

    AutoCAD应用程序开发系列 基于Python AutoCAD ActiveX 二次开发技术 主要库:pyautocad==0.2.0 内容#:基于Python AutoCAD ActiveX 二次 ...

  5. Python AutoCAD 设置

    目 录 Blog Links 一.前言 二.颜色设置 2.1 设置模型空间背景色 2.1 设置十字光标颜色 三.显示设置 3.1 显示线宽 3.2 显示自动捕捉靶框 3.3 显示自动捕捉标记 3.4 ...

  6. python autocad显示_Python AutoCAD 系统设置的实现方法

    1. 连接及库导入 #!/usr/bin/env python # -*- coding: utf-8 -*- ''' ============================= Author:Dal ...

  7. python autocad库_Python AutoCAD 系统设置的实现方法

    1. 连接及库导入 #!/usr/bin/env python # -*- coding: utf-8 -*- ''' ============================= Author:Dal ...

  8. python控制autocad_Python AutoCAD系统设置如何实现 Python AutoCAD系统设置实现代码

    本篇文章小编给大家分享一下Python AutoCAD系统设置实现方法,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 1. 连接及库导入 #!/usr ...

  9. python autocad显示_python 使用pyautocad操作AutoCAD

    一.python 连接AutoCAD的两种基本方法 1.使用pyautocad from pyautocad import Autocadpyacad = Autocad(create_if_not_ ...

  10. python autocad显示_通过Python打开Autocad的新实例

    有人有在Autocad中使用Python的经验吗?我只是在尝试,作为一个测试,看看我是否可以通过Python打开一个新的Autocad实例,尽管PyAutocad工作得很好(如果您有其他建议,请随时提 ...

最新文章

  1. 面对千亿客服市场:曾经人工当道,如今AI为王
  2. a类不确定度计算器_统统帮您搞定:LIMS系统,换版、内审、期间核查、不确定度、数据分析…………...
  3. java红黑树_JAVA学习-红黑树详解
  4. [转]parseUrl函数
  5. JavaScript命名规范与变量声明的注意事项
  6. 微信朋友圈:应对春节千亿访问量背后的故事
  7. 关于信用管理--信用更新
  8. 算法竞赛入门与进阶 (四)二分
  9. Centos 能ping通域名和公网ip但是网站不能够打开,服务器拒绝了请求。打开80端口解决。...
  10. mysql 空位补0_MySQL-13(表的创建、数值类型整型、float/decimal、ZEROFILL、BIT(M))
  11. android 图片素描算法
  12. 两个栈实现队列,两个队列实现栈
  13. css-盒子模型详解以及远视图的制作
  14. SpringBoot配置文件application.yml属性解读及使用学习记录
  15. HBuilderX 连接网易mumu手机模拟器进行App开发
  16. 仿ios网易支付登录特效
  17. 锐捷笔试题java_2018秋招锐捷笔试试题
  18. POJ 2924 Gauß in Elementary School(简单题)
  19. 多页面分页打印功能实现
  20. access2003数据库连接

热门文章

  1. android h5 保存通讯录,h5+调用系统通讯录
  2. axure rp10安装教程,axurerp10安装步骤
  3. pom.xml 注释
  4. BUG记录 —— JSON转对象部分字段丢失
  5. 计算机软件水平考试中级题目,计算机软考中级考试试题及答案
  6. UG NX二次开发(C++)-环境设置-内部模式(插件)制作设置
  7. 车牌定位html5,车牌识别(一)——车牌定位(附详细代码及注释)
  8. 远卓:数字化转型的精益化思考
  9. Adblock Plus官网最新下载 中文,绿色版Adblock Plus下载谷歌插件,edge,电脑版exe,火狐版,搜狗浏览器,ie浏览器
  10. 历史chrome(离线)版本下载