没有合适的资源?快使用搜索试试~ 我知道了~
cad中删除重复实体
4星 · 超过85%的资源 需积分: 45 86 下载量 189 浏览量
2011-07-04
12:12:25
上传
评论 1
收藏 7KB TXT 举报
温馨提示
试读
6页
删除cad中重复实体,使用lsp语言编写的,只需加载到cad中就可以使用了。
资源推荐
资源详情
资源评论
;huangsancai 2000
(defun get-utime ()
(* 86400 (getvar "tdusrtimer"))
)
;------------------------------
(defun c:sc()
(command "osnap" "off")
;-------------------------------
(command "layer" "c" 4 "" "" )
(setq bx (getint "\n 请输入欲删重叠层数[1]: "))
(if (= bx nil) (setq bx 1))
(setq q1 (getpoint "\n 请选择范围:"))
(setq q2 (getcorner q1 ))
;-------------------------------
(setq shulian (ssget "c" q1 q2))
(if (= shulian nil) (progn (alert " SC提示:选择为空!") (exit)))
(setq shulian (itoa (sslength shulian)))
;------------------------------------------------------------
(setq r (getint "\n 缺省为1/请输入欲分范围均行列数[1~30]: "))
(if (= r nil) (setq r 1))
(setq t0 (get-utime))
(command "rectang" "w" r q1 q2 "")
(setq r1 (+ r 1))
(setq r2 (* r r1))
(setq r3 (- (* r r 2) 1))
(setq r4 (+ r 2))
(setq ax 0) ;计数器
;----------------------------------------
(setq x1 (/ (- (nth 0 q2) (nth 0 q1)) r))
(setq y1 (/ (- (nth 1 q1) (nth 1 q2)) r))
(defun get-utime ()
(* 86400 (getvar "tdusrtimer"))
)
;------------------------------
(defun c:sc()
(command "osnap" "off")
;-------------------------------
(command "layer" "c" 4 "" "" )
(setq bx (getint "\n 请输入欲删重叠层数[1]: "))
(if (= bx nil) (setq bx 1))
(setq q1 (getpoint "\n 请选择范围:"))
(setq q2 (getcorner q1 ))
;-------------------------------
(setq shulian (ssget "c" q1 q2))
(if (= shulian nil) (progn (alert " SC提示:选择为空!") (exit)))
(setq shulian (itoa (sslength shulian)))
;------------------------------------------------------------
(setq r (getint "\n 缺省为1/请输入欲分范围均行列数[1~30]: "))
(if (= r nil) (setq r 1))
(setq t0 (get-utime))
(command "rectang" "w" r q1 q2 "")
(setq r1 (+ r 1))
(setq r2 (* r r1))
(setq r3 (- (* r r 2) 1))
(setq r4 (+ r 2))
(setq ax 0) ;计数器
;----------------------------------------
(setq x1 (/ (- (nth 0 q2) (nth 0 q1)) r))
(setq y1 (/ (- (nth 1 q1) (nth 1 q2)) r))
(setq v 0 )
(setq xlist nil klist nil)
(while (< v r1)
(setq y (polar q1 4.725 (* v y1)))
(setq klist (append klist (list y)))
(setq v1 0)
(while (< v1 r1)
(setq x (polar y 0 (* v1 x1)))
(setq xlist (append xlist (list x)))
(setq v1 (+ v1 1))
)
(setq v (+ v 1))
)
(setq i 0 zhen nil)
(while (< i r2)
(if (or (= i r) (= i (+ r (* 1 r1))) (= i (+ r (* 2 r1))) (= i (+ r (* 3 r1))) (= i (+ r (* 4 r1))) (= i (+ r (* 5 r1))) (= i (+ r (* 6 r1))) (= i (+ r (* 7 r1))) (= i (+ r (* 8 r1))) (= i (+ r (* 9 r1))) (= i (+ r (* 10 r1))) (= i (+ r (* 11 r1))) (= i (+ r (* 12 r1))) (= i (+ r (* 13 r1))) (= i (+ r (* 14 r1))) (= i (+ r (* 15 r1))) (= i (+ r (* 16 r1))) (= i (+ r (* 17 r1))) (= i (+ r (* 18 r1))) (= i (+ r (* 19 r1))) (= i (+ r (* 20 r1))) (= i (+ r (* 21 r1))) (= i (+ r (* 22 r1))) (= i (+ r (* 23 r1))) (= i (+ r (* 24 r1))) (= i (+ r (* 25 r1))) (= i (+ r (* 26 r1))) (= i (+ r (* 27 r1))) (= i (+ r (* 28 r1))))
(setq i (+ i 1))
(progn
(setq m (nth i xlist))
(setq o1 (nth (+ i r4) xlist))
(setq zhen (append zhen (list m )))
(setq zhen (append zhen (list o1)))
(setq i (+ i 1))
)
)
) ;得到正确坐标表
(command "erase" (entlast) "")
;-------------------------------------------
(setq dlist (list '(0 . "line") '(0 . "lwpolyline") '(0 . "mtext") '(0 . "text") '(0 . "point") '(0 . "insert") '(0 . "circle") '(0 . "hatch") '(0 . "polyline") '(0 . "arc") '(0 . "ellipse") ))
(setq v8 0)
(setq xlist nil klist nil)
(while (< v r1)
(setq y (polar q1 4.725 (* v y1)))
(setq klist (append klist (list y)))
(setq v1 0)
(while (< v1 r1)
(setq x (polar y 0 (* v1 x1)))
(setq xlist (append xlist (list x)))
(setq v1 (+ v1 1))
)
(setq v (+ v 1))
)
(setq i 0 zhen nil)
(while (< i r2)
(if (or (= i r) (= i (+ r (* 1 r1))) (= i (+ r (* 2 r1))) (= i (+ r (* 3 r1))) (= i (+ r (* 4 r1))) (= i (+ r (* 5 r1))) (= i (+ r (* 6 r1))) (= i (+ r (* 7 r1))) (= i (+ r (* 8 r1))) (= i (+ r (* 9 r1))) (= i (+ r (* 10 r1))) (= i (+ r (* 11 r1))) (= i (+ r (* 12 r1))) (= i (+ r (* 13 r1))) (= i (+ r (* 14 r1))) (= i (+ r (* 15 r1))) (= i (+ r (* 16 r1))) (= i (+ r (* 17 r1))) (= i (+ r (* 18 r1))) (= i (+ r (* 19 r1))) (= i (+ r (* 20 r1))) (= i (+ r (* 21 r1))) (= i (+ r (* 22 r1))) (= i (+ r (* 23 r1))) (= i (+ r (* 24 r1))) (= i (+ r (* 25 r1))) (= i (+ r (* 26 r1))) (= i (+ r (* 27 r1))) (= i (+ r (* 28 r1))))
(setq i (+ i 1))
(progn
(setq m (nth i xlist))
(setq o1 (nth (+ i r4) xlist))
(setq zhen (append zhen (list m )))
(setq zhen (append zhen (list o1)))
(setq i (+ i 1))
)
)
) ;得到正确坐标表
(command "erase" (entlast) "")
;-------------------------------------------
(setq dlist (list '(0 . "line") '(0 . "lwpolyline") '(0 . "mtext") '(0 . "text") '(0 . "point") '(0 . "insert") '(0 . "circle") '(0 . "hatch") '(0 . "polyline") '(0 . "arc") '(0 . "ellipse") ))
(setq v8 0)
剩余5页未读,继续阅读
资源评论
- pcxpzx2013-01-15怎么老是提示说没有sc命令啥的哦。。。。。。
- lq128252016-05-05可以用,老是死机。
- lncyjdw2021-07-02还行,得调试着用
- liuhq20122012-11-28还不错的,对重复实体的删除很有效。
whc2008
- 粉丝: 1
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功