明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 56216349

cad2004可否用cad2006里的修剪命令啊?

  [复制链接]
 楼主| 发表于 2007-3-24 08:22:00 | 显示全部楼层

还有一个问题要请教,

可不可以实现在修剪的时候,

裁减边界可以亮显啊

谢谢。

发表于 2007-3-24 13:05:00 | 显示全部楼层
  1. ;; 可能还有 bug ,不是太好用
  2. (defun c:tr (/ trerror trerror_end olderr ssRedraw cm os ss1 ss2 ssn lst pb)
  3.   (defun trerror (x) (trerror_end))
  4.   (defun trerror_end ()
  5.     (if ss1 (ssRedraw ss1 4))
  6.     (setq *error* olderr)
  7.   )
  8.   (setq olderr *error* *error* trerror)
  9.   (defun ssRedraw (ss mode)
  10.     (mapcar '(lambda (x) (redraw x mode))
  11.             (vl-remove-if-not '(lambda (x) (= (type x) 'ename)) (mapcar 'cadr (ssnamex ss)))
  12.     )
  13.   )
  14.   (setq cm (getvar "cmdecho")
  15.         os (getvar "osmode")
  16.   )
  17.   (setvar "cmdecho" 0)
  18.   (setvar "osmode" 0)
  19.   (princ "\n选择剪切边或 <全部选择>...")
  20.   (setq ss1 (ssget))
  21.   (if ss1 (ssRedraw ss1 3))
  22.   (princ "\n选择要修剪的对象...")
  23.   (setq ss2 (ssget))
  24.   (if ss2
  25.     (progn
  26.       (setq ssn (ssnamex ss2))
  27.       (cond
  28.         ((= (caar ssn) 3)  ;;框选
  29.          (setq lst (mapcar '(lambda (x) (mapcar' cadr x))
  30.                            (mapcar 'cdr (vl-remove-if-not '(lambda (x) (< (car x) 0)) ssn))
  31.                    )
  32.                lst (mapcar '(lambda (x) (append x (list (car x)))) lst)
  33.          )
  34.         )
  35.         ((= (caar ssn) 1)  ;;单选
  36.          (setq lst (mapcar 'cadr (mapcar 'last ssn))
  37.                pb  (abs (/ (* (/ (getvar "pickbox") (cadr (getvar "screensize")))
  38.                               (getvar "viewsize")
  39.                            )
  40.                            (sin (/ pi 4))
  41.                         )
  42.                    )
  43.                lst (mapcar '(lambda (x)
  44.                              (list (polar x (* 0.25 pi) pb)
  45.                                    (polar x (* 0.75 pi) pb)
  46.                                    (polar x (* 1.25 pi) pb)
  47.                                    (polar x (* 1.75 pi) pb)
  48.                                    (polar x (* 0.25 pi) pb)
  49.                              )
  50.                             )
  51.                             lst
  52.                    )
  53.          )
  54.         )
  55.       )
  56.       (if lst
  57.         (progn
  58.           (command "_.trim")
  59.           (if ss1
  60.             (command ss1 "")
  61.             (command "")
  62.           )
  63.           (mapcar '(lambda (x)
  64.                     (command "_f")
  65.                     (apply 'command x)
  66.                     (command "")
  67.                    )
  68.                   lst
  69.           )
  70.          (command "")
  71.         )
  72.       )
  73.     )
  74.   )
  75.   (if ss1 (ssRedraw ss1 4))
  76.   (setvar "cmdecho" cm)
  77.   (setvar "osmode" os)
  78.   (trerror_end)
  79.   (princ)
  80. )
 楼主| 发表于 2007-3-25 09:40:00 | 显示全部楼层

很好用,

感激的话 我也不知道怎么说了,

论坛里有你这么热心的人

我感到很温暖,谢谢!

发表于 2007-3-31 22:15:00 | 显示全部楼层

谢谢楼主,辛苦了!!!

发表于 2007-6-25 13:52:00 | 显示全部楼层

请问你们可不可以帮我改好延伸命令啊....因为我是个完全不懂编程的菜鸟..

也是找了好久才找到你们的那个剪切命令..多谢你们啊...

发表于 2007-6-25 14:18:00 | 显示全部楼层
发表于 2007-6-25 14:52:00 | 显示全部楼层
你们太好人了...好感动啊...
发表于 2008-8-4 17:00:00 | 显示全部楼层

用了一下还不错的 谢谢

发表于 2008-8-4 21:15:00 | 显示全部楼层

延伸命令是不是也可以啊?还有高手宝宝写个吧,

发表于 2008-9-3 11:51:00 | 显示全部楼层
非常感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-2-22 05:21 , Processed in 0.150498 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表