找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1000|回复: 8

[LISP程序]:多功能列表集成小程序---可列出图层名,块名,文字/标注样式名

[复制链接]
发表于 2004-4-16 14:12:51 | 显示全部楼层 |阅读模式

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

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

×
多功能列表集成小程序
可列出图层名,块名,文字/标注样式名。。。共12个功能集一起的小程序:
[php]
(defun c:test ( / lst)
  (initget " B D DM G L LO LT P V VP R T")
  (setq k (getkword "\nEnter an Option[Block/Dictionary/DiMstyle/Group/Layer/LayOut
                    /LineType/Plotconfig/Regapp/View/ViewPort/Textstyle]:"))
  (setq doc (vla-get-activedocument (vlax-get-Acad-Object)))
  (vlax-for item
    (cond
      ((= k "B")(vla-get-Blocks doc))
      ((= k "D")(vla-get-Dictionaries doc))
      ((= k "DM")(vla-get-Dimstyles doc))
      ((= k "G")(vla-get-Groups doc))
      ((= k "L")(vla-get-Layers doc))
      ((= k "LO")(vla-get-Layouts doc))
      ((= k "LT")(vla-get-Linetypes doc))
      ((= k "P")(vla-get-PlotConfigurations doc))
      ((= k "R")(vla-get-RegisteredApplications doc))
      ((= k "V")(vla-get-Views doc))
      ((= k "VP")(vla-get-viewports doc))
      ((= k "T")(vla-get-Textstyles doc))
    )
    (if (= k "D")
      (setq lst (cons (vla-get-objectName item) lst))
      (setq lst (cons (vla-get-Name item) lst))
    )
  )
  (reverse lst)
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-4-16 19:32:14 | 显示全部楼层

你的东东很好用

老兄,多发点上来
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2004-4-17 12:12:37 | 显示全部楼层

Re: [LISP程序]:多功能列表集成小程序---可列出图层名,块名,文字/标注样式名

最初由 lsjjm 发布
[B]多功能列表集成小程序
[/B]


Dictionary,返回没什么用了

搞了很久,最后加只能容错了:)
[php]
(defun c:test( / doc ini item name return sel)
(setq doc (vla-get-activedocument (vlax-get-Acad-Object))
       ini"Blocks Dictionaries DIMstyles Groups Layers layOuts lineTYpes plotConfigurations RegisteredApplications Views viewPorts Textstyles"
)
(initget ini)
(if(setq sel(getkword (strcat"\n选择[ "ini"]:")))
   (vlax-for item (vlax-get doc sel)
    (if(not(vl-catch-all-error-p (setq name(vl-catch-all-apply 'vlax-get(list item 'name)))))
        (setq return(cons name return))
   )))
  (reverse return)
)[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-17 17:23:32 | 显示全部楼层
搞了很久,最后加只能容错了:)什么意思
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

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

使用道具 举报

发表于 2004-4-17 22:03:32 | 显示全部楼层
呵呵,菜鸟再麻烦各位:
vlisp 里,怎样通过选择图块返回 块名 啊?
我想使用 (entget (car(entsel)))
但不知道该怎样获得块名称,请求帮助

(defun c:sk (/ blk_na ss)
        ;此处通过选择图块返回 块名 blk_na
        (setq ss (ssget  (list (cons 2 blk_na)(0 . "insert"))))
    (prompt (strcat "当前选择TownHouse的数量是 " (itoa (sslength ss))))
  (princ "   栋。")
  (princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2004-4-17 22:08:24 | 显示全部楼层
最初由 chstart 发布
[B]呵呵,菜鸟再麻烦各位:
vlisp 里,怎样通过选择图块返回 块名 啊?
我想使用 (entget (car(entsel)))
但不知道该怎样获得块名称,请求帮助

(defun c:sk (/ blk_na ss)
        ;此处通过选择图块返回 块名 ... [/B]


不知道你要表达什么,你又问了问题,又给了答案,你在“设问”吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-17 22:40:34 | 显示全部楼层
呵,找到了,刚刚翻了函数说明,

(assoc '2 (entget (car (entsel)) )

太不努力了。谢谢斑竹提醒。我把自己的程序写完。

[php]
(defun c:bbb (/ blk_na ss)
        (setq blk_na (cdr(assoc '2 (entget (car (entsel))))))
        (setq ss (ssget  (list (cons 2 blk_na) '(0 . "insert"))))
    (prompt (strcat "当前选择块" blk_na "的数量是  " (itoa (sslength ss))))
  (princ )
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-17 23:06:50 | 显示全部楼层
最初由 aeo 发布
[B]Dictionaries有的有名称,有的没有。
我只能不管3721,vl-catch-all-apply 了:) [/B]

(vlax-property-available-p vlaobj property)
你用了么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 05:13 , Processed in 0.271950 second(s), 48 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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