NCF参数化建筑论坛

标题: 初学Rhinoscript时的作品:古建筑建模 [打印本页]

作者: 夜神    时间: 2010-5-29 00:04
标题: 初学Rhinoscript时的作品:古建筑建模
本帖最后由 夜神 于 2010-5-29 17:23 编辑


                               
登录/注册后可看大图


那时刚学RS,古建筑也是似懂非懂,且本人不是搞建筑的,见笑了。

再挂一个歇山的构架图,没加瓦,因为模型太大没法渲染了。
[attach]8015[/attach]
[attach]8016[/attach]
[attach]8017[/attach]
这个重檐歇山少了一根抹角梁(或递角梁),上层角柱悬空了,最后才发现的。
作者: SDK    时间: 2010-5-29 09:14
这个是Rs搞的?!楼主牛B
作者: 夜神    时间: 2010-5-29 10:32
翼角太复杂,手工做很麻烦,就用rhinoscript编了。
渲染时Rhino死了好几次,最后不得不把看不见的结构统统删掉。
这个渲染器是Brazil for Rhino的测试版,估计没几个人知道,呵呵。
作者: skywoolf    时间: 2010-5-29 10:40
{:3_57:}很赞的作品,欢迎来到NCF!!
作者: 夜神    时间: 2010-5-29 11:20
有资格在这里发帖了?谢谢斑竹,呵呵!

这个模型的rs编程有点搞笑,当时用的是一个Rhino3.0的早期版本,里面的rs甚至连布尔运算功能都没有。那时还不知道同是3.0版的Rhino后期版本中rs的变化是这么大,以为就如此而已了,所以这里面有些结构是硬着头皮用面糊起来的……
作者: goodsky2009    时间: 2010-5-29 11:28
RS做的古建筑??!!叫我长见识了
作者: 990628    时间: 2010-5-29 12:24
楼主牛.....
作者: njyqqq    时间: 2010-5-29 12:35
楼主是浙大的牛人,
作者: njyqqq    时间: 2010-5-29 12:46
楼主说他是矿大的牛人
作者: divedragon    时间: 2010-5-29 13:18
这个是rs做的????
楼主强悍啊
作者: divedragon    时间: 2010-5-29 13:19
惊叹地无语了。。。。。。。
作者: lawlignt    时间: 2010-5-29 13:19
巴西啊,我试过一次,呵呵
楼主神人,犀牛做古建...膜拜
作者: yanhui314    时间: 2010-5-29 15:22
Brazil,貌似见过
作者: zhouningyi1    时间: 2010-5-29 16:22
初学就做那么牛x啊
顺便问下楼主是学什么的。。
作者: 夜神    时间: 2010-5-29 16:54
学工业设计的。
其实这个没什么技术含量,就是把手工的东西一步步改成程序而已。

p.s.我数学学的还可以:)
作者: 什二    时间: 2010-5-29 17:38
太牛了……用script生成
作者: 董羽天    时间: 2010-5-29 18:20
( ^_^ )图片看起来不错
作者: seraphseraph    时间: 2010-5-29 18:39
且不说别的。。能把古建的结构弄透彻就很不容易了~
作者: divedragon    时间: 2010-5-29 18:52
楼主能传个gh看看么
太牛了
想不通是怎么做的。。。。。。。。。
作者: stratagem    时间: 2010-5-29 19:16
楼主太强大~~~作品很赞
作者: 夜神    时间: 2010-5-29 19:33
19# divedragon
gh是啥?
抱歉刚来,不知道行内术语……
作者: SDK    时间: 2010-5-29 20:02
21# 夜神 就是Grasshopper啊!参数建模神器
作者: zhouningyi1    时间: 2010-5-29 20:07
学工业设计的。
其实这个没什么技术含量,就是把手工的东西一步步改成程序而已。

p.s.我数学学的还可以:)
夜神 发表于 2010-5-29 16:54


