IDEA
|
Enscape manages this as a plug-in to Revit, Sketchup. Would be great to see Enscape functionality for CityEngine.
... View more
10-21-2021
05:45 PM
|
0
|
0
|
971
|
POST
|
I have a CE scene with multiple terrain maps as a series of tiles - the source of the geodata supplied them this way and we have no way to process them into a single map (not ArcGIS users, one of the original Procedural customers). The positives are that the terrain is very detailed.... Is there a way to align shapes or graphs to multiple terrains at once? The alternative is to individually select the relevant objects which sit over a terrain tile, then align to that one tile...rinse and repeat multiple times, doubtless with problems at the interfaces of tiles..... Any suggestions gratefully received! Tim
... View more
08-19-2020
03:51 AM
|
0
|
0
|
338
|
POST
|
Thanks for the workaround Cheryl. I've seen this question a couple of times, so it is clearly relevant to a few people. I've tried applying this to a more complex situation and it really fell over unfortunately. I want to drive a mix of potential housetypes (currently 9 but could be much more in other scenarios) across multiple sites (start shapes) for an existing urban area. I tried applying the workaround and I think the sheer number of types caused the problem. I realise that having a large number of start shapes means the probability approach of % and 'p' conditions could see a significant divergence from intended % mix - but it was the cascading logic of the check that I think made it fall over. It would be really good if there were a workaround - or better still, a new feature added to the code base - that can cope with a bigger range of possible attribute inputs. attr Mix_A = 0.05 @Percent attr Mix_B = 0.10 @Percent attr Mix_C = 0.15 @Percent attr Mix_D = 0.15 @Percent attr Mix_E = 0.15 @Percent attr Mix_F = 0.15 @Percent attr Mix_G = 0.10 @Percent attr Mix_H = 0.15 @Percent attr Mix_J = 0.0 BuildForm(Storeys)--> case Typol == "House": alignScopeToGeometry(yUp, any, longest) HouseMixer1(Storeys, HouseGroupCount,1)- else: BuildForm2(Storeys,1,4.5,Typol,1000) HouseMixer1(Storeys, HGCount,Count)--> HouseMixer2(Storeys, HGCount, rand(0,1)) HouseMixer2(Storeys,HGCount,Mix)--> case Mix>=Mix_A+Mix_B+Mix_C+Mix_D+Mix_E+Mix_F+Mix_G+Mix_H && Mix<Mix_A+Mix_B+Mix_C+Mix_D+Mix_E+Mix_F+Mix_G+Mix_H+Mix_J: BuildForm2(Storeys,HGCount,HouseWidth_J,"J",HouseJ_GFA) case Mix>=Mix_A+Mix_B+Mix_C+Mix_D+Mix_E+Mix_F+Mix_G && Mix<Mix_A+Mix_B+Mix_C+Mix_D+Mix_E+Mix_F+Mix_G+Mix_H: BuildForm2(Storeys,HGCount,HouseWidth_H,"H",HouseH_GFA) case Mix>=Mix_A+Mix_B+Mix_C+Mix_D+Mix_E+Mix_F && Mix<Mix_A+Mix_B+Mix_C+Mix_D+Mix_E+Mix_F+Mix_G: BuildForm2(Storeys,HGCount,HouseWidth_G,"G",HouseG_GFA) case Mix>=Mix_A+Mix_B+Mix_C+Mix_D+Mix_E && Mix<Mix_A+Mix_B+Mix_C+Mix_D+Mix_E+Mix_F: BuildForm2(Storeys,HGCount,HouseWidth_F,"F",HouseF_GFA) case Mix>=Mix_A+Mix_B+Mix_C+Mix_D && Mix<Mix_A+Mix_B+Mix_C+Mix_D+Mix_E: BuildForm2(Storeys,HGCount,HouseWidth_E,"E",HouseE_GFA) case Mix>=Mix_A+Mix_B+Mix_C && Mix<Mix_A+Mix_B+Mix_C+Mix_D: BuildForm2(Storeys,HGCount, HouseWidth_D,"D",HouseD_GFA) case Mix>=Mix_A+Mix_B && Mix<Mix_A+Mix_B+Mix_C: BuildForm2(Storeys,HGCount, HouseWidth_C,"C", HouseC_GFA) case Mix>=Mix_A && Mix<Mix_A+Mix_B: BuildForm2(Storeys,HGCount, HouseWidth_B,"B", HouseB_GFA) case Mix<Mix_A: BuildForm2(Storeys,HGCount,HouseWidth_A,"A",HouseA_GFA) else: BuildForm2(Storeys,HGCount,4.5,"X",1000)
... View more
04-15-2020
12:41 AM
|
0
|
1
|
657
|
POST
|
Hi Cheryl, Thanks for your input on this thread already! I've followed what I think is the approach outlined above, looking to embed multiple report values into Object Attributes. I'm not having any success - first time wrangling Python. My scripts look like this at present, both made via the Python template modules - are you able to help? Much appreciated, Tim Main script: ''' Created on 20/01/2020 @author: Tim.Robinson ''' from scripting import * # get list of selected shapes shapeList = ce.getObjectsFrom(ce.selection, ce.isShape) # run export script to get reported values and set obj attr expSettings = ScriptExportModelSettings() expSettings.setScript("GISexportScript.py") ce.export(shapeList, expSettings) Export script (GISexportScript.py): ''' Created on 20/01/2020 @author: Tim.Robinson ''' from scripting import * # Get a CityEngine instance ce = CE() # Called before the export start. def initExport(exportContextOID): ctx = ScriptExportModelSettings(exportContextOID) # Called for each shape before generation. def initModel(exportContextOID, shapeOID): ctx = ScriptExportModelSettings(exportContextOID) shape = Shape(shapeOID) # Called for each shape after generation. def finishModel(exportContextOID, shapeOID, modelOID): ctx = ScriptExportModelSettings(exportContextOID) shape = Shape(shapeOID) model = Model(modelOID) # get reported value for New Dwellings. r = model.getReports()["X_Dwellings@Av"][0] # set object attr to reported New Dwellings. ce.setAttribute(shape, "X_Dwellings@Av", r) # get reported value for GFA GF. r = model.getReports()["GFA.GF"][0] # set object attr to reported GFA GF. ce.setAttribute(shape, "GFA.GF", r) # get reported value for GFA Resi. r = model.getReports()["GFA.Resi"][0] # set object attr to reported GFA Resi. ce.setAttribute(shape, "GFA.Resi", r) # get reported value for GFA Comm. r = model.getReports()["GFA.Comm"][0] # set object attr to reported GFA Comm. ce.setAttribute(shape, "GFA.Comm", r) # get reported value for GFA Retained. r = model.getReports()["GFAExtgGIS_Retained"][0] # set object attr to reported GFA Retained. ce.setAttribute(shape, "GFAExtgGIS_Retained", r) # Called after all shapes are generated. def finishExport(exportContextOID): ctx = ScriptExportModelSettings(exportContextOID)
... View more
01-20-2020
01:38 PM
|
0
|
1
|
2221
|
POST
|
Hi Alan - I second David's comments: this is really neat! Were you able to share the code example, and would you share again...? Thanks!
... View more
01-14-2020
07:14 PM
|
0
|
2
|
979
|
POST
|
I'm very interested in a mechanism to achieve this too! As an aside, this should really be a Feature Request for future versions. What would be great (and hopefully simple) is to expand the Report functionality within CGA to increase capability to aggregate and add identifiers. This would make all of this available to Dashboards and other outputs, and avoid use of Python for what feels like a simple internal function. I currently use the one-level aggregation (the "." insertion in a Report display name) to roll up Buildings and parcels/blocks, and use multiple lines of Reporting sitting under Case arguments to obtain a manual version of this, and then tidy it up in Excel - screenshot below from CE reporting. Adding multiple levels of "." insertion would seem a simple way to achieve what Alan is looking for....
... View more
01-14-2020
07:13 PM
|
0
|
1
|
428
|
POST
|
Hi Thomas, Thanks for confirming. Can I suggest that this is an important issue that needs signalling in every Release Notes summary for future upgrades? This is a mission-critical piece of knowledge for working offices, but it's not even mentioned in the 2016.1 notes (http://desktop.arcgis.com/en/cityengine/latest/get-started/cityengine-release-notes.htm#ESRI_SECTION1_9B00F30B5EE140CC8D3B1965D7193AAF). Thanks! Tim
... View more
10-19-2016
12:51 PM
|
0
|
1
|
1370
|
POST
|
Hi David, Thanks for the reply! I guess I've just not noticed the presence of those lines in the Redlands or Complete Streets rules. It would still be good to get an explanation as to the ins and outs of modifying the ESRI.lib or ce.lib content. Is it even advised?! From Matt's reply above I get the idea that the lib content is encouraged to be used as a tool to avoid repeated copying in of resources - but what if we want to use more than just the very limited set of data in ESRI.lib for example? I'm just now aware of how to go about structuring such a resource tool, would be great to get some guidance from ESRI.
... View more
10-13-2016
04:54 PM
|
0
|
5
|
1421
|
POST
|
Hi Matt, That advice about the Library functions is gold dust! However, I've never come across this explained in any detail. It's certainly not in the Help File, and I can't find anything on the ESRI site, or recall anything on the old Procedural site that ever went over this. It would be really good to know how the .lib spaces work. All I know is that ESRI.lib pops up in each workspace, and I had assumed that it was a behind-the-scenes mechanism not to be touched. For example, how can corporate teams set up a template project structure, or ensure that any new workspace includes corporate library files? I had not noticed any example rule files referencing the ESRI.lib, so had no idea that this could be done. Any ESRI staff - can we get some further explanation on all of this please?
... View more
10-12-2016
08:04 PM
|
0
|
7
|
1421
|
POST
|
I currently use reporting extensively, typically with several sub-categories under each type of report. This usually features the "." separator in the report line title to identify individual attributed and also sum them (eg GFA as in the tutorials). What I would also like to do is to use attributes or constants to identify "nested", multiple categories and then to include the attribute/constant in the report line title. The former currently requires huge swathes of repetitive nested "case" arguments - I'd love to use a more concise route if possible. Am I missing something? The latter does not currently seem possible - or can anyone show me how? I'm looking for something resembling "attribute1.attribute2.attribute3" for a report line title as an outcome ideally. It also appears that only one "." division can be used to isolate individual subcategories and roll up totals. It would be great to hear that's something that could be changed. Any input much appreciated! Tim
... View more
08-15-2016
03:50 PM
|
0
|
1
|
1053
|
POST
|
Hi - tested on another machine, definitely an ATI related issue. New hardware on order.... Thanks for the help.
... View more
02-15-2016
04:02 PM
|
0
|
1
|
834
|
POST
|
Hi Dan, thanks for the reply! It prompted me to realise that I've been tackling the issue in a slightly roundabout way. Unfortunately I'm working in a non-GIS environment; my challenge is trying to 'trim' a dataset that I was given _within_ CityEngine. From an ESRI perspective I can understand this is pretty low priority! Workflow-wise, what I'm looking at is how to export terrain models efficiently into other 3D modelling formats - DAE and then into sketchup in my case. Exporting all of a terrain is pretty demanding on 3D apps, so I'm looking to make the amount of data exported smaller. In the case of this project, the model is relatively large, but I only need to share a small part of it...hence the question about trimming in CE. Cheers, Tim
... View more
01-20-2016
07:11 PM
|
0
|
0
|
418
|
POST
|
...and if not, could this be added to the feature wishlist please?
... View more
01-20-2016
04:59 PM
|
0
|
2
|
2889
|
POST
|
Hi Thomas, I've had a chance to test out playing with the recommended option for dealing with the ATI cards (turning off the mipmap), but I'm still reliably encountering a crash. I assume the issue is still most likely an ATI-related issued, just wanted to make sure you're aware of it with 2015. I'll try it on another machine with an alternative card if I can....
... View more
01-11-2016
05:39 PM
|
0
|
0
|
834
|
Title | Kudos | Posted |
---|---|---|
1 | 12-22-2015 01:47 AM | |
2 | 12-23-2015 10:54 AM |
Online Status |
Offline
|
Date Last Visited |
10-21-2021
11:10 PM
|