dhl 发表于 2022-7-6 12:18:06

Ssget“wp”

我试图找到最平滑的使用方法(ssget“wp”ptlist)
 
我希望它尽可能类似于(命令“select”“wp”)。(也许可以从select wp中提取ptlist?)
 
哪种方式最好?绘制多段线?

JohnM 发表于 2022-7-6 12:57:34


;;;**************** example 1***********
(setq ptlst '())
(setq pts 1)
(while pts
(setq pts(getpoint "\nSelect Point: "))
(if pts (setq ptlst (cons pts ptlst)))
);_while
(if pts (setq ss(ssget "_WP" ptlst)))
;;;***********example 2
(command "select" "WP")
(setq ss (ssget "_P"))

gile 发表于 2022-7-6 13:37:42

约翰,你可以让它更简洁一点:
 
(while (setq pt (getpoint pt "\nSpecify a point:"))
(setq ptlst (cons pt ptlst))
)
(if ptlst
(setq ss (ssget "_WP" ptlst))
)
 
另一种更“图形化”的方式
 
(defun c:sswp (/ pt ptlst ss)
(if (setq pt (getpoint "\nSpecify a point:"))
   (progn
   (setq ptlst (list pt))
   (while (setq pt (getpoint pt "\nSpecify a point:"))
       (redraw)
       (setq ptlst (cons pt ptlst))
       (grvecs (apply 'append (mapcar 'list ptlst (cdr ptlst))))
   )
   (setq ss (ssget "_WP" ptlst))
   (redraw)
   (sssetfirst nil ss)
   )
)
(princ)
)
页: [1]
查看完整版本: Ssget“wp”