找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1248|回复: 7

[讨论]:如何读取和设置当前图层过滤器的名称?(VL办法)

[复制链接]
发表于 2004-8-21 22:02:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
这样,就可以在调用图层对话框之前过滤出要编辑的图层了。
测试来看,当前过滤器的名称并不随图形文件保存,VLISP有没有办法读取和设置当前命名过滤器的名称?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 488个

财富等级: 日进斗金

发表于 2004-8-22 11:32:03 | 显示全部楼层
可能你的cad是特别版本,不随图保存.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-22 14:51:52 | 显示全部楼层
是不是题目没有说清楚?反正我看着晕阿
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-22 16:06:29 | 显示全部楼层
好像还没有人搞出来吧。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-8-22 18:07:01 | 显示全部楼层
最初由 aeo 发布
[B]可能你的cad是特别版本,不随图保存. [/B]


你的能保存?注意“当前”二字。

不过,能否保存不是主要的,每次打开图层对话框,过滤器名都是上次使用的,显然当前会话期间是保留的,问题是怎么通过程序设置当前过滤器名。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-26 12:27:33 | 显示全部楼层

  1. ;;Sorry!設置當前圖層篩檢程式的名稱--------還沒有找到
  2. ;;BY LUCAS(龍龍仔)
  3. ;;讀取圖層篩檢程式的名稱
  4. ;;RETURN: (<圖層篩檢程式的名稱列表> (list ename 當前圖層篩檢程式的名稱))
  5. (defun C:LST_NAME (/              DOC         XDICTLAYERS
  6.                    LAYFILTER  NAME         LST_NAME   ENT
  7.                    ACTIVE_NAME                 ENAME
  8.                   )
  9.   (vl-load-com)
  10.   (setq        DOC            (vla-get-activedocument (vlax-get-acad-object))
  11.         XDICTLAYERS (vla-getextensiondictionary (vla-get-layers DOC))
  12.   )
  13.   (if (/= (vla-get-count XDICTLAYERS) 0)
  14.     (progn
  15.       (setq LAYFILTER (vla-item XDICTLAYERS "ACLYDICTIONARY"))
  16.       (vlax-for        NAME LAYFILTER
  17.         (setq LST_NAME
  18.                (append
  19.                  LST_NAME
  20.                  (list
  21.                    (cdr
  22.                      (assoc 300
  23.                             (setq ENT
  24.                                    (entget (setq ENAME (vlax-vla-object->ename NAME)))
  25.                             )
  26.                      )
  27.                    )
  28.                  )
  29.                )
  30.         )
  31.         (if (assoc 290 ENT)
  32.           (setq ACTIVE_NAME (list ENAME (last LST_NAME)))
  33.         )
  34.       )
  35.     )
  36.   )
  37.   (vlax-release-object DOC)
  38.   (vlax-release-object XDICTLAYERS)
  39.   (list LST_NAME ACTIVE_NAME)
  40. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-27 07:56:50 | 显示全部楼层
运行到 (setq LAYFILTER (vla-item XDICTLAYERS "ACLYDICTIONARY")) 显示
"错误: Automation 错误。 未找到主键"
我改为了

  1. (defun c:layfls (/ layfls lst)
  2. (vl-Catch-All-Apply
  3. '(lambda ()
  4.    (setq layfls(vla-item (vla-GetExtensionDictionary(vla-Get-Layers (vla-Get-ActiveDocument(vlax-Get-Acad-Object))))"ACAD_LAYERFILTERS"))
  5.    (vlax-for n layfls (setq lst (cons (vla-get-name  n) lst)))
  6. )
  7. )
  8. lst
  9. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-27 09:48:32 | 显示全部楼层
Sorry!夢兄:你的程式跟我的並不一樣,試試[連續]執行我附的程式,再看看你(layfls)與我(lst_name)程式的差別。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-27 10:11 , Processed in 0.194818 second(s), 47 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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