Browsed by
Month: November 2013

Initial impressions on LumenRT 4 Studio + GeoDesign plugin

Initial impressions on LumenRT 4 Studio + GeoDesign plugin


On the week we’re all waiting (okay just me) for CityEngine 2013 I bought LumenRT Studio and GeoDesign plugin.  Why?  Well I like Lumion but the upgrade to the latest version would have been expensive and I was looking for proper CityEngine integration or at least an understanding of what I’m doing from a renderer.  Lumion is good at smaller models for architects (it still has a place here) but LumenRT seems geared to larger models like the ones I’m making.

Initial impressions are very good you still need to know CityEngine but LumenRT makes it quite easy to move from a basic model to something that’s nicely rendered and you can fly around.   The project I am working on at the moment is the biggest most detailed model I’ve ever done and LumenRT for the most part just copes.


I’ll probably do a bigger and better review when this project I’m working on is finished, in the meantime here are some nice screenshots I’ve made (apologies for the all night time shots, it helps cover a multitude of sins).


CityEngine 2013 Python Scripting Changelog

CityEngine 2013 Python Scripting Changelog

The CityEngine Changelog for python scripts is interesting too… ( if you like python I guess!)

Note some exporter functions lost…


Status Commands
new findByOID
new copy
new mergeLayers
new addBookmarkrestoreBookmarkgetBookmarks
new exportRPK and settings class RPKExportSettings
new upload and settings class PortalUploadSettings
new Street/Graph operations
  analyzeGraph and settings class AnalyzeGraphSettings
  cleanupGraph and settings class CleanupGraphSettings
  fitStreetWidths and settings class FitStreetWidthSettings
  generateBridges and settings class GenerateBridgeSettings
  simplifyGraph and settings class SimplifyGraphSettings
new Shape operations
  cleanupShapes and settings class CleanupShapeSettings
  textureShapeTool and settings class TexturingSettings
new Terrain operations
  resetTerrain and settings class ResetTerrainSettings
  alignTerrain and settings class AlignTerrainSettings
changed changed field names and values in settings classes of all model exporters
changed WebGLExportModelSettings renamed to CEWebSceneExportModelSettings
changed replaced connectivity methods (such as getNodesFromGraph) by extending getObjectsFrom.
changed replaced getUUID by getOID
removed MI Exporter
removed 3DS Exporter
CityEngine 2013 CGA Changelog

CityEngine 2013 CGA Changelog

Okay, I guess this means CityEngine will be released the week beginning Monday 25th of December?  At time of writing it wasn’t available for download on the Customer Care Portal.   The help file has had a few additions not least the CGA Changelog section, initially I think large sections may have been rewritten to make more sense.   A “Generate Bridges” section has been added to the Street Networks part of help file hurrah!



You can analyse the new help file here (it wasn’t a leak!).

Version Changes
2013.1 changed fundamental behaviour:

  • attr/const functions evaluation order: In previous CGA versions, attr and constfunctions were evaluated lazily, i.e. when they were used for the first time. Remember that attr and const functions are evaluated only once. This approach gave rise to the non-intuitive behaviour that changing the code of some rule potentially changed the value of an attr. Keep in mind that some functions (and obviously shape attributes) depend on the current shape’s geometry, and some even change the state of the current shape (e.g. rand). Therefore (non-)evaluation of a const function cold have an influence on rule execution.
    Starting with 2013.1, all attr/const functions are evaluated before the start rule is applied, on the initial shape with a seedian derived from the initial shape’s seedian. The initial shape’s random number generator state is not affected.
    While the new approach makes CGA coding more “intuitive”, it changes the behaviour compared to older versions.
  • inf/nan checks: In previous CGA versions, a number of operation and function float parameters were tested for not-a-number / infinity (nan/inf) values at runtime. In most cases, such values were replaced with 0 and a warning was issued. In others, the operation was aborted.
    CGA 2013.1 introduces a unified inf/nan behaviour: checking of all float paramers of builtin functionality can be set to either “ignore” (= don’t check), “abort with error” or “replace with zero” see Grammarcore Preferences). The default behaviour is “replace with zero”, which comes closest to the classic behaviour.
    While CGA 2013.1 provides more debugging capabilities regarding inf/nan values, the behaviour is different than in previous versions.
  • Intra-occlusion and reports, print output, CGA error reporting: During resolving inta-occlusion-queries, some shapes and sub-shapetrees get deleted (and re-evaluated). The reports issued by report operations by the rule of that shapes (and the output of print operations and functions plus all CGA errors/warnings) are deleted along with those shapes.
    While the new behaviour makes more sense (each report/print-output/error has associated a shape in the model hierarchy), it is different than in previous versions.

