乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 143|回复: 9

如何做中心间距相同大小递增的圆

[复制链接]

9

主题

40

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
76
发表于 2004-5-15 23:09:00 | 显示全部楼层 |阅读模式
我想在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))
)
)
回复

使用道具 举报

43

主题

152

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
324
发表于 2004-5-15 23:25:00 | 显示全部楼层
下面这样要得不
(defun c:dcircle ()
(setvar "cmdecho" 0)
(setq di (getint "\n请输入间距:"))
(setq num (getint "\n请输入排列个数:"))
(setq rr (getreal "\n请输入最小圆半径:"))
(setq rrr (getreal "\n请输入最大圆半径:"))
(setq ppp (getpoint "\n请确定起始点位置:"))
(setq wy (/ (float di) (float num)))
(setq bbb (/ (- rrr rr) num))
(setq px(car ppp) py (cadr ppp))
(repeat num
         (command"circle" ppp rr)
         (setq px (+ px wy))
         (setq ppp (list px py))
         (setq rr (+ rr bbb))
)
(setvar "cmdecho" 0)
(princ)
)
回复

使用道具 举报

43

主题

152

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
324
发表于 2004-5-15 23:29:00 | 显示全部楼层
你的参数最好用字母代替,这样方便点,并且要直观些
比如你要表示一个角度可用ang,距离用dis,点用point/pt等
这样即方便也有直观的效果啊
回复

使用道具 举报

9

主题

40

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
76
发表于 2004-5-15 23:30:00 | 显示全部楼层
我现在调入还是出现输入的数据和想要的结果不一样,比如输入的中心间距就不符合!
回复

使用道具 举报

43

主题

152

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
324
发表于 2004-5-15 23:36:00 | 显示全部楼层
你说说你的具体要求吧,要实现什么样的效果?
回复

使用道具 举报

9

主题

40

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
76
发表于 2004-5-15 23:37:00 | 显示全部楼层
我是想在同一条直线上排列中心间距为递增的圆.就是说圆心在同一条直线上.,中心间距相同,圆直径是逐步递增的...
回复

使用道具 举报

20

主题

872

帖子

10

银币

中流砥柱

Rank: 25

铜币
952
发表于 2004-5-15 23:38:00 | 显示全部楼层
捕捉!
回复

使用道具 举报

9

主题

40

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
76
发表于 2004-5-15 23:45:00 | 显示全部楼层
不行呀
回复

使用道具 举报

43

主题

152

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
324
发表于 2004-5-15 23:54:00 | 显示全部楼层
(defun c:dcircle ()
(setvar "cmdecho" 0)
(setq old_os (getvar "osmode"))
(setvar "osmode" 0)
(setq di (getint "\n请输入间距:"))
(setq num (getint "\n请输入排列个数:"))
(setq rr (getreal "\n请输入最小圆半径:"))
(setq rrr (getreal "\n请输入最大圆半径:"))
(setq ppp (getpoint "\n请确定起始点位置:"))
(setq bbb (/ (- rrr rr) num))
(setq px(car ppp) py (cadr ppp))
(repeat num
         (command"circle" ppp rr)
         (setq px (+ px di))
         (setq ppp (list px py))
         (setq rr (+ rr bbb))
)
(setvar "osmode" old_os)
(setvar "cmdecho" 1)
(princ)
)
回复

使用道具 举报

43

主题

152

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
324
发表于 2004-5-15 23:56:00 | 显示全部楼层
这样应该是你要的了。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-16 22:23 , Processed in 1.820877 second(s), 83 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表