再问问当时的参考资料?我最近也在做着玩,发现2002年的硕士论文就有写这个的了 后面还被写了几次,里面有比较详细的方法呢
作者: wikii    时间: 2010-5-29 21:44
楼主威武~
~~~
作者: 夜神    时间: 2010-5-29 21:54
23# zhouningyi1
参考资料只有rhino自带的帮助文档了,还好我英语还行,呵呵
作者: 夜神    时间: 2010-5-29 21:56
Grasshopper我没用过,一直用RS,据说两者功能差不多
作者: zhouningyi1    时间: 2010-5-29 23:01
23# zhouningyi1  
参考资料只有rhino自带的帮助文档了,还好我英语还行,呵呵
夜神 发表于 2010-5-29 21:54


足够强大啊!
作者: Line    时间: 2010-5-29 23:01
很精致的模型,能做成这样一定很下功夫的,向楼主学习!
作者: better    时间: 2010-5-29 23:03
我只能说 我被镇住了
作者: jasonbb88    时间: 2010-5-29 23:43
这个怎么会是用rhinoscript做的呢?
作者: scmast    时间: 2010-5-29 23:53
锰叼!!!!!!! 
作者: claudemit    时间: 2010-5-30 02:55
lz威武 我要赶快抓紧时间学习了
作者: 小r学生    时间: 2010-5-30 11:00
强烈要求兰州上传RVB文件~!!!!
作者: zhuyifei2432    时间: 2010-5-30 15:13
楼主是跟着教材做的吗??
作者: musofan    时间: 2010-5-30 18:02
提示: 作者被禁止或删除 内容自动屏蔽
作者: 夜神    时间: 2010-5-31 00:17
楼主是跟着教材做的吗??
zhuyifei2432 发表于 2010-5-30 15:13

如果你说的是一步步跟着做的教材,还真没有,不过古建筑结构的书买了不少。当时做这个主要还是忽然对古建筑发生了兴趣,并不是为了练习RS而找东西做。如今我RS用的算熟练,还是拜古建之赐。带着目的学东西比纯粹的做练习上手要快的多。

对古建发生兴趣是源于一位日本建筑师池上俊郎,他来我们学校做报告,把他的团队用FormZ软件建的日本五重塔模型搞了一个声势浩大的展览。当时我是有点不服,心想我要搞出一个纯模数化的古建快速建模程序跟他PK一下。正好那时论文做完没事了,说干就干,立刻动手。古建方面的参考资料主要是马炳坚的《木作营造技术》和刘大可的《瓦石营法》,RS就是纯粹看帮助了,幸得以前有些编程基础,上手还不是太难。这个程序写了一周左右,后来对RS渐渐熟悉了,重新调整程序结构又用了将近半个月。我当时是有些钻牛角尖的,觉得只做个外观不算水平,要内部结构全做出来才牛,而且所有尺寸全部按照《营造则例》来推算,一个都不马虎。这样做下一个模型来才发现Rhino搞古建是有些吃力的,由于模型太大,渲染时频繁死机。所以做完重檐歇山后就罢手了。

后来又参加过几个建筑项目,包括舟山的世界佛教论坛会馆,张锦秋设计的那个莲花形状的建筑。张大师给了个草图,华夏所(西北建筑设计院)出的立面图形状也有很多问题,两个侧视图都对不上。最后精确曲面形态的确定,还有曲面施工图数据都是我用RS算出来的。现在想想,蛮有成就感的,呵呵!
作者: freeze23    时间: 2010-5-31 01:22
楼主   可否清楚的说明这个古建的哪部分是rhinoscript编的?还有可否把编程流程说明一下?屋脊的鸱首不会也是编的吧?
作者: 夜神    时间: 2010-5-31 07:55
楼主   可否清楚的说明这个古建的哪部分是rhinoscript编的?还有可否把编程流程说明一下?屋脊的鸱首不会也是编的吧?
freeze23 发表于 2010-5-31 01:22

