669423907 发表于 2019-1-9 11:35:29

请教(vlax-ldata-put (car (entsel)) "diy" "临时")如何改为先选



请教一个问题:

(vlax-ldata-put (car (entsel)) "diy" "临时")
(vlax-ldata-get (car (entsel)) "diy")

(defun c:13()
(setq ss (ssget":s"))
;;;;;;;;;;请问如何转换为可以先选择对象?
(vlax-ldata-put ss "diy" "临时")
(vlax-ldata-get ss "diy")
(princ))

479274135 发表于 2019-1-10 13:45:46

本帖最后由 479274135 于 2019-1-10 13:49 编辑

(defun c:13()
(setq ss (ssget "i"))
(if (= ss nil)
    (setq ss (ssget":s"))
)
...
)

479274135 发表于 2019-1-10 13:46:36

479274135 发表于 2019-1-10 13:45


不知道是不是你想要的,么搞清楚你这个是干什么用的

669423907 发表于 2019-1-10 13:48:16

479274135 发表于 2019-1-10 13:45


选择集要转图元

479274135 发表于 2019-1-10 13:49:47

669423907 发表于 2019-1-10 13:48
选择集要转图元

前面那个代码错了,我改过了
:dizzy:

669423907 发表于 2019-1-10 13:51:59

给图形添加扩展数据,增加自定义组码及表值

-3组码
扩展数据过滤。ALISP 中可以用如下方法。
第一步,注册一个扩展对象应用名
(regapp "xapp")
第二步,选择一个图元并返回组码
(setq En (entget (car (entsel))))
第三步,定义加入图元的扩展数据
(setq data '((-3 ("xapp" (1000 . "你好中国")))))
第四步,将扩展数据附着更新图元
(entmod (appendEn data))
完成,我们可以检查一下扩展数据
(assoc -3 (entget (car (entsel)) '("xapp")))
结果返回
(-3 ("xapp" (1000 . "你好中国")))
用 VLisp 函数给图元添加数据比较简单,无需提前注册名称,例如:
(vlax-ldata-put(car (entsel)) "xa" "你好中国")
查询数据如下:
(vlax-ldata-get (car (entsel)) "xa")
返回: "你好中国"

取之于明经
页: [1]
查看完整版本: 请教(vlax-ldata-put (car (entsel)) "diy" "临时")如何改为先选