找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 733|回复: 13

[求助]:我想在CAD里面画大小递增的圆?怎么办?

[复制链接]
发表于 2004-4-26 17:55:02 | 显示全部楼层 |阅读模式

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

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

×
我想在CAD里面画大小递增的圆,应该怎么画?
比如:
   我要在同一线段上画最小点是0.1MM,最大点是0.5MM(直径),圆与圆间距是0.8MM,画20个,应该怎么操作呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-4-26 18:10:16 | 显示全部楼层
这个问题非常好解决,你只要用偏移命令就可以了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-4-26 18:20:07 | 显示全部楼层
但是是大小递增的圆呀.比如我只告诉最小点到最大点的距离是50mm,要排列60个点
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2004-4-26 21:05:42 | 显示全部楼层
自由,我想要一个会渐变的……做建筑的弧形窗用,需要渐变的直线和同圆心渐变的圆
也想要同圆心,间距一定的的那一种,可以理解吧?

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

使用道具 举报

发表于 2004-4-26 21:39:56 | 显示全部楼层
最初由 雨中漫步0423 发布
[B]自由,我想要一个会渐变的……做建筑的弧形窗用,需要渐变的直线和同圆心渐变的圆
也想要同圆心,间距一定的的那一种,可以理解吧?

还有,我用的是R14……VB和VLISP都用不了 [/B]


理解不了,我不懂建筑啊,小雨,你看看晓东工具箱有没有这个功能,要不然就装个天正~~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-4-27 11:58:42 | 显示全部楼层
最初由 自由的鱼 发布
[B]这个用程序不难做的,但是不是你的间隔距离经常是要变的? [/B]

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

使用道具 举报

发表于 2004-4-27 22:49:07 | 显示全部楼层
自由,你不明白没关系,我让你明白就好啊,晓东和天正我都没找到这个……
就是像图里这样,上面的那个是中间是弧形窗,两边是平窗,下面那个是环形的阳光板顶视图
这样可以理解吗?  :P*-*1
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-27 23:36:35 | 显示全部楼层
建筑的东东我真的很陌生,小鱼,你看看有没有别的高手,:)

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

使用道具 举报

发表于 2004-4-28 09:21:08 | 显示全部楼层
你可以试试这个,看能用吗?
(defun c:dcircle()
    (setq 间距(getint"/n请输入间距:"))
    (setq 个数(1- (getint"/n请输入排列个数:")))
    (setq rr(getreal"/n请输入最小园半径:"))
    (setq rrr(getreal"/n请输入最大园半径:"))
    (setq ppp(getpoint"/n请确定起始点位置:"))
    (setq wy(/ (float 间距) (float 个数)))
    (setq bbb(/ (- rrr rr) 个数))
    (setq px(car ppp) py (cadr ppp))
    (repeat 个数
         (command"circle" ppp rr "")
         (setq px (+ px wy))
         (setq ppp (list px py))
         (setq rr(+ rr bbb))
           )
)
这是横向排列的,如果你想纵向排列,可以改为
    (setq py (+ py wy))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2004-5-15 22:38:18 | 显示全部楼层

[LISP函数]:做中心间距相同大小递增的圆

我想在CAD里面画大小递增的圆,应该怎么画?
比如:
我要在同一线段上画最小点是0.1MM,最大点是0.5MM(直径),圆与圆中心间距是0.8MM,画20个,应该怎么操作呢?

我用以下代码做出来的却不行,请老大帮帮忙.
(defun c:dcircle()
(setq 间距(getint"/n请输入间距:"))
(setq 个数(1- (getint"/n请输入排列个数:")))
(setq rr(getreal"/n请输入最小园半径:"))
(setq rrr(getreal"/n请输入最大园半径:"))
(setq ppp(getpoint"/n请确定起始点位置:"))
(setq wy(/ (float 间距) (float 个数)))
(setq bbb(/ (- rrr rr) 个数))
(setq px(car ppp) py (cadr ppp))
(repeat 个数
(command"circle" ppp rr "")
(setq px (+ px wy))
(setq ppp (list px py))
(setq rr(+ rr bbb))
)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2004-5-16 08:14:21 | 显示全部楼层

Re: [LISP函数]:做中心间距相同大小递增的圆

最初由 kevinchan 发布
[B]我想在CAD里面画大小递增的圆,应该怎么画?
比如:
我要在同一线段上画最小点是0.1MM,最大点是0.5MM(直径),圆与圆中心间距是0.8MM,画20个,应该怎么操作呢?

我用以下代码做出来的却不行,请老大帮帮忙.
(defun c:... [/B]

[PHP]
(defun c:dcircle (/ e dis minr maxr p d ptl vd)
  (if (and (setq e (entsel "\n拾取曲线上起始位置: "));此处最好加过滤选择
           (setq dis (getdist (last e) "\n间距: "))
           (setq minr (getdist (last e) "\n最小半径: "))
           (setq maxr (getdist (last e) "\n最大半径: "))
      )
    (progn
      (setq p        (vlax-curve-getclosestpointto (car e) (last e))
            d        (vlax-curve-getdistatpoint (car e) p)
            ptl        (list p)
      )
      (while (setq p1;;此处和曲线方向有关,最佳解决是后面提示正向多少个和反向少
                     ;;由用户决定往哪个方向绘制, 再 扩展下可以在曲线任意两点间绘制
                    (vlax-curve-getpointatdist (car e) (setq d (+ d dis)))
             )
        (setq ptl (cons p1 ptl))
      )
      (setq vd (/ (- maxr minr) (length ptl)));;此处是按个数平均递增,稍微修改可满足楼主要求
      (command ".undo" "be")
      (mapcar '(lambda (x)
                 (vl-cmdf ".circle" x minr );此处如果追求效率可用entmake
                 (setq minr (+ vd minr))
               )
              (reverse ptl)
      )
      (command "undo" "end")
    )
  )
  (princ)
)[/PHP]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-21 07:24 , Processed in 0.445894 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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