Bless those Esri developers in Zurich and Redlands developing cool new features and workflows! It seems they work so fast sometimes they forget to document the features they’re working on. With several releases/updates a year I can’t always keep up so perhaps they can’t either?
Those of you who use CityEngine for geodesign will love the dashboard, instead of reporting dry numbers you get these dynamic charts giving you visual and numerical feedback in to you geodesign projects. It can be very useful bu twhen I use it I’m constantly fighting windows and screens coding and visualising, now where did I put that dashboard. This tip gives you another option placing it in your web browser!
I only relatively recently noticed a message in the log tab (Window –>Show Log), you do use this window pane/tab right?! Well probably not, and only when you’re trying to figure out what went wrong. Double-clicking the message that says ‘Dashboards are also available in your browser’ and you’ll get this message…
Select and copy that web address that says http://localhost:60288 (or similar it does change each time, perhaps this could be more friendly??).
Ta da! Now you can have a dashboard in CityEngine’s interface…… and your web browser, sadly it’s not published out to the big world wide web but for local desktop use this could be useful. Now I’ve tested it and it all seems to work nicely, a change in one window is still reflected in the other.
That’s it, you may have sensed some frustration with Esri CityEngine’s interface design and documentation…. well perhaps you’re reading too much into it 🙂
Just a quick Esri CityEngine news post for those who may have missed it, or (and more likely) for me about 2 months later when I remember there being a cool rule set for signs, but can’t for the life of me remember where the link is…
Those of you who use Esri CityEngine will already know that it is sometimes frustratingly lacking in useful content. Yes there is the ‘ESRI.Lib’ project directory which is installed in each new ‘workspace’. Some of the most used rules in that library are the tree and road rules, and the occasional text for labels.
creating generic rules for everyone is actually quite hard
I’ve always said creating generic rules for everyone is actually quite hard unless you can guarantee how they work and the structure of their underlying data (oh crikey I think I just advocated some kind of ‘standard’). Complicated generic rule files for all the Esri CityEngine users is hard to do, but simple focused rules (like trees, signs and simple streets) is much easier and in the end more useful.
oh crikey I think I just advocated some kind of ‘standard’**
The ability for us to ‘daisy-chain’ rules means and a consistent perpetual Esri CityEngine ‘ESRI.Lib’ directory means I can write rules that reference simple tree visualisations easily.
Now a very cool gentleman from Esri called Geoff Taylor has created a new rule package (for ArcGISPro 3D users) and CityEngine project that has done some hard work for you. USA street signs! Yes we’ve had signs within the Streets rules before, but this one is far more useful.
It contains the start of something that I’m sure will only expand and become more useful for those of us doing 3D modelling in the USA (some of this may be useful in Canada too). It also looks like this may end up linking up with the awesome Complete Streets tool from David Wasserman (you can get that here on github)
Sometimes in CityEngine it can be hard to figure out what’s going on. Whether that’s understanding scope (CityEnginers understand this can get complicated) or just simple metrics.
I’ll often use a combination of ‘print’ and ‘report’ to give me a better understanding of my code at any given point. What I also do is use bright colours (which have simple RGB/hex colour codes) to indicate whether a part of the code has been reached. once I’ve confirmed it works I continue the code.
Recently I’ve been working on some code where an understanding of the orientation of an model is important, not just as a world orientation but also relative to the initial shapes scope. As is the case with most of my work in CityEngine I start to wonder, how would I go about making something more visual for me? Thus I decided to spend some (okay probably too much!) time creating a procedural protractor. This allows you to switch between displaying an angle relative to the shapes scope, or the world.
I’ve used the Handle features in CityEngine to make interacting with the attributes associated with this rule simple. I’m starting to use ‘handles’ in CityEngine to expose attributes for users in a friendlier way.
To sum up for me I’ve found that programming language in Esri CityEngine called Computer Generated Architecture (CGA) is easier to pick up than traditionally programming languages because it is a visual one and by that I mean you create geometries.
I also get asked what PCs I run CityEngine myself, so here goes my list:
Asus Transformer Pro 3 (i5, 4GB RAM intel graphics card) – Works okay for small projects, I like using it for creating rule files ‘on the road’. If you want bigger city models don’t use this.
Razer Blade 15″ – (i7 8th Gen, 16GB RAM, 1060 GTX Nvidia) This is a fantastic games PC but also practically a desktop replacement, a new purchase for me but good for most things I would throw at my desktop.
Chillblast (i7, 32GB RAM,1070 GTX Nvidia) It’s the RAM that makes this great really and has the edge over my new laptop. Oh and I have 2 24inch screens attached.
For a client I’ve been working with CityEngine installed on Amazon Workspaces alongside ArcGIS Pro this seems to work pretty well so far but I haven’t push the limits (yet)!
ArcGIS Pro! If you working with Esri software anyway this is essential you can use it to publish easily your 2D and 3D layers. You can also use CityEngine to create Rule Paackages which can be used as advanced symbology in ArcGIS Pro. Users who only have ArcGIS Pro can use CityEngine rule packages which gives you more options to share your hard work.
ArcGIS Online for those looking to publish quickly an seamlessly to the web geospatial 3D data/models created in CityEngine you need to be using this. Obviously other platforms can be used, if you they can work with the CityEngine export formats.
I really recommend a 3DConnexion SpaceMouse (any of them) as well for navigating around all that 3D work. It’s not a replacement for your regular mouse but does compliment it greatly.
SketchUp is still a must have for all those fiddly details, CityEngine+SketchUp are perfect companions applications
Above is an animated GIF of a quick proof of concept for some 4D modelling in Esri CityEngine. 4D refers to the time component used in the construction industry to see the various phases of development (see “What is 4D BIM?”) think Gantt chart in 3D! Whilst CityEngine is not truly a 4D modelling software package it can provide some elements of it after-all time is just an attribute. I like to think of this as a nice way of 3D modelling urban planning and city master planning phasing scenarios over time. With the introduction of Esri CityEngine’s handles feature this can make for a nicer interaction method with your model.
after-all time is just an attribute
In this example I have a days and a maximum number of days attribute (think deadline). The slider controls the day in that timeline between 0 and 365 days for example. Each of the 2D footprints has a field with a start day and an end day, as the slider is moved a test is performed to see whether the day is between those two numbers for each footprint. If the condition is true the footprint is extruded based on a calculation that gradually and proportionally extrudes up to it’s maximum building height. When it reaches and/or exceeds the finish day, the model changes to a more realistic looking building.
All of this is relatively simple in CityEngine (case statements, attributes, and handles), the nice bit is being able to report on progress in the Dashboard. We can use this in a variety of different scenarios in CityEngine, as usual because it’s code we can copy and paste in to other projects!
NOTE: This post has been updated to include response from Pascal Mueller Director of Esri R&D Zurich and the creator of Esri CityEngine, scroll to the end to see his response.
CityEngine 2018.0 beta has been out for a while now and is pretty much over, I’ve been lucky enough to have been using it in anger for a bit too. Building on the CityEngine 2017.1 release there are some small improvements, new CGA code as well as a couple of new features, but essentially this feels like a minor release which is not a bad thing. Just because it’s minor doesn’t mean it doesn’t feel like progress , it will be well worth the update!
Firstly a confession, the title is a bit of a click-bait (hey if respectable news organisations can try it why can’t I?) I can’t show you a sneak peak this time or really talk about specifics, well because of um beta stuff and all that…. (last time I had a special agreement). What I can tell you is that if you want to participate in the future CityEngine betas you can sign-up here https://earlyadopter.esri.com . If you like CityEngine and are interested in where it’s going and of course helping out the team at Esri then I thoroughly recommend you sign up!
I can assure you that some bug fixes have happened and a couple of new features added which complement the analysis side of things.
Planning, designing and development must take the full picture into account. Create, visualize and share in 3D to make better designs and present your work more effectively. Source: Esri
This I guess poses a question for Esri, does it continue CityEngine long term with so many products that seem to tick the urban space box? As someone who has trained many clients in CityEngine and offers consultancy services over the last 5 years I certainly have an interest in its future! There are big questions of whether it will be just consumed by ArcGIS Pro or placed in some cloud container and interacted with via ArcGIS Online.
I think (and I have no insider knowledge here) the answer is all of these things will happen, but also that CityEngine will continue to be a standalone product for the foreseeable future. Esri is in the movie industry now and I don’t think it will want to leave that, but also CityEngine is a great design tool that fits Jack’s interest in urban and geodesign.
“is a simple-to-use 3D city editing and visualization tool” – “Build Flexible Scenarios Faster” – “Create Realistic Context”
The real worry for me is what form will CityEngine evolve into. The marketing literature still talks of easy operation and high quality realistic outputs. Sorry but it’s not easy to learn or use (from a typical planners perspective) and the high quality outputs don’t come instantly (unless you like Redlands building typologies!).
CityEngine’s great power is it’s flexibility of format support and usage. But it has fundamental technical issues/challenges with terrain and roads that need addressing. Esri also needs to decide whether this is a tool for the drag and drop users among us, or some highly technical development environment for urban planning.
One glimmer of light and a direction of travel is the ESRI.lib folder, promisingly for new users it shows a path of drag and drop produce something now. Unfortunately this seems to have gone a little stale, anyone who does CGA coding in CityEngine knows organising and keeping up to date rule files is difficult especially if projects vary like ours do. The ESRI.lib has some great rules I use over and over again, roads and trees, in fact the more generic the better! Give me more of those tree assets! These smaller rules enable a greater freedom and I can write rules that work with these easily because I know they are installed with every CityEngine workspace.
In conclusion, and I’m not good at concluding thoughts so forgive me, CityEngine is here to stay but has some challenges to overcome. Like all software it has to evolve as it’s users ask more of it. Currently I worry that CityEngine as a tool is too technical for widespread adoption this means that businesses will be reluctant to invest in it if only a hand full of users (CityEngine professionals) are out there. On the plus side CityEngine professionals like myself will probably have some consultancy work coming our way!
Update and response from Esri Zurich’s R&D Director
So I posted the link to this blog on LinkedIn and amazingly Pascal Muller (read a post I did called Life Changer to understand why I am honoured to get this) very kindly responded. I have got his permission to post those comments here, these have been copied directly and no editing has been done although I have tried to keep the paragraph breaks. What I now need to do is a follow up post to contemplating this response!
Thanks Elliot, really great read!
I could answer some of the raised questions : ) hmm, maybe we should do an ‘ask me anything session’ here…
(1) You are correct, not a ton of new features in this release. Reason is that we changed our release cycle this year and are releasing now 3 months earlier. As a result the time between CE 2017.1 and CE 2018.0 was much shorter. CE 2018.0 comes out next week and you can expect CE 2018.1 in September instead of November.
(2) Yes, CE is here to stay. There are no plans to discontinue it. In contrary: maybe you have heard about our new product initiative ArcGIS Urban which is basically a streamlined urban planning platform (on top of AGO) for the planning departments of cities. It will feature cool web apps/interfaces and it will also work great with CE. It’s all developed under the same roof here (also includes the 3D JS API 4.x team btw). In the ArcGIS Urban context, CE will (still) be required for the more advanced workflows such as for example Devin’s site plans, Bruno’s Masterplanner, or the various greenfield mega city projects of the HOKs and F+Ps.
ohh, and of course Blade Runner 3 will need these off-world cities Batty was talking about : )
Besides all this, CE continues to be one of Esri’s development platforms where bleeding edge technology gets applied before it goes mainstream, see for example the push on game engines (more about that later…).
Pretty exciting stuff and I am extremely happy that all the pieces fall into place finally, but we know that we have to keep working hard and improve things. Huge thanks for your continuous support and wise long-term thinking.
This all started a while back with an interest in American houses, specifically the ‘Craftsman’ style homes which you could buy from places like Sears of all places…. As an Englishman I’m not fully versed on all North American architecture but this idea of picking elements of a house from a catalogue seemed like something I should look at doing in Esri CityEngine.
So that’s what I did. In classic CityEngine professional style my first attempts got very very complicated as I added more detail (you’ve seen the nice renders of these for a while now on this blog and even the banner here, I really really like them). The second attempt I produced an all singing all dancing rule file to create thousands of different ‘Craftsman’ style house typologies. The trouble is, without a big PC and a good understanding of CityEngine these were only going to be usable by those of us who sort of know CityEngine in a professional capacity. This is always a problem I have with CityEngine much like Alice I often go deep down a rabbit hole and get lost in the wondrous and slightly crazy detail (it’s not a bad thing just a bit distracting!).
Third time lucky?
The end result on my third attempt is something very much simpler and easier to understand and something that can be wrapped as a Rule Package. As a Rule Package it can also be used in ArcGISPro too. I’ve initially conceived of this rule file as primarily use on auto-generated Lots in Esri CityEngine (those are created from centre lines of roads forming blocks), but I can make it work on points and footprints too (just not on the first release). In CityEngine you have the nice ability to use the handles feature to interact with the model without having to muck around with the attributes in the inspector. Here I am finding it quite tricky, which attributes are important to have as ‘handles’? If you do everything the model becomes cluttered, so I am going with a ‘less is more’ approach to see how it works.
Okay enough already! When is it released, and how much will it cost?!
I’ve got a beta trial coming for this which I hope some lucky few will help me iron out the kinks. Then I’ll look at selling it, my thinking is Rule Packages get sold cheaply (less than £50 probably) but if you want the source code naturally you have to pay more, and it’s this price I’m struggling with. perhaps others can suggest an approach?