明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2171|回复: 12

怎样获得图形中所有图层名称????

  [复制链接]
发表于 2005-7-9 23:32:00 | 显示全部楼层 |阅读模式
我的图形中有N个图层!!怎样才能获得图形中所有图层的名称呢???


谢谢大侠帮忙!!!!!
发表于 2005-7-10 07:54:00 | 显示全部楼层
用這個涵數(LAYOUTLIST)
发表于 2005-7-10 09:53:00 | 显示全部楼层
 楼主| 发表于 2005-7-10 10:25:00 | 显示全部楼层
2楼说的函数我的VLISP函数HELP中没有此函数!!


但是我在编辑器中试了试这个确实是个函数!!!!!


怎么回事!!难道我的VLISP的HELP不全??


能帮帮我吗?


3楼的办法我试了!!OK!!!谢谢了 !!!
发表于 2005-7-10 10:28:00 | 显示全部楼层
 楼主| 发表于 2005-7-10 10:38:00 | 显示全部楼层
我是初学者!5楼说的我不明白!能说的更详细点吗 ????


谢谢!
发表于 2005-7-10 11:21:00 | 显示全部楼层
呵呵, 好象没有什么人有这个插件哦 没有关系, 我给你另一个方法1 (setq XlayERS(vla-get-layERS(vla-get-activedocument(vlax-get-acad-object))))
(setq Nlist nil i 0)
(repeat (vla-get-count XlayERS)
(setq Nlist(append Nlist (list (vla-get-name(vla-item XlayERS i))))
i (1+ i)))
发表于 2005-7-11 08:22:00 | 显示全部楼层
BDYCAD发表于2005-7-10 7:54:00用這個涵數(LAYOUTLIST)

帮助中有这个函数介绍,不过这是布局列表,不是图层
发表于 2005-7-11 11:57:00 | 显示全部楼层
;要列出所有图层名,请试用以下程序
(defun c:cc()
   (sysmeb "layer")
)
(defun sysmeb (fhbm / fhz k b)
   (setq fhz nil k 1)
   (while (setq b (tblnext fhbm k))
      (setq fhz (append fhz (list (cdr (assoc 2 b))))
     k  nil
      )
   )
   fhz
)
发表于 2005-7-11 16:11:00 | 显示全部楼层

这是我正使用的办法。试试如何。

 ' 获得图层数量
    Set colLayers = ThisDrawing.Layers
    ReDim aryLayerNames(colLayers.Count - 1)
    '获得图层名称
    For intLayerCnt = 0 To colLayers.Count - 1
        aryLayerNames(intLayerCnt) = colLayers.Item(intLayerCnt).Name
        '获得当前图层名称
        If ThisDrawing.ActiveLayer.Name = aryLayerNames(intLayerCnt) Then
           touchen = aryLayerNames(intLayerCnt)
        End If
   Next
   
    '向组合框中添加图层名称
     For intLayerCnt = LBound(aryLayerNames) To UBound(aryLayerNames)
        ComboBox1.AddItem aryLayerNames(intLayerCnt)
     Next

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-17 17:33 , Processed in 0.195029 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表