如何选中选择集 sss 里最后生成的 (0 . "dimension")
向大家请教一个问题:如何选中选择集 sss 里最后生成的
(8 . "标注")
(0 . "dimension") (Defun C:tt (/ i s1 ss)
(setq i-1 ss (ssget))
(while (setq s1 (ssname ss (setq i (1+ i))))
(print (Assoc 8 (Entget s1)))
(print (Assoc 0 (Entget s1)))
)(princ)
) 1993063 发表于 2014-8-27 09:09 static/image/common/back.gif
(Defun C:tt (/ i s1 ss)
(setq i-1 ss (ssget))
(while (setq s1 (ssname ss (setq i (1+ i))))
首先非常感谢你的回复,只是我看不懂啊,不知怎么改,还望明示 试试(sssetfirst nil sss)
(setq ss(ssget "P" '((8 . "标注")(0 . "dimension"))))
(sssetfirst) 本帖最后由 1993063 于 2014-8-26 15:43 编辑
669423907 发表于 2014-8-26 15:27 static/image/common/back.gif
首先非常感谢你的回复,只是我看不懂啊,不知怎么改,还望明示
你不就要这效果么?
(8 . "标注")
(0 . "dimension")
;遍历图元提取组码0和8 1993063 发表于 2014-8-27 09:40 static/image/common/back.gif
你不就要这效果么?
(8 . "标注")
(0 . "dimension")
;可见区域处理(hbllw 2010-11-6)
(defun kjqycl( / $screen atio ce ch ch2 hh hh2 k p1 p2 ss)
(setq $screen (getvar "SCREENSIZE"))
(setq ch (getvar "viewsize"))
(setq ch2 (/ ch 2)) (setq ce (getvar "viewctr"))
(setq atio (/ (car $screen) (cadr $screen)))
(setq hh (* atio ch))
(setq hh2 (/ hh 2))
(setq p1 (polar (polar ce 0 hh2)
(* 1.5 pi) ch2))
(setq p2 (polar (polar ce pi hh2)
(* 0.5 pi) ch2))
(setq chuangkou (ssget "C" p1 p2))
(princ))
(Defun C:`Q()
(kjqycl)
,,,,,,,,,,,,,,,,,
亮显 chuangkou 中最后的生成的(8 . "标注")(0 . "dimension")
这样表达应该好多了 edata 发表于 2014-8-27 09:31 static/image/common/back.gif
试试
谢谢参与,详见6楼 本帖最后由 edata 于 2014-8-27 12:46 编辑
;可见区域处理(hbllw 2010-11-6)
(defun kjqycl( / $screen atio ce ch ch2 hh hh2 k p1 p2 ss)
(setq $screen (getvar "SCREENSIZE"))
(setq ch (getvar "viewsize"))
(setq ch2 (/ ch 2)) (setq ce (getvar "viewctr"))
(setq atio (/ (car $screen) (cadr $screen)))
(setq hh (* atio ch))
(setq hh2 (/ hh 2))
(setq p1 (polar (polar ce 0 hh2)
(* 1.5 pi) ch2))
(setq p2 (polar (polar ce pi hh2)
(* 0.5 pi) ch2))
(if (setq chuangkou (ssget "C" p1 p2))
(sssetfirst nil chuangkou)
)
(if (setq ss(ssget "P" '((8 . "标注")(0 . "dimension"))))
(progn
;(sssetfirst nil ss) 亮显所有
(sssetfirst nil (ssadd (ssname ss 0)));亮显最后一个
)
)
(princ))
(Defun C:`Q()
(kjqycl)
) 本帖最后由 669423907 于 2014-8-27 14:06 编辑
edata 发表于 2014-8-27 12:39 static/image/common/back.gif
谢谢E大,我运行时,程序无过滤,全亮了。还有一个问题:
(kjqycl)是个公用的程序,有好几个小程序要用到,比方说修剪,局部刷新一些图层操作,,,,,,,,,
所以只想在(Defun C:`Q()中操作,,,
再次有劳E大了 本帖最后由 1993063 于 2014-8-27 13:42 编辑
(defun kjqycl (/ $screen atio ce ch ch2 hh hh2 k p1 p2 ss)
(setq $screen (getvar "SCREENSIZE"))
(setq ch (getvar "viewsize"))
(setq ch2 (/ ch 2))
(setq ce (getvar "viewctr"))
(setq atio (/ (car $screen) (cadr $screen)))
(setq hh (* atio ch))
(setq hh2 (/ hh 2))
(setq p1 (polar (polar ce 0 hh2)
(* 1.5 pi)
ch2
)
)
(setq p2 (polar (polar ce pi hh2)
(* 0.5 pi)
ch2
)
)
(setq chuangkou (ssget "C" p1 p2))
(princ)
)
(defun c:tt nil ( kjqycl))
页:
[1]