new CGA Utility Library functions:

new features:

changes to existing features:

  • report operation: available with all licenses.
  • reduceGeometry operation: new, more efficient implementation – resulting geometry might differ to previous version.
  • fileExists function: now returns true fo all builtins.
  • material.color.rgb attribute: return a hex string (see color operation) rather than a three-floats-in -[0,1]-string.
  • listClean utility function: empty entries are filtered now.
  • listIndex utility function: support for wildcards.
  • envelope operation: deprecated signatures without direction parameter.


  • alignScopeToGeometry operation: more robust regarding bad geometry (fixes a crash) and better face material support.
  • assetsSortRatio function: fixed axisSelectorRatio parameter (crashed if yz was used).
  • assetsSortSize function: fixed axisSelectorSize parameter (yz was ignored).
  • envelope operation:
    • fixed missing top faces if one some of the baseHeights were equal tomaxHeight.
    • support for non-planar polygons.
    • fixed several numerical issues (crashes, incorrect geometry).
  • i operation and initial shape handling: added zero-angle removal and better face material support.
  • print function: a newline is added after each invocation (like in the print operation.
  • compenvelope setbackgeometry.area, and geometry.isOriented operations/ selectors: do not fallback to selectors if streetWith sttribute is not defined for index 0 but for other indics.
  • Vertex meger (export + internal to a number of operations): more robust regarding bad geometry (fixes a crash).
  • Triangulator (export, rendering and internal to a number of operations): correctly handle near-identical vertices (led to inconsistent geometry and crashes).
  • Fixed a number of compiler bugs related to import, most important a bug which prevented setting of imported generic attributes.


Summary of webinar “What’s new in CityEngine 2013”

Summary of webinar “What’s new in CityEngine 2013”

Here’s some screen captures of a recent webinar (20th November 2013) the interest is of course in CityEngine 2013’s new features :

Warning it’s just screen captures at the moment no commentary.


Highlights – 3D Plant Library -SDK (and plugins soon on GIThub) – improved handling of streets (bridges and junctions) – arcgis integration – smaller webscenes! – support for retina macbooks

UPDATE : Here’s the record webinar available on youtube.

Read More Read More

Happy GIS Day – 20th November 2013

Happy GIS Day – 20th November 2013

GISDay_logoDear Readers, Happy GISDay, you did know it was Geography Awareness Week, didn’t you?

How about joining us all for a #GISChat on twitter?

What am I doing to celebrate this most precious of days?   Working on CityEngine of course…

My biggest, most detailed model yet is taking shape…

ESRI EMEAUC 2013 – Munich – Write up

ESRI EMEAUC 2013 – Munich – Write up

I’ve been busy since I got back this is the first time I’ve had a quiet slot to write it all down… If you don’t understand my post, just know I’m a terrible proof reader.  Consider my blog posts a brain dump rather than considered essays…


Tourist in Munich

On the flight to Munich I read the inflight magazine, here the CEO of the airline apologised for the lack of a high speed rail linking the airport with central Munich, as a German was saying this I was expecting something awful (every German I have known has understated things).

Yet arriving into Munich airport the transport into the city centre was clean efficient and cheap. Well 30 minutes seems high speed to me, I mean have you landed at Heathrow and tried to get to central London recently?

Getting to my hotel was refreshingly easy and only a short walk. I always love to walk at least one block about my hotel in any city I am in. Walking is the best way to know a place, take any mode of transport and you lose the feeling of terrain and that is one of the key things I like to know in city centres. (am I up the hill or down the hill?) It also helps to know the lie of the land for the walk back home from the pub…

2013-10-22 17.53.42
Mmmm outdoor beer (no geo angle here..)

After checking in I went for a wander into central Munich (taking photos of street furniture to model in SketchUp and CityEngine), the weather although autumnal was wonderfully warm and certainly welcoming for the outdoor drinker.


Okay I didn’t have this section in my post originally, basically because I forgot…

Read More Read More

An arabic city core, covered market, car park and palm trees in CityEngine

An arabic city core, covered market, car park and palm trees in CityEngine

Someday I’ll talk about this in detail….