NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 19521|回复: 9
打印 上一主题 下一主题

[在线求助] script小问题求助

[复制链接]
跳转到指定楼层
1m
发表于 2011-7-3 18:20:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想通过joinsurface这个命令把几个面接成polysrf,但是不能成功,也没有弹出错误

截取一段简化的代码如下

Dim objects, sArr1,sArr2,sArr3,sArr4,srf1,srf2,srf3,srf4,arrsrfs

sArr1=array(array(0,0,0),array(5,0,0),array(0.5*5,0,2))

sArr2=array(array(0,5,0),array(5,5,0),array(0.5*5,5,2))  

sArr3=array(array(0,0,0),array(0,5,0),array(0.5*5,5,2),array(0.5*5,0,2))   

sArr4=array(array(5,0,0),array(5,5,0),array(0.5*5,5,2),array(0.5*5,0,2))

srf1=rhino.AddSrfPt(sArr1)

srf2=rhino.AddSrfPt(sArr2)

srf3=rhino.AddSrfPt(sArr3)

srf4=rhino.AddSrfPt(sArr4)

arrsrfs=array(srf1,srf2,srf3,srf4)


objects=rhino.JoinSurfaces(arrsrfs,True)



求高手指点,代码有什么问题或者应该怎样做。
谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
2m
发表于 2011-7-3 19:25:59 | 只看该作者
好像要输入3维点 而不是数组吧
3m
发表于 2011-7-3 20:18:52 | 只看该作者
Dim objects, sArr1,sArr2,sArr3,sArr4,srf1,srf2,srf3,srf4,arrsrfs

        sArr1=array(array(0,0,0),array(5,0,0),array(0.5*5,0,2))

        sArr2=array(array(0,5,0),array(5,5,0),array(0.5*5,5,2))  

        sArr3=array(array(0,0,0),array(0,5,0),array(0.5*5,5,2),array(0.5*5,0,2))   

        sArr4=array(array(5,0,0),array(5,5,0),array(0.5*5,5,2),array(0.5*5,0,2))

        srf1=rhino.AddSrfPt(sArr1)

        srf2=rhino.AddSrfPt(sArr2)

        srf3=rhino.AddSrfPt(sArr3)

        srf4=rhino.AddSrfPt(sArr4)

        call rhino.SelectObjects(array(srf1,srf2,srf3,srf4))
        call rhino.Command("join")
        call rhino.UnselectAllObjects
        objects=rhino.LastCreatedObjects
4m
发表于 2011-7-3 20:19:15 | 只看该作者
本帖最后由 1235813 于 2011-7-3 20:20 编辑

应用join命令来实现
5m
发表于 2011-7-4 13:28:34 | 只看该作者
还没有到这一步…………
6m
 楼主| 发表于 2011-7-4 16:45:29 | 只看该作者
2# panhao1



Rhino.JoinSurfaces (arrObjects [,blnDelete])

提示里是物件组啊。。
7m
 楼主| 发表于 2011-7-4 16:46:47 | 只看该作者
3# 1235813

非常感谢!,确实达到了目的

不过不明白joinsurface是有bug还是用法不对。。
8m
发表于 2011-9-15 22:29:08 | 只看该作者
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
9m
发表于 2011-11-5 21:33:10 | 只看该作者
10m
发表于 2012-4-24 10:58:46 | 只看该作者
按照rhinoscript函数的介绍joinSurface输入的面组必须是an ordered array of strings即是必须按照可搭接上的顺序排列输入的面,按照你的面的生成,修改为
srf(0)=Rhino.AddSrfPt(sArr1)
srf(2)=Rhino.AddSrfPt(sArr2)
srf(1)=Rhino.AddSrfPt(sArr3)
srf(3)=Rhino.AddSrfPt(sArr4)
就OK了

小黑屋|手机版|NCF参数化建筑论坛 ( 浙ICP备2020044100号-2 )    辽公网安备21021102000973号

GMT+8, 2024-11-22 03:13 , Processed in 0.066111 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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