Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do?...

35
Creating Rule Packages for ArcGIS Pro and CityEngine with CGA Eric Wittner and Pascal Mueller

Transcript of Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do?...

Page 1: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Creating Rule Packagesfor ArcGIS Pro and CityEngine

with CGA

Eric Wittner

and

Pascal Mueller

Page 2: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

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

Page 3: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

What is CityEngine?

Page 4: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Why?

Page 5: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

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

Page 6: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Rule Packages

= Rules (CGA) and Assets

Page 7: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

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

Page 8: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Symbology

RPKs in ArcGIS Pro

Page 9: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Analysis

RPKs in ArcGIS Pro

Page 10: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

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

Page 11: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

CGA as “LegoScript”

+

parameterized instructions + Legos

Page 12: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Shapes = Scope and Geometry

Page 13: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Shape Operations

modify scope and geometry

Page 14: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

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

Page 15: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Challenge:

Creative Rules

Page 16: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

DEMO

Page 17: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

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

Page 18: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing
Page 19: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Creating a RPK

Page 20: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

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

Page 21: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Rule Packages on ArcGIS Online

• Item type on ArcGIS Online

• Esri Rule library

• ArcGIS Marketplace

- planned for future releases

Page 22: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

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

Page 23: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Questions?

Pascal Mueller, [email protected]

Eric Wittner, [email protected], @EricWittner

Page 24: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

New CGA Function: 2016 and 2017

Page 25: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Procedural Runtime (CGA)

Area split

Inner rectangle 2.0

Primitives

Extrude, roof & insert extensions

Cleanup for normals, double-sided, …

Page 26: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Normal Split

Page 27: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Split By Area

Page 28: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Inner Rectangle – Get Remainder

Page 29: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Inner Rectangle – Get Rectangle With Largest Area

Page 30: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Built-in Primitives

Rule of the week: Taj Mahal

Page 31: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Built-in Primitives – Specify Resolution

4 8 16 32

Page 32: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Insert With Native Size

Maya CityEngine

151m

127m

115m

Page 33: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Soften Normals

all hard edges all soft edgessoft edges only between

faces with similar

orientation

Page 34: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Conform Normals

inconsistent vertex

ordering and normal

directions

consistent vertex

ordering and normal

directions

Page 35: Creating Rule Packages for ArcGIS Pro and CityEngine with CGA · What is an RPK? What can RPKs do? •Content creation-Convert simple data into useful 3D content-Clean up existing

Con

text

Queries

CGA Enhancements for Zoning

New Capabilities