全部都是,里面还带一个简单的环绕游历。
螭吻和垂兽只是意思一下而已,RS也编不出更复杂的了。
作者: 夜神    时间: 2010-5-31 09:47
强烈要求兰州上传RVB文件~!!!!
小r学生 发表于 2010-5-30 11:00

这位兄弟的要求让在下有些为难了。这个程序有上万行,不过这还不是主要的。这个程序已经送给一个朋友的公司申请了软件著作权,现在已经不是我的东西了。


这里贴出参数定义函数给大家看一下吧,没什么技术上的深度,倒是古建方面的知识需要一些。——当然,还需要耐得住寂寞,编程很枯燥,呵呵!
[attach]8028[/attach]

作者: 夜神    时间: 2010-5-31 09:56
本帖最后由 夜神 于 2010-5-31 09:58 编辑
楼主   可否清楚的说明这个古建的哪部分是rhinoscript编的?还有可否把编程流程说明一下?屋脊的鸱首不会也是编的吧?
freeze23 发表于 2010-5-31 01:22

这个是入口程序:
注意:这个程序会更改背景色为黑色,以便跟建筑师熟悉AutoCAD一致。

Option Explicit
go_SoloPalace
SUB go_SoloPalace
'文件模式
'Rhino.DocumentModified vbFalse
'Rhino.Command "-New N "
'视图模式
Rhino.CurrentView "Perspective"
Rhino.Command "SetMaximizedViewport Perspective "
'禁用自动保存功能(文件太大,浪费时间)
Rhino.Command "-Options Files Autosave Enabled=No Enter Enter Enter "
'显示模式
'Rhino.Command "RenderedViewport "
Rhino.Command "WireframeViewport "
'背景色
Rhino.AppearanceColor 0,0
Rhino.Command "-LoadScript C:\rvb\02_Palace\settings.rvb "
settings
DIM arrItems(8), arrValues
arrItems(0)="台基"
arrItems(1)="柱"
arrItems(2)="梁檩"
arrItems(3)="椽"
arrItems(4)="斗栱:枋/垫栱板"
arrItems(5)="斗栱:角科"
arrItems(6)="斗栱:柱头科"
arrItems(7)="斗栱:平身科"
arrItems(8)="瓦"
'arrValues=Array(1,1,1,1,1,0,1)
DIM strMessage  : strMessage="请选择要建模的部分"
DIM strTitle   : strTitle="单檐庑殿建筑建模"
arrValues=Rhino.CheckListBox (arrItems, Array(1,1,1,1,0,0,0,0,0), strMessage, strTitle)
DIM pi   : pi=4*Atn(1)
DIM r   : r=5000    '视域半径
DIM n   : n=1     '视线角度alfa=n*pi/12
DIM alfa  
IF arrValues(0)=vbTRUE THEN
  alfa=n*pi/12
  Rhino.ViewCameraTarget Rhino.CurrentView, Array(r*cos(alfa)*cos(pi*45/180),-r*cos(alfa)*sin(pi*45/180),r*sin(alfa)), Array(0,0,300)
  Rhino.Command "-LoadScript C:\rvb\02_Palace\platform_单檐庑殿.rvb " ': Rhino.Command "Zoom Extents "
  viewRotate n,2,1.5*r,45,360+45
END IF
IF arrValues(1)=vbTRUE THEN
  alfa=n*pi/12
  Rhino.ViewCameraTarget Rhino.CurrentView, Array(r*cos(alfa)*cos(pi*45/180),-r*cos(alfa)*sin(pi*45/180),r*sin(alfa)), Array(0,0,300)
  Rhino.Command "-LoadScript C:\rvb\02_Palace\pillars_单檐庑殿.rvb "  ': Rhino.Command "Zoom Extents "
  'viewRotate n,2,r,45,360+45
