如何用Vlisp程序,获取用entsel选定的活动属性块内每个非属性图元的属性列表
1条回答 默认 最新
关注 【以下回答由 GPT 生成】
答案:
- 使用Vlisp编写的程序可以通过以下代码使用
entsel
命令选定活动属性块:
(defun select-attset () (setq sel (entsel "\nSelect attribute block: ")) (setq attset (car sel)) )
- 遍历选定的活动属性块,可以使用
entnext
和nentselp
命令。下面是一个示例代码,演示了如何遍历选定的活动属性块,并获取其中的每个非属性图元:
(setq obj (car (entsel "\nSelect attribute block: "))) (setq blk (cdr (assoc 330 (entget obj)))) (setq ent nil) (setq lst nil) (while (setq ent (entnext ent)) (if (/= (cdr (assoc 0 (entget ent))) "ATTDEF") (setq lst (cons ent lst)) ) ) (setq count (length lst)) (setq attobjs (vla-get-attributes (vlax-ename->vla-object obj))) (setq attcnt (vla-get-count attobjs)) (princ (strcat "Number of non-attribute entities: " (itoa count))) (princ "\n") (repeat attcnt (setq attobj (vla-item attobjs (1+ it))) (princ (strcat "\nAttribute tag: " (vla-get-tagstring attobj))) (princ "\n") )
- 下面是一个示例代码,可以获取每个非属性图元的属性列表:
(setq obj (car (entsel "\nSelect attribute block: "))) (setq blk (cdr (assoc 330 (entget obj)))) (setq ent nil) (setq lst nil) (while (setq ent (entnext ent)) (if (/= (cdr (assoc 0 (entget ent))) "ATTDEF") (setq lst (cons ent lst)) ) ) (repeat (length lst) (setq ent (car lst)) (setq att (entget ent)) (setq attval (cdr (assoc 1 att))) (setq atttag (cdr (assoc 2 att))) (princ (strcat "\nAttribute value: " attval)) (princ (strcat "\nAttribute tag: " atttag)) (setq lst (cdr lst)) )
以上是使用Vlisp编写的程序,可通过
entsel
命令选定活动属性块,遍历其中的非属性图元,并获取它们的属性列表。希望对你有所帮助!如果还有其他问题,请随时提问。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决 无用评论 打赏 举报- 使用Vlisp编写的程序可以通过以下代码使用
悬赏问题
- ¥15 模电中二极管,三极管和电容的应用
- ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
- ¥15 气象网格数据与卫星轨道数据如何匹配
- ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
- ¥15 微软账户问题不小心注销了好像
- ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
- ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
- ¥20 关于web前端如何播放二次加密m3u8视频的问题
- ¥15 使用百度地图api 位置函数报错?
- ¥15 metamask如何添加TRON自定义网络