找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2639|回复: 12

原创]:一个批量偏移的LISP程序

[复制链接]
发表于 2007-4-8 00:24:14 | 显示全部楼层 |阅读模式

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

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

×
结识“晓东网站”已有一段时间了,翻看了部分帖子,受益非浅。
经过一段时间的学习,有了很大收获。现编了一个小程序,虽然简单,但却如“爱因斯坦”的小板凳。不敢独享,同时献给需要的人。也是对来到“晓东网站”递交的第一份答卷。
为了让需要的人有用,现将功能介绍如下:
可对直线、多段线、曲线、矩形等线型图元进行批量偏移,(任意数量)但对“块”无效。我认为其特点是能快速制作表格。(井蛙之见,可能你能充分扩展其用途。)另对初学编程人员可能有“抛砖引玉”效果。
为了只提供给需要的人,在此收点币。我想收个币,不会影响您的,您会有办法找回去的!望见凉!
同时,希望大家在试验过程中,有什么指导意见,能不辞指正。
先谢谢大家!

最后修改,取消收币。本想收币能靠大家顶一顶的,不是真心收币。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2007-4-8 15:48:41 | 显示全部楼层
下不了,还被扣币,啊啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-8 22:46:18 | 显示全部楼层
我已传上去了。
请管理员或版主检查一下,不能下载的原因。

服务器有问题!by xyp1964
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2007-4-9 12:35:02 | 显示全部楼层
最初由 zml84 发布
[B]直接把代码贴出来,也是不错的方法。 [/B]


最后一道防线也没了,连想统计一下需要该程序的人数也不可能了。听zml84 的,直接把代码贴出来。


送给需要的人
;;;可对直线、多段线、曲线、矩形等线型图元进行批量偏移。
(defun c:PLPY ()
  (princ "\n批量偏移-- NMGMQH_V.20070407")
  (progn (setq JL (getint "\n输入偏移距离:")
               XY JL
               CS (getint "\n输入偏移次数: ")
               DX (entsel "\n选择偏移对象:")
               FX (getpoint "\n选择偏移方向: "))
   (repeat CS (command "offset" JL DX FX "") (setq JL (+ JL XY)))
  )
  (princ)
)



大家使用了没有,有什么优点和不足,请说一声。
没人顶帖,只能自己编辑自己的帖。如没用就删帖了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2007-4-18 15:19:13 | 显示全部楼层
下面这个是可以选择多个对象的,拿出来供大家讨论:

  1. ;;;功能:多个对象多重偏移
  2. ;;;      可以选择多个对象
  3. ;;;      可对直线、多段线、曲线、矩形等线型图元进行批量偏移。
  4. ;;;日期:zml84 修改于 2007-04-18
  5. (defun c:PP (/ ss JL CS FX n XY)
  6.     (princ "\n★多对象多重偏移★\n选择偏移对象...")
  7.     (if        (setq ss (ssget))
  8.         (if (> (setq JL (getdist "\n输入偏移距离:")) 0)
  9.             (if        (> (setq CS (getint "\n输入偏移次数: ")) 0)
  10.                 (if (setq FX (getpoint "\n选择偏移方向: "))
  11.                     (progn
  12.                         (setq n 0)
  13.                         (repeat        (sslength ss)
  14.                             (setq DX (ssname ss n))
  15.                             (setq XY JL)
  16.                             (repeat CS
  17.                                 (command "offset" XY DX FX "")
  18.                                 (setq XY (+ XY JL))
  19.                             )
  20.                             (setq n (1+ n))
  21.                         )
  22.                         (princ "\n★成功完成!!" )
  23.                     )
  24.                 )
  25.             )
  26.         )
  27.     )
  28.     (princ)
  29. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8121个

财富等级: 富甲天下

发表于 2007-4-18 16:02:41 | 显示全部楼层
to  zml84:
if句嵌套太多了可以用and.

  1. (defun c:PP (/ ss JL CS FX n XY)
  2.   (princ "\n★多对象多重偏移★\n选择偏移对象...")
  3.   (and
  4.     (setq ss (ssget))
  5.     (> (setq JL (getdist "\n输入偏移距离:")) 0)
  6.     (> (setq CS (getint "\n输入偏移次数: ")) 0)
  7.     (setq FX (getpoint "\n选择偏移方向: "))
  8.     (setq n 0)
  9.     (repeat (sslength ss)
  10.       (setq DX (ssname ss n))
  11.       (setq XY JL)
  12.       (repeat CS
  13.         (command "offset" XY DX FX "")
  14.         (setq XY (+ XY JL))
  15.       )
  16.       (setq n (1+ n))
  17.     )
  18.     (princ "\n★成功完成!!" )
  19.   )
  20.   (princ)
  21. )

一样的效果。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2007-4-18 19:11:34 | 显示全部楼层
11楼的and结构不错,学习了!
以前以为and语句需要把其中条件探测一遍呢,现在知道了,不用了,谢谢!
<br>
还可以这样写:

  1. ;;;======================================================
  2. (defun c:PP (/ ss JL CS FX n XY)
  3.     (princ "\n★多对象多重偏移★\n选择偏移对象...")
  4.     (if        (and
  5.             (setq ss (ssget))
  6.             (> (setq JL (getdist "\n输入偏移距离:")) 0)
  7.             (> (setq CS (getint "\n输入偏移次数: ")) 0)
  8.             (setq FX (getpoint "\n选择偏移方向: "))
  9.         )
  10.         (progn
  11.             (setq n 0)
  12.             (repeat (sslength ss)
  13.                 (setq DX (ssname ss n))
  14.                 (setq XY JL)
  15.                 (repeat        CS
  16.                     (command "._offset" XY DX FX "")
  17.                     (setq XY (+ XY JL))
  18.                 )
  19.                 (setq n (1+ n))
  20.             )
  21.             (princ "\n★成功完成!!")
  22.         )
  23.     )
  24.     (princ)
  25. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-4-19 10:52:32 | 显示全部楼层
谢谢楼主编写的这个小东东,很不错的,可不可以编写一个双向偏移的呀。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 13:29 , Processed in 0.240701 second(s), 57 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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