需要提供dwg,根据源程序,C:gbk的(princ)不能要,否则,主程序的(setq p =(princ)所以需要改成ss这样返回ss选择集给p,才能下一步。
 - (defun c:gbk( / pt1 pt2 elist iname ss )
- (setq elist(entget(car(entsel "\n 请选择需要的图块"))))
- (setq pt1 (getpoint "请输入所需范围点1"))
- (setq pt2 (getcorner pt1 "请输入所需范围点2"))
- (setq iname (assoc 2 elist)) ;;;获取图块名称
- (setq ss (ssget "W" pt1 pt2 (list'(0 . "insert") iname)));;;过滤条件
- (sssetfirst nil ss)
- ss
- )
|