乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 132|回复: 9

如何调整绘图顺序?

[复制链接]

31

主题

78

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
202
发表于 2004-2-13 08:19:00 | 显示全部楼层 |阅读模式
如何调整绘图顺序?
回复

使用道具 举报

18

主题

177

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
249
发表于 2004-2-13 08:32:00 | 显示全部楼层
什么叫“绘图顺序”?
回复

使用道具 举报

31

主题

78

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
202
发表于 2004-2-13 10:04:00 | 显示全部楼层
也就是优化200421310447680.dwg
回复

使用道具 举报

31

主题

78

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
202
发表于 2004-2-13 10:16:00 | 显示全部楼层
也就是优化20042131016814.dwg
回复

使用道具 举报

6

主题

412

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
436
发表于 2004-2-13 10:17:00 | 显示全部楼层
優化?
目的?
成效?
回复

使用道具 举报

31

主题

78

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
202
发表于 2004-2-13 10:53:00 | 显示全部楼层
(defun crder()
                                                         (command "-layer" "n" "order" "s" "order" "c" "0" "" "")                         
                                                 (setq ss (ssget))
                                                 (setq nname "")
                                                 (setq pp '(0.0 0.0 0.0))
                                                 (setq point '(0.0 0.0 0.0))
                                                 (setq k 0)
                                                 (setq d 0)
                                                 (while (> (sslength ss) 0)
                                                                 (print (sslength ss))
                                                                 (setq k 0)
                                                                 (setq dis 2000.0)
                                                                 (setq cha_pe 0)
                                                                 (while ( dis (distance point ps))
                                                                                                                                                                                                                                         (progn         
                                                                                                                                                                                                                                                                 (setq dis (distance point ps))
                                                                                                                                                                                                                                                                 ;(print dis)
                                                                                                                                                                                                                                                                 (setq pp pe)
                                                                                                                                                                                                                                                                 (setq d k)
                                                                                                                                                                                                                                                                 (setq cha_pe 0)
                                                                                                                                                                                                                                                                 (setq change 1)
                                                                                                                                                                                                                                                 )
                                                                                                                                                                                                 )
                                                                                                                                                                                                 (if (> dis (distance point pe))
                                                                                                                                                                                                                                                 (progn
                                                                                                                                                                                                                                                                 (setq dis (distance point pe))
                                                                                                                                                                                                                                                                 ;(print dis)
                                                                                                                                                                                                                                                                 (setq pp ps)
                                                                                                                                                                                                                                                                 (setq d k)
                                                                                                                                                                                                                                                                 (setq cha_pe 1)
                                                                                                                                                                                                                                                                 (setq change 1)
                                                                                                                                                                                                                                                         )
                                                                                                                                                                                                                         )
                                                                                                                                                                 
                                                                                                                                                                 )
                                                                                                                         )                                                                                         
                                                                                 
                                                                                                         (if (= change 1) (setq obj enta))
                                                                                                         (if (= dis 0)
                                                                                                                                                 (setq k (sslength ss))
                                                                                                                                                 (setq k (1+ k))
                                                                                                         )
                                                                                 )
                                                                         
                                                                         (setq cc (entget(ssname ss d)))
                                                                         (if (= cha_pe 1)
                                                                                         (progn
                                                                                         (setq shap (cdr (assoc 0 cc)))
                                                                                         (if (= shap "LINE")
                                                                                                                         (progn         
                                                                                                                         (setq aa (cdr(assoc 10 cc)))
                                                                                                                         (setq bb (cdr(assoc 11 cc)))
                                                                                                                         (setq cc (subst '(list 11 aa) '(list 11 bb) cc))
                                                                                                                         (setq cc (subst '(list 10 bb) '(list 10 aa) cc))
                                                                                                                         )
                                                                                                                 (if (= shap "ARC")
                                                                                                                 (progn
                                                                                                                         ;(print "pass2")
                                                                                                                         (setq aa (cdr(assoc 50 cc)))
                                                                                                                         (setq bb (cdr(assoc 51 cc)))
                                                                                                                         ;(print (cons 50 bb))                                                                                                         
                                                                                                                         (if (> aa 0.0)
                                                                                                                                                                 (setq aa (- aa 6.2831853))
                                                                                                                                                                 (setq aa (+ aa 6.2831853))
                                                                                                                         )         
                                                                                                                         (if (> bb 0.0)
                                                                                                                                                                 (setq bb (- bb 6.2831853))
                                                                                                                                                                 (setq bb (+ bb 6.2831853))
                                                                                                                         )         
                                                                                                                         (setq cc (subst (cons 50 bb) (cons 50 aa) cc))
                                                                                                                         (setq cc (subst (cons 51 aa) (cons 51 bb) cc))
                                                                                                                 )
                                                                                                 )
                                                                                                 )                 
                                                                                                 )
                                                                                 )
                                                                                 (setq cc (subst (cons 8 "order") (assoc 8 cc) cc))
                                                                         (entmake cc)
                                                                 
                                                                         (ssdel (ssname ss d) ss)
                                                                         
                                                         
                                                                         (setq point pp)
                                                                 
                                                                         
                                                 )
                         (command "-layer" "off" "order" "y" "")
                         (command "erase" "p" "")
                         (command "-layer" "on" "order" "")
                                                 (princ)                 
                 )                                       
                        (command "erase" "p" "")最好用其它程序代替。
回复

使用道具 举报

20

主题

872

帖子

10

银币

中流砥柱

Rank: 25

铜币
952
发表于 2004-2-13 11:11:00 | 显示全部楼层
按你需要的顺序原点拷贝,删除原物体
回复

使用道具 举报

31

主题

78

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
202
发表于 2004-2-13 11:19:00 | 显示全部楼层
但我不想用command命令,因为中途退出会有重合线。
回复

使用道具 举报

31

主题

78

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
202
发表于 2004-2-13 11:33:00 | 显示全部楼层
如果不用删除原物体又能改变顺序是最好不过。
回复

使用道具 举报

20

主题

872

帖子

10

银币

中流砥柱

Rank: 25

铜币
952
发表于 2004-2-13 12:58:00 | 显示全部楼层
但我不想用command命令,因为中途退出会有重合线。
1.怎么肯能中途退出?
2。即便退出也可处理使之无重合线。
不用删除就用cad的置上,置下吧
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-8 18:11 , Processed in 0.934825 second(s), 73 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表