Python AutoCAD 图层 您所在的位置:网站首页 cad更改图层线型大小 Python AutoCAD 图层

Python AutoCAD 图层

2024-03-14 20:12| 来源: 网络整理| 查看: 265

目 录 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: [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 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 源代码。

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有