END IF
IF arrValues(2)=vbTRUE THEN
  alfa=n*pi/12
  Rhino.ViewCameraTarget Rhino.CurrentView, Array(r*cos(alfa)*cos(pi*45/180),-r*cos(alfa)*sin(pi*45/180),r*sin(alfa)), Array(0,0,300)
  Rhino.Command "-LoadScript C:\rvb\02_Palace\beams_单檐庑殿.rvb "  ': Rhino.Command "Zoom Extents "
  'viewRotate n,2,r,45,360+45
END IF
IF arrValues(3)=vbTRUE THEN
  alfa=n*pi/12
  Rhino.ViewCameraTarget Rhino.CurrentView, Array(r*cos(alfa)*cos(pi*45/180),-r*cos(alfa)*sin(pi*45/180),r*sin(alfa)), Array(0,0,300)
  Rhino.Command "-LoadScript C:\rvb\02_Palace\roof_单檐庑殿.rvb "  ': Rhino.Command "Zoom Extents "
  viewRotate n,3,r,45,360+45
END IF

IF arrValues(4)=vbTRUE THEN
  alfa=0
  Rhino.ViewCameraTarget Rhino.CurrentView, Array(r*cos(alfa)*cos(pi*45/180),-r*cos(alfa)*sin(pi*45/180),r*sin(alfa)), Array(0,0,300)
  Rhino.Command "-LoadScript C:\rvb\02_Palace\archs_枋_单檐庑殿.rvb "  ': Rhino.Command "Zoom Extents "
  'viewRotate n-1,3,r,45,360+45
END IF
IF arrValues(5)=vbTRUE THEN
  alfa=0
  Rhino.ViewCameraTarget Rhino.CurrentView, Array(r*cos(alfa)*cos(pi*45/180),-r*cos(alfa)*sin(pi*45/180),r*sin(alfa)), Array(0,0,300)
  Rhino.Command "-LoadScript C:\rvb\02_Palace\archs_角科_单檐庑殿.rvb "  ': Rhino.Command "Zoom Extents "
  'viewRotate n-1,3,r,45,360+45
END IF
IF arrValues(6)=vbTRUE THEN
  alfa=0
  Rhino.ViewCameraTarget Rhino.CurrentView, Array(r*cos(alfa)*cos(pi*45/180),-r*cos(alfa)*sin(pi*45/180),r*sin(alfa)), Array(0,0,300)
  Rhino.Command "-LoadScript C:\rvb\02_Palace\archs_柱头科_单檐庑殿.rvb "  ': Rhino.Command "Zoom Extents "
  'viewRotate n-1,3,r,45,360+45
END IF
IF arrValues(7)=vbTRUE THEN
  alfa=0
  Rhino.ViewCameraTarget Rhino.CurrentView, Array(r*cos(alfa)*cos(pi*45/180),-r*cos(alfa)*sin(pi*45/180),r*sin(alfa)), Array(0,0,300)
  Rhino.Command "-LoadScript C:\rvb\02_Palace\archs_平身科_单檐庑殿.rvb "  ': Rhino.Command "Zoom Extents "
  'viewRotate n-1,3,r,45,360+45
END IF
IF arrValues(8)=vbTRUE THEN
  alfa=n*pi/12
  Rhino.ViewCameraTarget Rhino.CurrentView, Array(r*cos(alfa)*cos(pi*45/180),-r*cos(alfa)*sin(pi*45/180),r*sin(alfa)), Array(0,0,300)
  Rhino.Command "-LoadScript C:\rvb\02_Palace\tiles_单檐庑殿.rvb "  ': Rhino.Command "Zoom Extents "
  'viewRotate n,3,r,45,360+45
END IF
viewRotate 0,3,r,45,360+45
END SUB
'---------------------------------------------------------------------------------------------------
' 旋转展示子程序
'---------------------------------------------------------------------------------------------------
FUNCTION viewRotate(n,AngleStep,r,startAngle,endAngle)
DIM i,j,pi  : pi=4*Atn(1)
DIM pause
DIM arrCamera,arrTarget
DIM alfa
arrTarget=Array(0,0,300)
FOR j=n TO n
  alfa=j*pi/12 '视线与地面夹角
  FOR i=startAngle TO endAngle  STEP AngleStep
   arrCamera=Array(r*cos(alfa)*cos(pi*i/180),-r*cos(alfa)*sin(pi*i/180),r*sin(alfa))
   Rhino.ViewCameraTarget Rhino.CurrentView, arrCamera, arrTarget
  NEXT
