iamhuangjinming 发表于 2016-10-22 22:53:01

这是我用来把块里的对象图层置为当前的插件,我想实现点取块内的一个数字对象然后。。

然后把它的值(princ )出来备用。大神来帮个忙吧。
(defun c:bss (/ e el)

(while(and(setq e(nentselp "\n选择块内实体: "))

            (= (length e) 4)

         )

    (setq el (entget (car e)));1

    (entmake el)

    (vla-transformby

      (vlax-ename->vla-object (entlast))

      (vlax-tmatrix (caddr e))

    )

)

(princ)
(command "LAYMCUR" (entlast))
(command "erase" (entlast)"")
)

springwillow 发表于 2016-10-23 07:15:47

只能说你绕远了,nentselp能直接得到块内对象的图元名,然后直接得到组码8就是图层,如果是text对象直接提取组码1就是文字内容!

iamhuangjinming 发表于 2016-10-23 07:55:57

springwillow 发表于 2016-10-23 07:15
只能说你绕远了,nentselp能直接得到块内对象的图元名,然后直接得到组码8就是图层,如果是text对象直接提 ...

可以帮我写出来么,我不会呢,thank you

springwillow 发表于 2016-10-23 17:43:27

iamhuangjinming 发表于 2016-10-23 07:55
可以帮我写出来么,我不会呢,thank you

你都写出90%的代码了,多研究一步就可以了。
(defun c:bss (/ e el)

(while(and(setq e(nentselp "\n选择块内实体:\n"))

            (= (length e) 4)

         )
    (setq el (entget (car e)));1
    (if (= (cdr (assoc 0 el)) "TEXT")
      (princ (cdr (assoc 1 el)))
      (alert"选择的对象不是块内文字对象")
    )

)
(princ)
)

iamhuangjinming 发表于 2016-10-24 00:43:35

啊啊啊啊啊啊啊啊啊啊,谢谢你
页: [1]
查看完整版本: 这是我用来把块里的对象图层置为当前的插件,我想实现点取块内的一个数字对象然后。。