CityEngine(cga规则备份)

第一种利用CityEngine快速建模,模型文件osm从OpenStreetMap下载

地图下载链接:https://blog.csdn.net/dyxcome/article/details/83065426

屋顶规则连接

相关教程:简单易懂

/**
 * File:    random.cga
 * Created: 20 May 2019 10:37:48 GMT
 * Author:  GAIVIA-LIZHONGYUAN
 */

version "2016.0"
@eange(20,100)
attr height   =rand(3,100)
attr floor=6
attr wallside=0.5
attr winSide=3
Lot-->
    extrude(height) Building
Building-->
comp(f) { top : Roof | side : wall }
Roof-->
 // color(1,0,0)
  setupProjection(0, scope.xy, '1, '1)
  projectUV(0)
  texture("images/1212.jpg")

wall-->
  split(y,adjust) { ~floor : Floor }
  //color(1,1,0)
 
Floor-->
  split(x) { wallside : Wallside | {~winSide:Tile|wallside : Wallside}*}
  setupProjection(0, scope.xy, '1, '1)
  projectUV(0)
  texture("images/u=1979198230,3799788659&fm=27&gp=0.jpg")
Tile-->
  split(y) {  wallside : Wallside | {~winSide:Window|wallside : Wallside}*}
Wallside-->
 color("#694310")
Window-->
 color(1,1,0)
 //setupProjection(0, scope.xy, '1, '1)
 //projectUV(0)
 

  

第二种快速建模参考以下链接

超过一平方公里收费,不过范围内不收费可导出c4d文件


    
 新建随机规则

/**
 * File:    height_autho.cga
 * Created: 20 May 2019 11:23:37 GMT
 * Author:  GAIVIA-LIZHONGYUAN
 */

version "2012.1"


Lot-->
 60%:color(1,0,0) Lot1 
 30%:color(0,1,0) Lotbansipo
 else:color(0,0,1) Lotfushi
// height value


attr height=0
attr roofAngle=15#屋顶坡度

attr sideIndex=1 #坡向的起始边的索引值
Lot1-->
     
      extrude(20)

    comp(f){top:color("#0000ff")TopFacade1 |side:color("#ff0000")SideFacade. |all:NIL}
TopFacade1-->

    roofShed(roofAngle,sideIndex)comp(f){top:FlatRoof_Tex. |side:color("#00ff00")RoofSide.}
//******************************************************    
attr roofAngleGable=25  #屋顶下部坡度


attr roofAngleHip=25#顶部坡度
Lotbansipo-->

    extrude(20)

    comp(f){top:color("#0000ff")TopFacade2 |side:color("#ff0000")SideFacade. |all:NIL}
TopFacade2-->

    roofGable(roofAngleGable)
    split(y){ '0.5: comp(f){bottom: NIL | horizontal:RoofHip |aslant:FlatRoof_Tex. | all:color("#00ff00")RoofSide. }}
RoofHip-->

    roofHip(roofAngleHip)

    FlatRoof_Tex.    
//******************************************************
attr roofAngleGable3=40  #屋顶下部坡度

attr roofAngleGable023=25#顶部坡度
Lotfushi-->

    extrude(20)

    comp(f){top:color("#0000ff")TopFacade |side:color("#ff0000")SideFacade. |all:NIL}
 

TopFacade-->
    roofGable(roofAngleGable3)
    split(y){ '0.5: comp(f){bottom: NIL | horizontal:RoofGable |aslant:FlatRoof_Tex. | all:color("#00ff00")RoofSide. }}
RoofGable-->
    roofGable(roofAngleGable023)

    comp(f){bottom:NIL |aslant:FlatRoof_Tex. | all:color("#00ff00")RoofSide. }

  

    
 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
cityengine学习资料 利用ArcGIS和CityEngine规划荷兰鹿特丹港市未来的城市风貌   在Esri宣布收购瑞士公司Procedural(核心产品CityEngine)一个星期以来,大量用户已经开始探索CityEngine如何在他们的GIS工作中起到推动作用。CityEngine提供的关键性功能是:高端的3D信息快速的从二维GIS数据进行创建,并且是如此的简单易用。更重要的是,作为一个使用者,你需要用它来做什么?   CityEngine依托三个方面:要素、属性和规则。使用者可以给场景中的每个元素提供更为详细的信息,就能建立起更复杂更贴近真实三维世界的场景。同时,CityEngine可以从这三个方面潜在的创建各种3D内容,它主要关注城市环境,包括:建筑物、建筑物内部、道路、树木、路灯、汽车和人。   为了简单的了解CityEngine产品是如何工作的,考虑它如何产生的外部的建筑物。   作为一个GIS使用者,都知道Geodatabase中要素类包含两个方面:要素和要素属性。假设你足够的幸运使用多边形要素来直接表示建筑底面,并且每个要素都有相关尺寸大小和类型来表示该类建筑物。在CityEngine中,通过使用一个建筑物的规则并赋给该数据,瞬间所有建筑物将被构建完成。   首先,利用建筑高度属性将二维的建筑物底面多边形拉伸,成为三维的街区。这是最通常和简单的表示建筑的方法,但是在CityEngine中,这仅仅是一个开始。 如果你拥有更多的信息(比如建筑物房顶类型),在规则里面就可以构建不同房顶类型,比如平顶或三角形等。如果含有楼层数属性字段,你可以使用规则可以将建筑物重新构建成相应层数的建筑且每层楼都用窗户和阳台进行填充。这种3D建筑物集合对象,都是由GIS数据驱动生成的,并可以通过工作流的形式进行构建。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值