【已解决】求一个框选数字批量新建对应数字图层并把数字下相应影像归入对应数字图...
本帖最后由 3114637 于 2020-6-7 12:08 编辑一起框选中数字1和2,就新建一个图层名为1和2的图层,并把数字下对应的影像图归到图层1与图层2,数字1与2不用归到图层。如果有多个数字3,4,5,6,7,8也可以一并框选与上面一样。
(defun c:tt (/)
(if (and (xdrx-initssget "\n选择文字<退出>:")
(setq ss (xdrx-ssget '((0 . "text"))))
(setq imgss (ssget "x" '((0 . "IMAGE"))))
(setq imgbox (xd::pnts:close (xdrx-entity-box imgss)))
)
(progn
(xdrx-begin)
(xd::doc:safezoom imgss)
(mapcar '(lambda (x)
(setq box(xdrx-text-box x)
box(xdrx-points-wcs2ucs box)
p4 (xd::geom:get9pt box 4)
p6 (xd::geom:get9pt box 6)
ints (xdrx-get-inters (list p4 p6) imgbox 1)
ss1(ssget "f" ints '((0 . "image")))
)
(setq
lst (mapcar '(lambda (x)
(list (distance (xd::geom:get9pt x 5)
(xd::geom:get9pt box 5)
)
x
)
)
(xdrx-pickset->ents ss1)
)
)
(setq lst (vl-sort lst '(lambda (x y) (< (car x) (car y))))
ent (cadr (car lst))
)
(xdrx-setpropertyvalue
ent
"layer"
(xdrx-getpropertyvalue x "textstring")
)
)
(xdrx-pickset->ents ss)
)
(xdrx-end)
)
)
(princ)
)
marting 发表于 2020-6-6 04:57
谢谢 已解决 非常感谢二楼的分享 咱论坛,真是好多高手和热心人 非常感谢分享 咋提示错误呀!“错误:no function definition: XDRX-INITSSGET”
页:
[1]