乐筑天下

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

在vb和CAD二次开发时,画圆弧出现了这样的错误

[复制链接]

7

主题

28

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
56
发表于 2005-5-27 17:21:00 | 显示全部楼层 |阅读模式

cbhiex5akj0.JPG

cbhiex5akj0.JPG

如图,发生了这样的错误
提示是要求对象,不明白
程序都在图上了,谁给看看...
或者如下:
Dim arcObj As AcadArc
Dim centerPoint(0 To 2) As Double
Dim radius As Double
Dim startAngleInDegree As Double
Dim endAngleInDegree As Double
' Define the circle
centerPoint(0) = 0#: centerPoint(1) = 0#: centerPoint(2) = 0#
radius = 5#
startAngleInDegree = 10#
endAngleInDegree = 230#
' Convert the angles in degrees to angles in radians
Dim startAngleInRadian As Double
Dim endAngleInRadian As Double
startAngleInRadian = startAngleInDegree * 3.141592 / 180#
endAngleInRadian = endAngleInDegree * 3.141592 / 180#
' Create the arc object in model space
Set arcObj = ThisDrawing.ModelSpace.AddArc(centerPoint, radius, startAngleInRadian, endAngleInRadian)
ZoomAll
回复

使用道具 举报

13

主题

396

帖子

5

银币

后起之秀

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

铜币
448
发表于 2005-5-27 18:08:00 | 显示全部楼层
程序没错啊,我刚试了,可以画圆弧.
回复

使用道具 举报

16

主题

51

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
115
发表于 2005-5-27 20:51:00 | 显示全部楼层
我也帮你试过了,没有错,可以画圆弧。
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2005-5-27 21:29:00 | 显示全部楼层
还没有错?
请注意楼主需要的是在VB环境下,而不是VBA环境下。
所以ThisDrawing没有定义。
回复

使用道具 举报

7

主题

28

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
56
发表于 2005-5-27 22:35:00 | 显示全部楼层
怎么定义?
直接 dim thisdrawing as double ???
回复

使用道具 举报

7

主题

28

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
56
发表于 2005-5-27 22:45:00 | 显示全部楼层
cryyyy发表于2005-5-27 22:35:00

q2zvhvhzqtn.JPG

q2zvhvhzqtn.JPG

我直接对 thisdrawing 定义的话(别见笑,初学者),又发生了这样的错误说         无效限定符
这又是怎么回事?
回复

使用道具 举报

16

主题

51

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
115
发表于 2005-5-28 01:20:00 | 显示全部楼层
dim        thisdrawing as acaddocument        
set thisdrawing =acadApp.Activedocument
回复

使用道具 举报

7

主题

28

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
56
发表于 2005-5-28 15:48:00 | 显示全部楼层
哈哈,厉害
高手
搞定了
非常感谢
回复

使用道具 举报

31

主题

148

帖子

8

银币

后起之秀

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

铜币
272
发表于 2005-5-28 16:04:00 | 显示全部楼层
用VB代码画 椭圆弧 ,帮我
回复

使用道具 举报

7

主题

28

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
56
发表于 2005-5-28 18:20:00 | 显示全部楼层

Dim arcObj As AcadArc                                                                                                                                                                 '''''''''''''''''''''''''''''''''''''''''弧
Dim centerPoint(0 To 2) As Double
Dim radius As Double
Dim startAngleInDegree As Double                 'Sqr(nj ^ 2 - (b / 2) ^ 2) + ybjl
Dim endAngleInDegree As Double
Dim thisdrawing As AcadDocument
Set thisdrawing = acadapp.ActiveDocument
'Dim ppp As Double
ppp = (b / 2) / Sqr(nj ^ 2 - (b / 2) ^ 2)
qqq = Atn(ppp)
' Define the circle
centerPoint(0) = ybjl#: centerPoint(1) = zxxsp#: centerPoint(2) = 0#
radius = nj#
startAngleInDegree = ppp
endAngleInDegree = -qqq
' Convert the angles in degrees to angles in radians
Dim startAngleInRadian As Double
Dim endAngleInRadian As Double
startAngleInRadian = startAngleInDegree * 3.141592 / 180#
endAngleInRadian = endAngleInDegree * 3.141592 / 180#
' Create the arc object in model space
Set arcObj = thisdrawing.ModelSpace.AddArc(centerPoint, radius, startAngleInRadian, endAngleInRadian)
ZoomAll
完整程序如上,其中我要定义这俩个角才可以画出弧,假如我直接给角附值,那可以轻松画出弧.但是假如我给他附一个变量,怎么就画不出来啊...???
startAngleInDegree = ppp
endAngleInDegree = -qqq
ppp可以,但是经过反正切Atn(ppp)得到qqq之后,就画不出来了,是不是不能用反正切函数啊???
ppp = (b / 2) / Sqr(nj ^ 2 - (b / 2) ^ 2)
qqq = Atn(ppp)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-5 13:42 , Processed in 0.684830 second(s), 76 queries .

© 2020-2025 乐筑天下

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