找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 934|回复: 11

[编程申请]:帮我改进这段程序

[复制链接]
发表于 2003-6-5 15:40:32 | 显示全部楼层 |阅读模式

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

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

×
  1. ; AAR.LSP   沿指定方向多冲复制对象(制定间距与数量)
  2. ;;;======================================================================================================
  3. (defun C:AAR ()
  4.   (setq A nil)
  5.   (setq OM (getvar "OSMODE"))
  6.   (setvar "OSMODE" 33)
  7.   (setq PNT1 (getpoint "\n拾取第一点:  "))
  8.   (setq PNT2 (getpoint "\n拾取第二点: " PNT1))(terpri)
  9.   (initget 1 "M E N")
  10.   (prompt "\n选择如下之一: ")
  11.   (setq CTYPE
  12.   (getkword "\n(M)最大间距  (E)精确间距  (N)数量: "))
  13.   (if (= CTYPE "M")
  14.   (setq SP (getdist "\n最大对象间距: ")))
  15.   (if (= CTYPE "E")
  16.   (setq SP (getdist "\n精确对象间距: ")))
  17.   (if (= CTYPE "N")
  18.   (setq SP (getreal "\n对象数量: ")))
  19.   (setq DIST (distance PNT1 PNT2))
  20.   (setq ANG (angle PNT1 PNT2))
  21.   (setq TEMP1 (/ DIST SP))
  22.   (setq TEMP2 (fix (/ DIST SP)))
  23.   (setq INC1 SP)
  24.   (setq INC2 (/ DIST (+ 1 (fix (/ DIST SP)))))
  25.   (setq INC3 (/ DIST (- SP 1)))
  26.   (if (= TEMP1 TEMP2) (setq INC INC1) (setq INC INC2))
  27.   (if (= CTYPE "E") (setq INC INC1) (setq INC INC))
  28.   (if (= CTYPE "N") (setq INC INC3) (setq INC INC))
  29.   (setq TMS (FIX (+ 0.00001 (/ DIST INC))))
  30.   (setvar "OSMODE" 0)
  31.   (setq A (ssget))
  32.   (setq INCR 0)
  33.   (repeat TMS
  34.     (setq INCR (+ INCR INC))
  35.     (setq NEWPT (polar PNT1 ANG INCR))
  36.     (command "copy" A "" PNT1 NEWPT)
  37.   )
  38.   (setvar "OSMODE" OM)
  39.   (setq A nil)
  40. );end cm.lsp

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

已领礼包: 8个

财富等级: 恭喜发财

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

使用道具 举报

 楼主| 发表于 2003-6-5 20:24:46 | 显示全部楼层
哥呀,不行啊。用了之后感觉和普通的offset差不多呀!
下面是命令提示:
AAR
拾取第一点:
拾取第二点:
选择如下之一:
(M)最大间距  (E)精确间距  (N)数量: n
对象数量: 20
选择对象: 找到 1 个
选择对象:
offset
指定偏移距离或 [通过(T)] <2.0000>:
需要数值距离、两点或选项关键字。
; 错误: 函数被取消
指定偏移距离或 [通过(T)] <2.0000>: 5
选择要偏移的对象或 <退出>:
指定点以确定偏移所在一侧:
选择要偏移的对象或 <退出>:
指定点以确定偏移所在一侧:
选择要偏移的对象或 <退出>:
指定点以确定偏移所在一侧:
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 181个

财富等级: 日进斗金

发表于 2003-6-5 21:15:46 | 显示全部楼层
修改了一下,仅对循体进行解释。
(repeat TMS
  (if (> INCR 0) (setq A (entlast)))
  (setq INCR (+ INCR INC))
  (setq NEWPT (polar PNT1 ANG INCR))
  (command "offset" INC A NEWPT "")
)
以上的语句中,if条件是判断第一次循环时使用选中的对象进行偏移,而以后则使用最后一次生成的实体进行偏移。在偏移中,INC的作用是控制间距,而NEWPT则是控制方向。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2003-6-5 23:13:36 | 显示全部楼层
最初由 madbull 发布
[B]好使.谢谢! [/B]


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

使用道具 举报

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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2003-6-5 23:56:16 | 显示全部楼层
最初由 madbull 发布
[B]就这个. [/B]


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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-26 12:58 , Processed in 0.349470 second(s), 55 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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