Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Creating Rule Packagesfor ArcGIS Pro and CityEngine
with CGA
Eric Wittner
and
Pascal Mueller
Agenda
• CityEngine Refresh
• RPK’s, what can they do? (10 min)
• Overview of Procedural Modelling (5 min)
• CGA 101 (20 min)
• Creating Rule Packages (5 min)
• Important Tips for RPKs (5 min)
• Q&A
What is CityEngine?
Why?
Rapid and Repeatable 3D Modeling
CAD / 3D Sketching
Procedural Design
Number of Iterations
New
Rule
Creation
Steps
• Author Rules (or use Library)
• Share as RPK (publish to AGOL)
• Consume in CityEngine, Pro, or CE SDK
Particularly When Projects Require
Many Iterations
B
A
Rule Packages
= Rules (CGA) and Assets
What is an RPK?
What can RPKs do?
• Content creation
- Convert simple data into useful 3D content
- Clean up existing data to make it easier to use
- Create derived analytic data
• Procedural Symbol
- Override current symbology for the task at hand
• A zipped file containing
• A rule from CityEngine, written in Computer
Generated Architecture (CGA)
• The assets associated with that rule
• May be locked, to prevent reading of rule
code or unpackable for code sharing.
Rule Packages
= Rules (CGA) and Assets
Symbology
RPKs in ArcGIS Pro
Analysis
RPKs in ArcGIS Pro
Using Rule Packages – Summary
• Share them either a file or as item online
- Must be available locally to be consumed
• Consume in:
- ArcGIS
- “Features from CityEngine Rules” GP tool
- Requires schema-matching for parameters to be applied
- ArcGIS Pro
- Add as a procedural symbol to either polygon or multipatch data
- Can manually configure the schema within Pro
- 3rd party 3D apps
- Using the CityEngine SDK
CGA as “LegoScript”
+
parameterized instructions + Legos
Shapes = Scope and Geometry
Shape Operations
modify scope and geometry
Rule = Sequence of Shape Operations
“Scripting for Shapes”
Envelope -->
case scope.sx*scope.sz > 6000:
15%: split(y){ '0.9 : Tower
| ~3 : s('0.8,'1,
| ~1 : s('0.6,'1,}
15%: split(y){ 'rand68 : T
| ~rand(0.5,1.5): s
| ~1 : s
15%: split(y){ 'rand48 : Tower
| ~1 : s('ran
15%: split(y){ 'rand48 : Tower
| ~1 : t('ran
else: Tower
else: Tower
Challenge:
Creative Rules
DEMO
Important Tips
• Assets
- All will be included beware the ‘random’ use of textures and models
- Has a huge impact on file size consider multiple / focused RPKs
• Using Tags / Annotations
- Define input geometry: @InPoint, @InLine, @InPolygon, @InPointCloud, @InMesh
• Parameters (ie: the ‘attr’ definition)
- Use it as much as needed… but no more
- Use a good name shown on the UI
- Match to data model auto-connect matching names
- Set Ranges: @Range (v1, v2)
- Provide ‘type’ information @Distance, @Percent, @Angle
• Protect the CGA (as needed)
- If your rule is something you sell, or has IP, then protect it
Creating a RPK
Sharing / Consuming Rule Packages
• Write CGA rules in CityEngine
• Share as rule package
- Within your organization
- Item on Portal
- Item on AGOL
• Consume in:
- ArcGIS (GP Tool)
- ArcGIS Pro (Symbology & GP Tool)
- 3rd party 3D apps
- CityEngine SDK
ArcScene 10.2
Maya
Rule Packages on ArcGIS Online
• Item type on ArcGIS Online
• Esri Rule library
• ArcGIS Marketplace
- planned for future releases
Take away
• Get a free trial version of CityEngine at: http:// www.esri.com/cityengine
• Have a look at our tutorials
• Check out the CityEngine help: available online: http://cehelp.esri.com
• Have a look at the forum:
- geonet.esri.com search for CGA
• Rate our session in the app
Rule packages are “LegoScript”
+
parameterized instructions + Legos
New CGA Function: 2016 and 2017
Procedural Runtime (CGA)
Area split
Inner rectangle 2.0
Primitives
Extrude, roof & insert extensions
Cleanup for normals, double-sided, …
Normal Split
Split By Area
Inner Rectangle – Get Remainder
Inner Rectangle – Get Rectangle With Largest Area
Built-in Primitives – Specify Resolution
4 8 16 32
Insert With Native Size
Maya CityEngine
151m
127m
115m
Soften Normals
all hard edges all soft edgessoft edges only between
faces with similar
orientation
Conform Normals
inconsistent vertex
ordering and normal
directions
consistent vertex
ordering and normal
directions
Con
text
Queries
CGA Enhancements for Zoning
New Capabilities