来自WP的SS
有人能给我看一下从用户选择的窗口多边形中选择集的代码吗?帮助仅显示从预设的一批坐标中定义的一个坐标。
我还需要它只获取具有特定名称的块(2,“名称”)
谢谢 您可以使用ssnamex从选择集中获取信息 谢谢李。研究了SSNAMEX,这超出了我的技能范围。我的Lisp程序技能可以追溯到R12。。。。
我想我做到了:
(命令“select”“WP”)
(setq ss1(ssget“_P”'((2。“P-MH”)))
我在找更干净的东西,但很管用。 你好
试试这个
(setq SS1 (ssget
"_WP"
(while (/= (setq Pnt (getpoint "Pick a Point: \n")) nil)
(setq Pnt_List (cons Pnt Pnt_List))
)
'((2 . "M-PH"))
)
)
祝你过得愉快。
肖恩 这个怎么样?
(defun GetWindowPoly (/ PtLst pt gr)
;; Lee Mac~31.01.10
(if (car (setq ptLst (list (getpoint "\nSpecify First Point: "))))
(progn
(princ "\nPick Window Points >>")
(while
(setq pt
(progn
(while
(and (= 5 (car (setq gr (grread 't 5 0))))
(listp (cadr gr)))
(redraw)
(mapcar
(function
(lambda (from to)
(grdraw from to 3 1)))
(cons (cadr gr) ptLst) (append ptLst (cdr gr))))
(cond ((listp (cadr gr)) (cadr gr)))))
(cond (pt (setq ptLst (cons pt ptLst)))))
(redraw)
(reverse ptLst))))
(defun c:test (/ pts ss)
(if (and (setq pts (GetWindowPoly))
(setq ss(ssget "_WP" pts)))
(sssetfirst nil ss))
(princ))
很遗憾OSnap 嗨,李,我前几天了解到,所有SSGET,除了“X”,都需要在屏幕上显示点。
当拾取最后一个点时,我可能会进行平移和缩放,而之前的点不会显示在屏幕上,SSGET返回零。
在这种情况下,我进行缩放。
也许是真的,我的只是一个开窗的例子 谢谢大家!它在工作!
页:
[1]