找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1840|回复: 17

[原创]:弧形偏移程序

[复制链接]
发表于 2003-12-14 15:27:21 | 显示全部楼层 |阅读模式

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

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

×

  1. (defun c:aof (/        maxc mnc cen midd ose od midzhouchang on oang newose)
  2.   (prompt "\n选择大圆")
  3.   (setq maxc (entget (car (entsel))))
  4.   (prompt "\n选择小圆")
  5.   (setq minc (entget (car (entsel))))
  6.   (setq cen (cdr (assoc 10 maxc)))
  7.   (setq        midd (+        (cdr (assoc 40 minc))
  8.                 (/ (- (cdr (assoc 40 maxc)) (cdr (assoc 40 minc))) 2)
  9.              )
  10.   )
  11.   (prompt "\n选择要偏移的线")
  12.   (while (setq ose (entsel))
  13.     (setq osec (car ose))
  14.     (if        (= od nil)
  15.       (setq od (getdist (cadr ose) "\n偏移距离:"))
  16.     )
  17.     (setq point (getpoint (cadr ose) "\n你想往哪边偏移?"))
  18.     (setq midzhouchang (* 2 (* pi midd)))
  19.     (setq on (/ midzhouchang od))
  20.     (if        (> (angle (cadr ose) cen) (angle point cen))
  21.       (setq oang (- 0 (/ 360 on)))
  22.       (setq oang (/ 360 on))
  23.     )
  24.     (command "copy" osec "" "@" "@")
  25.     (setq newose (entlast))
  26.     (command "ROTATE" newose "" cen oang)
  27.     (prompt "\n选择要偏移的线")
  28.   )
  29. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-12-14 15:57:03 | 显示全部楼层

Re: [原创]:弧形偏移程序

最初由 zhynt 发布
[B][code]
(defun c:aof (/        maxc mnc cen midd ose od midzhouchang on oang newose)
  (prompt "\n选择大圆")
  (setq maxc (entget (car (entsel))))
  (prompt "\n选择小圆")
  (setq minc (entget (car (entse... [/B]


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

使用道具 举报

发表于 2003-12-14 16:49:09 | 显示全部楼层
求求斑竹将其整理做成附件好吗,我是个外行不懂怎么用呀
我只会下载附件呀,谢谢斑竹大人了!
谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2003-12-15 08:15:31 | 显示全部楼层
最初由 wkai 发布
[B]偏移的距离怎么规定?
两条线不平行呀~ [/B]

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

使用道具 举报

 楼主| 发表于 2003-12-15 08:18:06 | 显示全部楼层

Re: Re: [原创]:弧形偏移程序

最初由 coolzhb 发布
[B][QUOTE]最初由 zhynt 发布
[B][code]
(defun c:aof (/        maxc mnc cen midd ose od midzhouchang on oang newose)
  (prompt "\n选择大圆")
  (setq maxc (entget (car (entsel))))
  (prompt "\n选择小圆... [/B]

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

使用道具 举报

发表于 2003-12-15 08:47:25 | 显示全部楼层
我感觉程序应该加入判断大圆与小圆的位置关系,就是说小圆应该在大圆里面,否则不运行。
小圆在大圆外面的时候运行到一定的时候就会出现错误,我不知道小圆在大圆外面有没有实际意义。
另外要自动判断大圆与小圆,如果先选择了小圆,程序执行到一定的时候就出现错误。
还有偏移的距离应该象offset一样能够保存下来,第二次的时候可以不用输入值。这样使用更方便。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-15 10:19:43 | 显示全部楼层

Re: Re: Re: [原创]:弧形偏移程序

最初由 zhynt 发布
[B][QUOTE]最初由 coolzhb 发布
[B][QUOTE]最初由 zhynt 发布
[B][code]
(defun c:aof (/        maxc mnc cen midd ose od midzhouchang on oang newose)
  (prompt "\n选择大圆")
  (setq maxc (entget (... [/B]


我觉得应该是点中圆弧后,告诉几等分,距离程序由弧形的夹角算出,程序自动画出中间的线,或告诉程序偏移几次和距离,程序画出中间的线!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-12-15 11:28:41 | 显示全部楼层
我之所以这样做是因为画楼梯时,踏步宽度是决定因数,而不是夹角,我这里的夹角是程序根据宽度算出来的。当然了,让程序一次画好几个踏步是很简单的事。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-15 11:33:15 | 显示全部楼层
最初由 zhynt 发布
[B]我之所以这样做是因为画楼梯时,踏步宽度是决定因数,而不是夹角,我这里的夹角是程序根据宽度算出来的。当然了,让程序一次画好几个踏步是很简单的事。 [/B]


对,我明白你的意思,我也想到了,就是你了输入踏步的宽度和级数,程序一次画出,如果级数不输入,则可以按照等分画出。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-15 13:59:32 | 显示全部楼层
试了一下. 发现得出的结果和偏移距离输入数值有偏差.
那个偏移距离是相对于什么位置的相对距离呢?
另外一次点一个,效率太低
程序的功效还有待提高
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-15 14:09:04 | 显示全部楼层
最初由 陌生人 发布
[B]试了一下. 发现得出的结果和偏移距离输入数值有偏差.
那个偏移距离是相对于什么位置的相对距离呢?
另外一次点一个,效率太低
程序的功效还有待提高 [/B]


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

使用道具 举报

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

使用道具 举报

发表于 2003-12-15 15:45:44 | 显示全部楼层
试了一下,不得要领. 能否告之两圆的关系? 同心?  弧形偏移有否适用性? 不清楚背景条件?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-26 22:38 , Processed in 0.239394 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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