明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3983|回复: 5

半椭圆弧用VBA语言怎么画?

[复制链接]
发表于 2006-12-22 09:33:00 | 显示全部楼层 |阅读模式

用sendcommand命令,不知是系统响应太慢还是怎么的,画不出来,出现以下字段

命令: _ellipse
指定椭圆的轴端点或 [圆弧(A)/中心点(C)]: _a
指定椭圆弧的轴端点或 [中心点(C)]: -3483.56427052899,-2404.93706178788,0
指定轴的另一个端点: -3443.56427052899,-2484.93706178788,0
指定另一条半轴长度或 [旋转(R)]: 10
需要点或选项关键字。
指定另一条半轴长度或 [旋转(R)]: 0
需要点或选项关键字。
指定另一条半轴长度或 [旋转(R)]: 180
需要点或选项关键字。

也想过先画个完整的椭圆再剪切删除一半,试了一下,不成功。

有什么更好的方法吗?

发表于 2006-12-22 09:49:00 | 显示全部楼层
AddEllipse
 楼主| 发表于 2006-12-22 15:17:00 | 显示全部楼层

AddEllipse这个是画完整的椭圆的哦,我是想直接画个半椭圆

不行的话就在完整的椭圆上进行操作,生成一个半椭圆,但现在还没实现,真伤脑筋啊。

发表于 2006-12-22 15:22:00 | 显示全部楼层
生成后可以修改StartAngle和EndAngle属性来改成椭圆弧
发表于 2006-12-23 12:06:00 | 显示全部楼层
Autocad开发者帮助文件示例,addellipse项,
Sub Example_AddEllipse()
    ' This example creates an ellipse in model space.
    Const Pi As Double = 3.1415926
    Dim ellObj As AcadEllipse
    Dim majAxis(0 To 2) As Double
    Dim center(0 To 2) As Double
    Dim radRatio As Double
   
    ' Create an ellipse in model space
    center(0) = 0: center(1) = 0: center(2) = 0#
    majAxis(0) = 20: majAxis(1) = 0: majAxis(2) = 0#
    radRatio = 0.5
    Set ellObj = ThisDrawing.ModelSpace.AddEllipse(center, majAxis, radRatio)
    ZoomExtents
'对起始角和终点角改动后就可以得到半椭圆或四分之一椭圆.
    ellObj.StartAngle = 0
    ellObj.EndAngle = 90 * Pi / 180
    ellObj.Update
End Sub
发表于 2014-11-29 16:29:03 | 显示全部楼层
mccad 发表于 2006-12-22 09:49
AddEllipse

版主帮忙,如下代码,我的本意是画长轴3.75,短轴1.875的椭圆,但是画出来,长轴是280!!!
这是怎么回事?求助。%>_<%

Sub Example_AddEllipse()
    ' This example creates an ellipse in model space.
    Const Pi As Double = 3.1415926
    Dim ellObj As AcadEllipse
    Dim majAxis(0 To 2) As Double
    Dim center(0 To 2) As Double
    Dim radRatio As Double
   
    ' Create an ellipse in model space
    center(0) = -1.25: center(1) = 280: center(2) = 0#
    majAxis(0) = -5: majAxis(1) = 280: majAxis(2) = 0#
    radRatio = 0.5
    Set ellObj = ThisDrawing.ModelSpace.AddEllipse(center, majAxis, radRatio)
    ZoomExtents

'对起始角和终点角改动后就可以得到半椭圆或四分之一椭圆.
    ellObj.StartAngle = 0
    ellObj.EndAngle = 90 * Pi / 180
    ellObj.Update
End Sub
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 10:33 , Processed in 0.161449 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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