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)