乐筑天下

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

输入两点和弧长,画弧,谁能帮我,谢谢。

[复制链接]

1

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2005-10-5 22:07:00 | 显示全部楼层 |阅读模式
输入两点和弧长,画弧,谁能帮我,弧的方向列所谓,画两个也可以。VBA,lisp,都可以。谢谢。
回复

使用道具 举报

46

主题

261

帖子

8

银币

后起之秀

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

铜币
445
发表于 2005-10-5 23:59:00 | 显示全部楼层
我以前写的。还有LISP,请到LISP版:dispbbs.asp?boardid=3&id=42791
Sub ddARC()
Dim ddARC As AcadArc
Dim S, L, R, a0, a1, fx, flx, c, angs, ange As Double
Dim pa, pb, cen As Variant
Const PI = 3.1415926535
pa = ThisDrawing.Utility.GetPoint(, "请输入圆弧起点:")
pb = ThisDrawing.Utility.GetPoint(pa, "请输入圆弧终点:")
S = ThisDrawing.Utility.GetDistance(pa, "请输入圆弧弧长:")
L = dis(pa, pb)
b = ThisDrawing.Utility.AngleFromXAxis(pa, pb)
If S  0.0000000001
R = S / a1
c = b - a1 * 0.5 + 90 * PI / 180
cen = ThisDrawing.Utility.PolarPoint(pa, c, R)
angs = c + PI
ange = angs + a1
Set ddARC = ThisDrawing.ModelSpace.AddArc(cen, R, angs, ange)
End Sub
Public Function dis(pa, pb As Variant) As Double
dis = ((pa(0) - pb(0)) ^ 2 + (pa(1) - pb(1)) ^ 2 + (pa(2) - pb(2)) ^ 2) ^ 0.5
End Function
回复

使用道具 举报

46

主题

261

帖子

8

银币

后起之秀

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

铜币
445
发表于 2005-10-9 18:08:00 | 显示全部楼层
发完贴子,就不来了,这样的人以后谁愿意帮你!
回复

使用道具 举报

14

主题

36

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
92
发表于 2005-10-10 15:44:00 | 显示全部楼层
正需要这样的程序呢
感谢!
回复

使用道具 举报

3

主题

40

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
52
发表于 2013-9-18 18:28:00 | 显示全部楼层
很受用啊。谢谢。
回复

使用道具 举报

0

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2013-10-8 13:59:00 | 显示全部楼层
支持xxxxxx
回复

使用道具 举报

58

主题

274

帖子

14

银币

中流砥柱

Rank: 25

铜币
507
发表于 2013-10-8 22:40:00 | 显示全部楼层
谢谢楼主的分享!很有意思的代码,收藏备用。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-6-29 13:01 , Processed in 2.097950 second(s), 77 queries .

© 2020-2025 乐筑天下

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