- 积分
- 13457
- 明经币
- 个
- 注册时间
- 2004-10-9
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
;;;利用pedit命令中的合并j,功能将相连的line,pline连成整体
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun pd_err (s)
(setvar "peditaccept" pe)
(setvar "cmdecho" cm)
(command "_.undo" "_e")
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:kk (/ pe cm sg pd_err0) ;/pedit m 模糊距离100
(princ "\n选择要连接成 Pline 的对象(line,arc,pline) <退出>:") ;命令注释,\n,表示与上面的pe换行。
(setq pe (getvar "peditaccept")) ;储存用户peditaccept的值于pe中
(setq cm (getvar "cmdecho"))
(setq pd_err0 *error* *error* pd_err) ;返回上面的出错函数
(setvar "peditaccept" 1) ;设置变量,抑制显示“选取的对象不是多段线”的提示。
(setvar "cmdecho" 0)
(setq sg (ssget '((0 . "*line,arc,pline")))) ;储存选择集到sg中
(if sg
(progn
(command ".pedit" "m" sg "" "j" "j" "b" "300" "")
;调用sg中选择到的对象,"",表示回车确认
)
)
(setvar "peditaccept" pe) ;返回用户储存在pe中的peditaccept值
(setvar "cmdecho" cm)
(setq *error* pd_err0)
(princ) ;出错处理,抑制出错提示。
)
上面的代码,我设置了(setq sg (ssget '((0 . "*line,arc,pline")))),这个过虑条件,为什么程序在实际的运行过程中,还是可以选择SPLINE了?怎么样修改了谢谢。求修改后的结果代码?谢谢大神!
|
|