NEXT
END FUNCTION
作者: claudemit    时间: 2010-6-1 03:02
好贴 感谢LZ耐心讲解 慢慢消化学习着
作者: youkudota    时间: 2010-6-1 16:27
~~~这也可以~楼主牛啊~~
作者: qiqiyunyan1986    时间: 2010-6-25 16:58
太漂亮了啊
作者: qiqiyunyan1986    时间: 2010-6-26 00:41
能传教传教呗,具体怎样做啊
作者: 840717    时间: 2010-6-28 10:38
俩字  太牛B了
作者: zhiningmonkey    时间: 2010-7-1 21:13
强悍啊~~~~~~~~~
作者: nexx    时间: 2010-7-5 17:10
楼主神人,犀牛做古建...
作者: Homi    时间: 2010-7-8 22:51
強悍的作品設計...
作者: luanshixia    时间: 2010-7-9 22:23
lz还写过一篇英文的论文吧,我上一届有个同学毕业设计的文献翻译就是翻译那篇文章~
作者: 夜神    时间: 2010-7-10 10:33
lz还写过一篇英文的论文吧,我上一届有个同学毕业设计的文献翻译就是翻译那篇文章~
luanshixia 发表于 2010-7-9 22:23

汗!是CAID会议的那篇吧?
作者: wonderful    时间: 2010-7-12 18:28
中国古建,今天觉得又种不一样的精美
作者: stjackin    时间: 2010-7-19 10:52
路过,拜之。 专门从事古建筑结构行业吗? 很神啊
作者: nightwf    时间: 2010-7-28 10:34
看了使人震撼
作者: qijianhr_alex    时间: 2010-7-28 16:54
上海启建猎头的证书挂靠服务可以提供一级注册建筑师/二级注册建筑师/一级注册结构师/二级注册结构师/一级注册建造师/二级注册建造师/注册电气工程师/注册暖通工程师/注册给排水工程师/注册公用设备工程师/注册岩土工程师/注册城市规划师/注册监理工程师/注册造价工程师/注册环保工程师等注册证书及中高级工程师的职称证书挂靠服务!
专注于为建筑企事业单位和建筑人才提供招聘、求职信息交流咨询的专业人才网站;致力于为中国建筑人才提供专业的海内外职业生涯舞台,为海内外建筑企业提供高效、经济的招贤平台!
电话:021-55018315/55018316
传真:021-38983929
手机:18964979075
电子邮箱:qijianhr_alex@163.com

