标题: RS Ubound 出错 [打印本页] 作者: tony 时间: 2011-7-9 09:48 标题: RS Ubound 出错 ……
crv = Rhino.getobject("Select crv",4)
arrC = Rhino.explodecurve (crv,1)
If ubound(arrC)>0 then
……
在上面的脚本中,如果crv本身是一条不可爆炸开的曲线,Ubound(arrC)的值应该为0,结果就是为0时会出错。如果crv是一条可炸开的曲线,就不会出错。
请各位指教.......作者: modern 时间: 2011-7-10 08:38
这个出错不见得在Ubound
最好能看到下面的部份
很可能问题出在下面作者: tony 时间: 2011-7-12 15:03
modern 发表于 2011-7-10 08:38
这个出错不见得在Ubound
最好能看到下面的部份
很可能问题出在下面
谢谢M大,你可以测试一下.只画一条不能炸开的线,就是会出错,而由两条线Join起来的线,就不会.
Call Main()
Sub Main()
Crv1 = Rhino.GetObject("select curve 1",4)
If IsNull(Crv1) Then Exit Sub
If Rhino.IsCurve(Crv1) Then
newcrv1 = Rhino.ExplodeCurves(crv1,True)
If Ubound(newcrv1)>0 Then
Rhino.MessageBox "Curve 1 is a polycurve! Please Check it!!",48,"Warning"
Exit Sub
End If
End If
End Sub作者: tony 时间: 2011-7-14 22:06
高声呼叫M大作者: hyycq 时间: 2012-12-26 22:47
你的错误是在newcrv1=rhino.explodecurves(crv1,true)
因为你如果是单独的curve的话,newcrv1的返回值是null。所以下面ubound是空的无效的。我吧你的这个小东东改了一下,这样应该可以用了。
Call Main()
Sub Main()
Dim crv1,newcrv1
Crv1 = Rhino.GetObject("select curve 1",4)
If IsNull(Crv1) Then Exit Sub
If Rhino.IsCurve(Crv1) Then
newcrv1 = Rhino.ExplodeCurves(crv1,True)
if isnull(newcrv1) then
call rhino.print("It is not a polyline.")
else
Rhino.MessageBox "Curve 1 is a polycurve! Please Check it!!",48,"Warning"
Exit Sub
end if
End If
End Sub作者: hyycq 时间: 2012-12-26 22:48
为什么这个论坛不能上传?我存了个rvb格式的还不能发帖上传!作者: tony 时间: 2012-12-31 20:38