Cannot pick 'procedural layer' for point shapes in Arcgis Pro, cannot apply CityEngine rule pack

2912
8
Jump to solution
01-06-2017 09:46 AM
LessieOC
New Contributor III

Hello, I created a rule package which uses CityEninge's tree library. I added the additional annotations so it would work in ArcGIS pro. (little cga code below). I want to generate the trees in ArcGis Pro using the 'procedural layer' option, which I should be able to select from the symbology > Properties drop down, right?  but this option does not appear. I only get marker, stroke and fill layer options. How I can assign the rule package to point shapes?.  The point data I have is a the city's vegetation in shape file. Using arcgis pro 1.3

I tried converting converting the points to multipatch but then, the rpk does not apply since it is annotated with @InPoint. So, I would need an annotation for @Multipatch????? Using the preset option forces using a single color.

the code below is a minimized version. In reality it calls other 2 little cga files, but for testing I took may sections out. 
I guessed the order of how the additional annotations should go, so I am not entirely sure.. pls advise if this is wrongly done, too.

import Tree_Options: "rules/Esri Vegetation Library with LumentRT 3D Plants - Plant Loader.cga"
#import Root_Options:"rules/aoi_roots.cga"
#import LOD1_trees:"rules/aoi_lod1_tree.cga"

#   Inspector - Trees  ##############################

@Order(1) @Range("Cylinder","Lollypop","Fan","Analytical","Model")
attr Representation        = "Analytical"

@Group("Trees",1)
    @Order(1)
    attr Genus        = "Robinia"    
    
    @Hidden
    attr Species    = "Pseudoacacia"
    
    @Order(2)
    
    @Distance
    @Range(0,30)
    @Description("Change diam 0-30m")
    attr Canopy_Diameter     = 8
    
    @Hidden
    @Distance
    @Range(0,160)
    attr Radius = Canopy_Diameter/2
    
    @Order(3)
    @Distance
    @Range(0,160)
    @Description("Change 0-160m. Red trees have H<0")
    attr Height     = 10
    
    @Order(4)
    @Range(0,1)
    @Description("between 0 to 1")
    attr Transparency         = 0


################## START

@StartRule @InPoint
    
load --> loadTrees

loadTrees -->

    set(Tree_Options.Name, Tree_Options.getCommonName(Genus,Species))
    set(Tree_Options.Radius,case Canopy_Diameter >0: Canopy_Diameter/2 else: Tree_Options.getRadius)
    /* set(Tree_Options.Height,case Height<0: 10 else: Height) drawRedCylinder
    Tree_Options.Generate */
    set(Tree_Options.Height,case Height<0: 10 else: Height) Tree_Options.Generate
   

0 Kudos
1 Solution

Accepted Solutions
LessieOC
New Contributor III

I just had to drag the 2D layer into the 3D layer. I can now apply the cga rule but the geometry is missing. I get the white unkown assets cubes instead.

The .rpk is not including the geometry which is called by the first line in the cga code. How to I force the geometry in the rpk?

thanks

View solution in original post

0 Kudos
8 Replies
ChaitGaddam1
New Contributor II

Hi Lessie, 

Can you confirm that you are working in a scene document and that the point layer you are trying to symbolize is in the '3D Layers' group in the Contents pane. If that is correct, try to refresh the the Symbology pane. To do this, right-click on the layer name and choose the 'Symbology option' or close and reopen the Symbology pane. Follow the instructions here to add a procedural symbol layer. 

Let me know if this solves the problem. We may have a refresh bug here that we need to fix.

LessieOC
New Contributor III

Hi Chait,

The point data is a 2D and I mport it in the Map tab, I then covert it into 3D. the points do not appear in the 3D layer group, only in the 2D layers. The data/shp file has tree heigh attributes and z-terrain elevation. I link these attributes in CityEngine once I apply the .cga rul. I am sort of trying to do the ''same''  thing in ARc|GIS pro. What can/should I do to make the point-shape file go to the 3D layer in ArcGIS pro? 

thanks

LessieOC
New Contributor III

I just had to drag the 2D layer into the 3D layer. I can now apply the cga rule but the geometry is missing. I get the white unkown assets cubes instead.

The .rpk is not including the geometry which is called by the first line in the cga code. How to I force the geometry in the rpk?

thanks

0 Kudos
ChaitGaddam1
New Contributor II

Hi,

Can you provide a test RPK that shows this problem?

LessieOC
New Contributor III

Hi, I fixed it. I just had to redo the path to the obj files from within the cga code. So it works with the test .cga. Sorry, dumb mistake.

When I do use the non-test code. It will call other 3 .cga files. Do I also need to add the different annotations to the other .cga files as well? ex.  @InPoint,  @Distance , etc??  or is it enough to only add these annotations to the main .cga file?

Thanks

L.

0 Kudos
ChaitGaddam1
New Contributor II

@InPoint, @InPolygon, @InMesh are only added to the @StartRule that is in the main CGA file. There can/should be only one rule marked with @StartRule annotation.

Annotations such as @Distance, @Angle are only for showing units or degree sign etc. in the user interface so if you want to show those, then you can use these annotations.

LessieOC
New Contributor III

Awesome. Thank you Chait!

0 Kudos
JohnShell
New Contributor II

I am having similar issues and I am not able to see the Procedural Fill option either.

0 Kudos