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

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

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

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