【已解决】求大神帮提取增强属性块内图号和图名,并且复制在剪贴板内,谢谢了
本帖最后由 wo870711 于 2022-2-9 08:49 编辑如题,我想 提取标题栏里图号和 图名的值,就是我已经填好,但是需要给 提取出来,并且给复制一下,谢谢了。
(setq ref (car (entsel))) ;;;选择图块引用
(setq refobj (vlax-ename->vla-object ref))
(vla-get-HasAttributes refobj) ;;;值为:vlax-true,表示具有属性
(setq atts (vla-GetAttributes refobj)) ;;;获取稍有属性
(setq atts (VLAX-SAFEARRAY->LIST (VLAX-VARIANT-VALUE atts)))
(setq atts (mapcar '(lambda(x)
(cons (vla-get-TagString x) x))
atts
)
)
(vla-get-TextString (cdr (assoc "图样名称" atts))) ;;;"图样名称"的属性值
(vla-get-TextString (cdr (assoc "图样代号" atts))) ;;;"图样代号"的属性值 本帖最后由 vitalgg 于 2022-2-8 09:30 编辑
wo870711 发表于 2022-2-8 08:14
大神,你这个是提取了所有的值么,提取所有的值我找到代码了,但是我就想提取其中的某项怎么弄。
如果你要现成的,可以求助会开发的给你写。
如果你想学习怎么开发,可以从基础学起。
(cdr (assoc "图样名称" (block:get-attributes (car(entsel)))))(cdr (assoc "图样代号" (block:get-attributes (car(entsel)))))
本帖最后由 vitalgg 于 2022-2-8 06:55 编辑
(block:get-attributes (car(entsel))) ;; 将属性名和值以点对表的形式返回。
使用方法:
1, 安装@lisp
2.(require 'block:*)
3.(block:get-attributes (car(entsel)))
函数源码:http://atlisp.cn/function/block:get-attributes
复制到剪贴板 参见函数http://atlisp.cn/function/clipboard:setdata
提取对应属性标记的值就是了 烟盒迷唇 发表于 2022-2-7 15:29
提取对应属性标记的值就是了
大神,我要是会提取就不用问了 ,我还知道这是第8个 第9个。 wo870711 发表于 2022-2-7 15:30
大神,我要是会提取就不用问了 ,我还知道这是第8个 第9个。
论坛这么多资源,搜一下属性值怎么获取就得了 烟盒迷唇 发表于 2022-2-7 15:38
论坛这么多资源,搜一下属性值怎么获取就得了
我想说我找了一下午,也没找到,我再找找看吧。 付费的话,可以联系我, qq 1020952830 发个样图测个测试呢 这是非常基础的应用,无论是读还是写,应该都有大量现成的代码。 mikewolf2k 发表于 2022-2-7 17:10
这是非常基础的应用,无论是读还是写,应该都有大量现成的代码。
可能是我搜的关键词不对,搜了好久相关的都没搜到。