wo870711 发表于 2022-2-7 14:48:38

【已解决】求大神帮提取增强属性块内图号和图名,并且复制在剪贴板内,谢谢了

本帖最后由 wo870711 于 2022-2-9 08:49 编辑

如题,我想 提取标题栏里图号和 图名的值,就是我已经填好,但是需要给 提取出来,并且给复制一下,谢谢了。

lijiao 发表于 2022-2-8 09:36:24

(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:28:34

本帖最后由 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:53:04

本帖最后由 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:27

提取对应属性标记的值就是了

wo870711 发表于 2022-2-7 15:30:48

烟盒迷唇 发表于 2022-2-7 15:29
提取对应属性标记的值就是了

大神,我要是会提取就不用问了 ,我还知道这是第8个 第9个。

烟盒迷唇 发表于 2022-2-7 15:38:11

wo870711 发表于 2022-2-7 15:30
大神,我要是会提取就不用问了 ,我还知道这是第8个 第9个。

论坛这么多资源,搜一下属性值怎么获取就得了

wo870711 发表于 2022-2-7 15:44:55

烟盒迷唇 发表于 2022-2-7 15:38
论坛这么多资源,搜一下属性值怎么获取就得了

我想说我找了一下午,也没找到,我再找找看吧。

叮咚 发表于 2022-2-7 16:12:51

付费的话,可以联系我, qq 1020952830

guohq 发表于 2022-2-7 17:09:59

发个样图测个测试呢

mikewolf2k 发表于 2022-2-7 17:10:54

这是非常基础的应用,无论是读还是写,应该都有大量现成的代码。

wo870711 发表于 2022-2-8 08:11:24

mikewolf2k 发表于 2022-2-7 17:10
这是非常基础的应用,无论是读还是写,应该都有大量现成的代码。

可能是我搜的关键词不对,搜了好久相关的都没搜到。
页: [1] 2 3
查看完整版本: 【已解决】求大神帮提取增强属性块内图号和图名,并且复制在剪贴板内,谢谢了