找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 876|回复: 10

[原创]:别开生面的TRIM第二版

[复制链接]
发表于 2005-3-25 14:37:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
增加了延伸与修剪的切换功能,可以选择边界,各选项的输入只需一键搞定,不用回车确认。
都是源代码喔。

  1.   [FONT=courier new]
  2. (defun c:xx (/ PT0 PTLIST PTLIST0 ss ss0 FANGSHI)
  3.   (setq        cmdecho        (getvar "cmdecho")
  4.         osmode        (getvar "osmode")
  5.   )
  6.   (setq fangshi t)
  7.   (princ "\n点击后移动鼠标,")
  8.   (princ "当前为剪切方式。")
  9.   (while (and (setq ptlist0 (getpoint_list))
  10.            (> (length ptlist0) 2)
  11.       )
  12.    (setvar "cmdecho" 0)
  13.     (setvar "osmode" 0)
  14.       (if (car (car ptlist0))
  15.        (setq fangshi (not fangshi))
  16.        )
  17.       (if (cadr (car ptlist0))
  18.         (progn
  19.           (princ "\n选择边界<全部>:")
  20.           (setq ss0 (ssget))
  21.         )
  22.       )
  23.       (setq ptlist0 (cdr ptlist0)
  24.             pt0           (car ptlist0)
  25.             ptlist (cdr ptlist0)
  26.       )
  27.     (if fangshi
  28.       (if ss0
  29.         (command "trim" ss0 "")
  30.         (command "trim" "")
  31.         )
  32.       (if ss0
  33.         (command "EXTEND" ss0 "")
  34.         (command "EXTEND" "")
  35.         )
  36.       )
  37.       (foreach pt ptlist
  38.         (command "f" pt0 pt "")
  39.         (setq pt0 pt)
  40.       )
  41.       (command "")
  42.       (if (and fangshi
  43.                (not ss0)
  44.                (setq ss (ssget "f" ptlist0))
  45.                )
  46.         (command "erase" ss "")
  47.       )
  48.     (princ "\n点击后移动鼠标,")
  49.     (if fangshi
  50.          (princ "当前为剪切方式。")
  51.          (princ "当前为拉伸方式。")
  52.          )
  53.     )
  54.      (setvar "osmode" osmode)
  55.     (setvar "cmdecho" cmdecho)
  56.   (princ)
  57. )
  58. (defun getpoint_list ( / DIS OUT PT BIAOJI FANGSHI)
  59.   (setq fangshi '(nil nil))
  60.   (setq pt (getpoint))
  61.   (princ "\nE延伸与修剪切换/B重选边界:")
  62.   (if (= (type pt) 'LIST)
  63.     (progn
  64.       (setq out (list pt)
  65.             dis (* 0.01 (getvar "viewsize"))
  66.             biaoji t)
  67.       (while biaoji
  68.         (setq pt (grread t 4 0))
  69.         (cond
  70.           ((= 5 (car pt))
  71.            (setq pt (cadr pt))
  72.            (if (> (distance pt (car out)) dis)
  73.              (progn
  74.                (grdraw pt (car out) 1)
  75.                (setq out (cons pt out))
  76.                )
  77.              )
  78.            )
  79.           ((and (= 2 (car pt))
  80.                 (or (= (cadr pt) 101)
  81.                     (= (cadr pt) 69)
  82.                     )
  83.                 )
  84.            (setq fangshi (list t (cadr fangshi)))
  85.            )
  86.           ((and (= 2 (car pt))
  87.                 (or
  88.                     (= (cadr pt) 98)
  89.                     (= (cadr pt) 66)
  90.                     )
  91.                 )
  92.            (setq fangshi (list (car fangshi) t))
  93.            )
  94.           (t (setq out (cons fangshi (reverse out))
  95.                    biaoji nil))
  96.           )
  97.         )
  98.       )
  99.     )
  100.   (redraw)
  101.   out
  102.   )
  103.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-3-25 14:56:29 | 显示全部楼层
看看合不合我用.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-3-25 15:36:50 | 显示全部楼层
好太好了,这就是我需要的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-3-25 19:21:35 | 显示全部楼层
请问按shift键也可切换吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 54个

财富等级: 招财进宝

发表于 2008-8-9 03:13:39 | 显示全部楼层
这个如何切换剪切模式和拉伸模式?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-8-12 10:28:41 | 显示全部楼层
这种程序很久就有了,而且现在05以后基本上cad自带的剪切拉伸模式都很全面了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 54个

财富等级: 招财进宝

发表于 2008-8-12 13:30:26 | 显示全部楼层
楼上的,cad自带的剪切拉伸模式是指什么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-8-13 00:05:26 | 显示全部楼层
是不是和trim带“T”参数类似的用法
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-8-13 09:01:20 | 显示全部楼层
感谢楼主共享源码。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-8-22 11:03:14 | 显示全部楼层
感谢楼主共享源码。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-8-24 15:42:14 | 显示全部楼层
好太好了,这就是我需要的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-25 13:26 , Processed in 0.227036 second(s), 51 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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