fengtie 发表于 2004-1-25 10:46:00

请教高手我这段程序错在哪,有时行有时就不行??

Sub drawneiwaique()
'画椭圆弧
Dim startpt(0 To 2) As Double
Dim pi As Double
pi = 4 * Atn(1)
Dim ellobj As AcadEllipse
Dim ellmajoraxis(0 To 2) As Double
Dim ellcenter(0 To 2) As Double
startpt(0) = 0: startpt(1) = 0: startpt(2) = 0
ellcenter(0) = startpt(0) + 25: ellcenter(1) = startpt(1) + 15: ellcenter(2) = 0
ellmajoraxis(0) = startpt(0) + 25: ellmajoraxis(1) = startpt(1): ellmajoraxis(2) = 0
Set ellobj = ThisDrawing.ModelSpace.AddEllipse(ellcenter, ellmajoraxis, 0.6)
ellobj.StartAngle = 0.5 * pi: ellobj.EndAngle = 1.5 * pi
'画直线
Dim plinept(0 To 11) As Double
Dim plineobj As AcadPolyline
Dim ellendpt As Variant
Dim ellstartpt As Variant
ellendpt = ellobj.EndPoint
ellstartpt = ellobj.StartPoint
plinept(0) = ellendpt(0): plinept(1) = ellendpt(1): plinept(2) = ellendpt(2)
plinept(3) = ellendpt(0) + 25: plinept(4) = ellendpt(1): plinept(5) = 0
plinept(6) = ellstartpt(0) + 25: plinept(7) = ellstartpt(1): plinept(8) = 0
plinept(9) = ellstartpt(0): plinept(10) = ellstartpt(1): plinept(11) = ellstartpt(2)
Set plineobj = ThisDrawing.ModelSpace.AddPolyline(plinept)
'建立面域
Dim shapeobj(0 To 1) As AcadEntity Dim regionobj As Variant
Set shapeobj(0) = ellobj
Set shapeobj(1) = plineobj
regionobj = ThisDrawing.ModelSpace.AddRegion(shapeobj)
ellobj.Delete
plineobj.Delete
End Sub

bluemoon 发表于 2004-1-25 12:23:00

程序没有错误 刚刚调试 是可行的


不知道你是什么时候出错 哪一句出错了?把你的出错信息帖出来看看

fengtie 发表于 2004-1-26 08:33:00

谢谢大哥了。


问题已经找出来了,出错的地方是倒数第四行,原因是我在非顶视图执行该程序。


但不知有没有避免出错的方法?

bluemoon 发表于 2004-1-26 11:56:00

非顶视图?


什么意思啊?

fengtie 发表于 2004-1-26 15:26:00

在前视图或是其他的视图就不行,只有顶视图可以

whyer 发表于 2004-1-28 09:15:00

在运行该段程序前,可以通过设置启动视图的方式来解决这个问题
页: [1]
查看完整版本: 请教高手我这段程序错在哪,有时行有时就不行??