作者: 甜蜜的猪头肉    时间: 2010-8-3 10:43
SO强悍。。。
作者: 特莱嘻嘻嘻    时间: 2010-8-3 11:24
哇, 不错噢~~
作者: 小脚鱼    时间: 2010-8-8 12:14
强大啊…… 36# 夜神
作者: oneday    时间: 2010-8-10 19:21
写个教程吧,带带晚辈,从最简单的开始吧,谢谢
作者: landleyvvv    时间: 2010-8-18 09:07
赞赞赞赞!
作者: sunjiaxi0525    时间: 2010-9-27 23:51
牛人,超强的,
作者: Pisces    时间: 2010-10-7 00:25
这个相当强大了
作者: kohq8808    时间: 2010-10-9 17:33
计算机语言从何入门?
作者: jovanny    时间: 2010-10-10 03:03
niuyina 真的是牛饮啊
作者: jovanny    时间: 2010-10-10 03:04
初学就这样,以后不可限量
作者: wenchongyun    时间: 2010-10-13 15:45
牛!!!!!!!!!!!!!
作者: 顾顾    时间: 2010-10-14 20:48
哎 不知道怎么搞出来的啊 每天坐在那吗
作者: 十一牧人    时间: 2010-10-16 02:41
太强了哈 哈
作者: ligong    时间: 2010-10-17 11:03
{:3_47:}{:3_58:}
作者: 果果牛魔王    时间: 2010-10-18 14:27
太强大了。。。。
作者: PARADAN    时间: 2010-10-18 18:45
COOL!!!
作者: lx3520    时间: 2010-10-23 20:06
学Rhino时的作品:古建筑建模
那时刚学Rhino,古建筑也是似懂非懂,且本人不是搞建筑的,见笑了
作者: taliesin    时间: 2010-10-26 10:11
谢谢楼主分享  好东西大家学习
作者: 夜神    时间: 2010-10-27 13:47
71楼强人!做这么细都没死机?
作者: cixitom    时间: 2010-10-29 12:43
神人啊。。。能写个教程么~~做古建我也很感兴趣。。。刚接触
作者: typhoonchai    时间: 2010-11-1 19:00
用这个也能做古建啊
作者: 识少少    时间: 2010-11-2 23:05
长见识了~~~~~~~~~
作者: rabbit8ge    时间: 2010-11-8 16:50
{:3_52:}哎,~初学都这么牛了~我想去买块豆腐撞死了~
作者: 247431768    时间: 2010-11-8 16:52
厉害的,佩服一下lz
作者: lu2007    时间: 2010-11-10 01:57
牛人想学习下
作者: archigram    时间: 2010-11-10 18:53
写脚本建出来的,这个不得不感叹一下,
作者: taliesin    时间: 2010-11-11 09:08
这个屋顶太NB了、、、
作者: steventeen    时间: 2010-11-11 13:49
太牛了。。。
作者: zelin860217    时间: 2010-11-12 00:38
犀牛做的   太给力了啊   犀牛好学吗?请问楼主?可以交流一下新的不?
作者: zelin860217    时间: 2010-11-12 00:39
可以交流一下心得吗?
作者: OceanCago    时间: 2010-11-15 02:42
那么多高手在show,真的很钦佩。有没有牛人收徒弟,真的很想学!
刚刚看完教程,正找东西练习rhino,没想到看到这个就激动不已了。
作者: 建筑为人民服务    时间: 2010-11-15 11:12
牛逼,还能干这个,我也想学~~~
作者: TG123    时间: 2010-12-8 15:31
LZ犀利。支持
作者: huangchang0528    时间: 2010-12-11 14:01
初学就做成这样了,支持~~~
作者: corbusierli    时间: 2010-12-21 00:06
佩服的一踏糊涂,最近要交作业,上了一学期的课神马也没学会,惭愧……
作者: f7f7f7    时间: 2011-1-5 23:52
楼主真乃强人也
作者: nic8828    时间: 2011-1-6 10:28
还行呀  啊
作者: ukcolour    时间: 2011-1-30 08:23
为什么用RS做这个呢
作者: ou312382395    时间: 2011-1-30 13:19
如果是这样,能不能做RS做古建的突变形态呢,可能很有意思
作者: giggs163    时间: 2011-2-7 21:58
~~~~太狠了吧
作者: wolfson    时间: 2011-2-15 23:56
我表示 强大已经异常
作者: selfz    时间: 2011-2-19 18:15
请问lz是学什么专业?
作者: rui    时间: 2011-2-25 18:41
我只能说,,很不错的作品
作者: mini_rhino    时间: 2011-3-1 16:04
楼主太厉害了!
作者: zwb000001    时间: 2011-3-31 18:21
如果有一个控制台作变化操作变化就更好了
作者: ddrddrblueworm    时间: 2011-4-1 09:19
我来学习,我来攒分。。。




欢迎光临 NCF参数化建筑论坛 (http://ncf-china.com/) Powered by Discuz! X3.2