求思路:选择一个rectangle 里的所有文字图元
求帮忙:假如我先用图层 “1” 画一个矩形框,再在 这个矩形框 里面放上很多文字图元,
现在我想编一段代码,自动得到这个框里的所有文字图元,
该怎样组织?谢谢
vla-SelectByPolygon +过滤 zzyong00 发表于 2015-12-10 15:17 static/image/common/back.gif
vla-SelectByPolygon +过滤
原来还有这种函数! vla-SelectByPolygon +过滤 很高级,不会用
试着写了个(defun c:ts(/ en ent ptl ss)
(if (setq ent (entsel))
(progn
(setq en (car ent)
ptl (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget en)))
ss (ssget "wp" ptl '((0 . "*text")))
)
(sssetfirst nil ss)
)
)
(princ)
) xiaolong1487 发表于 2015-12-26 00:31 static/image/common/back.gif
vla-SelectByPolygon +过滤 很高级,不会用
试着写了个
谢谢
,我也写了一个,已经能用了
(setq SS (ssget "X"(list (cons 8 "X$$-MB")(cons 0 "LWPOLYLINE")) )COUNT -1SSLAY NIL)
(while (setq OBJ (ssname SS (setq COUNT (1+ COUNT))))
(setq PNTS (mapcar 'cdr(vl-remove-if-not '(lambda (IX) (= (car IX) 10))(entget OBJ)))
SOBJSET(ssget "WP" PNTS '((0 . "*TEXT"))) )
(if SOBJSET
(progn
(setq I 0)
(repeat (sslength SOBJSET)
(if (not (member (cdr(assoc 8 (entget(ssname SOBJSET I)))) SSLAY))
(setqSSLAY (append SSLAY (list (cdr (assoc 8 (entget (ssname SOBJSET I))))))) )
(setq I (1+ I) ) ) ) ) ) 但上述的代码有个问题还需要解决,就是 只能对“可视范围内的”、”可见的“图元有效,否则就无效。
谁能指点一下 iJero 发表于 2016-1-6 23:44 static/image/common/back.gif
但上述的代码有个问题还需要解决,就是 只能对“可视范围内的”、”可见的“图元有效,否则就无效。
谁能 ...
zoom a 再执行 再ZOOM p xiaolong1487 发表于 2016-1-7 07:26 static/image/common/back.gif
zoom a 再执行 再ZOOM p
(command "ZOOM" "a" ) 这样吗? 非常不错的代码,谢谢分享好的代码
页:
[1]