RS Ubound 出错

7
回复
3995
查看
打印 上一主题 下一主题
[复制链接]

微信扫一扫 分享朋友圈

签到天数: 631 天

连续签到: 1 天

[LV.9]论坛支柱

1
发表于 2011-7-9 09:48:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
……
crv = Rhino.getobject("Select crv",4)
arrC = Rhino.explodecurve (crv,1)
If ubound(arrC)>0 then
……
在上面的脚本中,如果crv本身是一条不可爆炸开的曲线,Ubound(arrC)的值应该为0,结果就是为0时会出错。如果crv是一条可炸开的曲线,就不会出错。
请各位指教.......
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏
收藏0
支持
支持0
反对
反对0
订阅 Rhino 最新资讯
回复

使用道具 举报

签到天数: 3042 天

连续签到: 1 天

[LV.Master]开坛元老

2
发表于 2011-7-10 08:38:36 | 只看该作者
这个出错不见得在Ubound
最好能看到下面的部份
很可能问题出在下面
回复 支持 反对

使用道具 举报

签到天数: 631 天

连续签到: 1 天

[LV.9]论坛支柱

3
 楼主| 发表于 2011-7-12 15:03:41 | 只看该作者
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
回复 支持 反对

使用道具 举报

签到天数: 631 天

连续签到: 1 天

[LV.9]论坛支柱

4
 楼主| 发表于 2011-7-14 22:06:37 | 只看该作者
高声呼叫M大
回复 支持 反对

使用道具 举报

签到天数: 95 天

连续签到: 1 天

[LV.6]常住会员

5
发表于 2012-12-26 22:47:09 | 只看该作者
你的错误是在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
回复 支持 反对

使用道具 举报

签到天数: 95 天

连续签到: 1 天

[LV.6]常住会员

6
发表于 2012-12-26 22:48:33 | 只看该作者
为什么这个论坛不能上传?我存了个rvb格式的还不能发帖上传!
回复 支持 反对

使用道具 举报

签到天数: 631 天

连续签到: 1 天

[LV.9]论坛支柱

7
 楼主| 发表于 2012-12-31 20:38:23 | 只看该作者
hyycq 发表于 2012-12-26 22:47
你的错误是在newcrv1=rhino.explodecurves(crv1,true)
因为你如果是单独的curve的话,newcrv1的返回值是nu ...

谢谢~~~~~~~~~~~~~~
回复 支持 反对

使用道具 举报

签到天数: 631 天

连续签到: 1 天

[LV.9]论坛支柱

8
 楼主| 发表于 2012-12-31 20:38:59 | 只看该作者
hyycq 发表于 2012-12-26 22:48
为什么这个论坛不能上传?我存了个rvb格式的还不能发帖上传!

你可以存为txt文件啊
回复 支持 反对

使用道具 举报

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

本版积分规则

15927211580

周一至周五 9:30-18:00

武汉市武昌区中山路380号201

  • 关注微信公众号

  • 微信咨询客服号

QQ- Archiver- 鄂ICP备12016959号   充值M币 |勋章中心 | ( 鄂ICP备12016959号 )

Powered by Discuz!X3.2© 2001-2013 Comsenz Inc.

金融信息行业协会理事单位 | 信息服务业行业协会会员单位 | 网络信贷服务业企业联盟单位