找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 866|回复: 6

[下载]:抛砖引玉~还是双向偏移的程序.

[复制链接]
发表于 2006-11-20 18:02:42 | 显示全部楼层 |阅读模式

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

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

×
我不知道这个论坛里有没有谁有双向偏移的lisp能不能给我参考一下。要在R14下能用的。(顺便问一下vl-***的lisp命令可以在r14下用吗?有点菜~~),下面是我自己编的,很烦。局限line和xline可以用。谁有矩形和圆等都可以实现的???

  1.   [FONT=courier new]
  2. ;**********************************************双向偏移ss_利用偏移
  3. ;可用来双向偏移line和pline

  4. (defun c:ss()
  5.    (setq orig_cmd (getvar "cmdecho"))
  6.    (setvar "cmdecho" 0)                ; cmdecho = 0
  7.    
  8.    (if (= nil dis_orig) (setq dis_orig 100))
  9.    (initget 6 "e n")
  10.    (setq DIS (getdist (strcat "选择偏移距离或[删除原来的线(E)/偏移后的图层(N)]<" (rtos dis_orig) ">:")))
  11. (cond
  12.    ((= "e" DIS) (setq k 22))
  13.    ((= "n" DIS) (setq k 33))
  14.    ((= nil DIS) (setq DIS dis_orig k 11))
  15.    ((and (/= nil DIS) (/= "e" DIS)(/= "n" DIS)) (setq dis_orig DIS k 11))
  16. )
  17. ;************************************输入是数值时。
  18.   (while (= k 11)

  19.       (setq en (entsel "\n>>选择要偏移的线:")) ;选择单个图元
  20.   ;以下表示,如果选择为空集则退出lisp返回AutoCAD系统。
  21.    (if (= nil en)
  22.     (progn
  23.       (princ "\n>>")
  24.       (exit)
  25.   ));  end of if
  26.       (setq na (car en)) ;取得选到的图元的图元名。

  27.       (setq data (entget na))
  28.       (setq pt (cdr (assoc '10 data)))  ;取得图元(线)的第一点。
  29.       (setq pt_x (car pt))
  30.       (setq pt_y (cadr pt))
  31.       (setq pt_x+ (* 2 pt_x))
  32.       (setq pt_x- (* -2 pt_x))
  33.       (setq pt_y+ (* 2 pt_y))
  34.       (setq pt_y- (* -2 pt_y))
  35.       (setq pt_oo+ (list pt_x+ pt_y+))
  36.       (setq pt_oo- (list pt_x- pt_y-))
  37.       (command "OFFSET" dis_orig na pt_oo+ "")
  38.       (command "OFFSET" dis_orig na pt_oo- "")   
  39.    
  40.   );end of while

  41. ;************************************输入"e"
  42. (while (= k 22)
  43.    (setq DIS dis_orig)
  44.    (setq en (entsel "\n>>选择要偏移的线:")) ;选择单个图元
  45.   ;以下表示,如果选择为空集则退出lisp返回AutoCAD系统。
  46.    (if (= nil en)
  47.     (progn
  48.      
  49.       (princ "\n>>")
  50.       (exit)
  51.   ));  end of if
  52.       (setq na (car en)) ;取得选到的图元的图元名。

  53.       (setq data (entget na))
  54.       (setq pt (cdr (assoc '10 data)))  ;取得图元(线)的第一点。
  55.       (setq pt_x (car pt))
  56.       (setq pt_y (cadr pt))
  57.       (setq pt_x+ (* 2 pt_x))
  58.       (setq pt_x- (* -2 pt_x))
  59.       (setq pt_y+ (* 2 pt_y))
  60.       (setq pt_y- (* -2 pt_y))
  61.       (setq pt_oo+ (list pt_x+ pt_y+))
  62.       (setq pt_oo- (list pt_x- pt_y-))
  63.       (command "OFFSET" dis_orig na pt_oo+ "")
  64.       (command "OFFSET" dis_orig na pt_oo- "")
  65.       (command "ERASE" na"")
  66.   )  
  67.   
  68.   ;************************************输入"n"
  69.   
  70.    (while (= k 33)
  71.       (setq DIS dis_orig)
  72.       (setq TC (getstring "\n偏移后线的图层: "))

  73.       (setq en (entsel "\n>>选择要偏移的线:")) ;选择单个图元
  74.   ;以下表示,如果选择为空集则退出lisp返回AutoCAD系统。
  75.    (if (= nil en)
  76.     (progn
  77.       (princ "\n>>")
  78.       (exit)
  79.   ));  end of if
  80.       (setq na (car en)) ;取得选到的图元的图元名。
  81.       (setq data (entget na))
  82.       (setq pt (cdr (assoc '10 data)))  ;取得图元(线)的第一点。
  83.       (setq pt_x (car pt))
  84.       (setq pt_y (cadr pt))
  85.       (setq pt_x+ (* 2 pt_x))
  86.       (setq pt_x- (* -2 pt_x))
  87.       (setq pt_y+ (* 2 pt_y))
  88.       (setq pt_y- (* -2 pt_y))
  89.       (setq pt_oo+ (list pt_x+ pt_y+))
  90.       (setq pt_oo- (list pt_x- pt_y-))
  91.       (setq ss_oo (ssadd))
  92.       (command "OFFSET" dis_orig na pt_oo+ "")
  93.       (ssadd (entlast) ss_oo)
  94.       (command "OFFSET" dis_orig na pt_oo- "")
  95.       (ssadd (entlast) ss_oo)

  96.              (setq  slen (- (sslength ss_oo) 1))
  97.              (setq  i 0)
  98.         (while  (<= i slen)
  99.              (setq _oo_n (ssname ss_oo i))
  100.              (setq _oo_data (entget _oo_n))
  101.              (setq _oo_tc (cdr (assoc '8 _oo_data)))
  102.              (setq _oo_data (subst (cons 8 TC) (assoc '8 _oo_data) _oo_data))
  103.              (entmod _oo_data)
  104.              (setq i (+ i 1))
  105.         )

  106.       
  107.    ) ;end of while
  108.    
  109.   
  110.   (prin1)
  111.   )
  112.   [/FONT]

好像太菜了,没有什么资料可以贡献给大家的。介绍大家一个我刚知道的软件(http://zhidao.baidu.com/question/832483.html这里是介绍)(可能别人很早就知道了。)http://www.7-zip.org/zh-cn/7z429chs.exe这个很厉害,可以把70MB的avi压缩成2MB的文件。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-11-21 11:11:49 | 显示全部楼层
这个早就有了吧,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-21 17:39:36 | 显示全部楼层
我知道早就有啦,就是不知道哪里找啊,谁有上传一下呢。
我找到的别人的,有一个是需要定偏移方向的,有一个是好像2000以上才能用的。
R14下能用,而且不用定偏移方向的。好像没有。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-11-21 19:53:07 | 显示全部楼层
vl-***的函数在r14下是不能用的
只有高级版本才能用
我以前编过一个程序,就是因为用的vl-***系列函数,导致错误了
最后没有办法,只好不用r14了
现在好象除了一些软件必须用r14,如果能不用,就尽量不要再用了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-11-21 22:57:52 | 显示全部楼层
这CAD真有奥妙的地方,版本这么老了可还有好多人不舍得放弃~~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 23个

财富等级: 恭喜发财

发表于 2006-11-23 00:05:18 | 显示全部楼层
7-zip 是 GPL 软件, 推荐大家换掉授权条件苛刻基本只能使用 D 版得 WinRAR
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 02:32 , Processed in 0.212917 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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