<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Assigning floor use when using an envelope in ArcGIS CityEngine Questions</title>
    <link>https://community.esri.com/t5/arcgis-cityengine-questions/assigning-floor-use-when-using-an-envelope/m-p/70651#M992</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ok, cool !&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;matt&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 20 Jan 2014 16:57:31 GMT</pubDate>
    <dc:creator>MatthiasBuehler1</dc:creator>
    <dc:date>2014-01-20T16:57:31Z</dc:date>
    <item>
      <title>Assigning floor use when using an envelope</title>
      <link>https://community.esri.com/t5/arcgis-cityengine-questions/assigning-floor-use-when-using-an-envelope/m-p/70646#M987</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I'm having a problem getting a use assigned to the individual floors of building creted using an envelope. I'm able to do it when the building is created using extrusionbut with the envelope the floor index does not appear to work. The report does indicate the CurrentFloorIndex is increased but the floors are not displayed properly concernig their use. Below is some or code I used, this code is simplified so we're only dealing with commercial and residential floors but in reality I would, want to expand this to include mixed and office floors. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;Building--&amp;gt;&amp;nbsp; setupProjection(0, scope.xz, 500, 500) &amp;nbsp;&amp;nbsp;&amp;nbsp; envelope(MaxHeight, FrontBaseHgt, FrontAngle, RearBaseheight, RearAngle, SideBaseheight, SideAngle ) &amp;nbsp;&amp;nbsp;&amp;nbsp; #comp(f) {top : Top }&amp;nbsp; BuildingVolume3D&amp;nbsp;&amp;nbsp; BuildingVolume3D --&amp;gt; &amp;nbsp; # the 3d volume will not be split into smaller 3d volumes ! 1 ground floor volume will be created. &amp;nbsp; alignScopeToAxes(y) &amp;nbsp; split(y) {GroundFloorHeight : Volume("GF") | ~1 : AllUpperFloors}&amp;nbsp;&amp;nbsp; AllUpperFloors --&amp;gt;&amp;nbsp; alignScopeToAxes(y)&amp;nbsp; split(y) {~UpperFloorHeight : Volume("UF")}*&amp;nbsp; NIL&amp;nbsp; Volume(volumeType) --&amp;gt;&amp;nbsp; case volumeType == "GF" : &amp;nbsp; case NumFlrComm &amp;gt; 0: &amp;nbsp;&amp;nbsp; case LOD == 1: &amp;nbsp;&amp;nbsp;&amp;nbsp; comp(f){side: GFloorSide | bottom: FloorBottom} &amp;nbsp;&amp;nbsp;&amp;nbsp; set(material.opacity,0.8) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("1 Ground Flr Area", geometry.area(bottom)) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("1 Ground Flr Revenue", (geometry.area(bottom) * GFRate)) &amp;nbsp;&amp;nbsp;&amp;nbsp; set(TotRevenue, (TotRevenue + geometry.area(bottom) * GFRate)) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("3 Total Revenue", TotRevenue) &amp;nbsp;&amp;nbsp;&amp;nbsp; set (currentFloorIndex, currentFloorIndex + 1) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("NUMBER OF FLRS", currentFloorIndex) &amp;nbsp;&amp;nbsp;&amp;nbsp; MassReporting &amp;nbsp;&amp;nbsp; else: &amp;nbsp;&amp;nbsp;&amp;nbsp; comp(f){side: GFloorSideS | bottom: FloorBottom} &amp;nbsp;&amp;nbsp;&amp;nbsp; report("1 Ground Flr Area", geometry.area(bottom)) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("1 Ground Flr Revenue", (geometry.area(bottom) * GFRate)) &amp;nbsp;&amp;nbsp;&amp;nbsp; set(TotRevenue, (TotRevenue + geometry.area(bottom) * GFRate)) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("3 Total Revenue", TotRevenue) &amp;nbsp;&amp;nbsp;&amp;nbsp; set (currentFloorIndex, currentFloorIndex + 1) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("NUMBER OF FLRS", currentFloorIndex) &amp;nbsp;&amp;nbsp;&amp;nbsp; MassReporting &amp;nbsp; else: &amp;nbsp;&amp;nbsp; case LOD == 1: &amp;nbsp;&amp;nbsp;&amp;nbsp; comp(f){side: FloorSideRes | bottom: FloorBottom | top : Top} &amp;nbsp;&amp;nbsp;&amp;nbsp; set(material.opacity,0.8) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("2 Res Flr Area", geometry.area(bottom)) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("2 Res Flr Revenue", (geometry.area(bottom) * UFRate)) &amp;nbsp;&amp;nbsp;&amp;nbsp; set(TotRevenue, (TotRevenue + geometry.area(bottom) * UFRate)) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("3 Total Revenue", TotRevenue) &amp;nbsp;&amp;nbsp;&amp;nbsp; set (currentFloorIndex, currentFloorIndex + 1) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("NUMBER OF FLRS", currentFloorIndex) &amp;nbsp;&amp;nbsp;&amp;nbsp; MassReporting &amp;nbsp;&amp;nbsp; else: &amp;nbsp;&amp;nbsp;&amp;nbsp; comp(f){side: FloorSideSRes | bottom: FloorBottom | top : Top} &amp;nbsp;&amp;nbsp;&amp;nbsp; report("2 Upper Flr Area", geometry.area(bottom)) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("2 Upper Flr Revenue", (geometry.area(bottom) * UFRate)) &amp;nbsp;&amp;nbsp;&amp;nbsp; set(TotRevenue, (TotRevenue + geometry.area(bottom) * UFRate)) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("3 Total Revenue", TotRevenue) &amp;nbsp;&amp;nbsp;&amp;nbsp; set (currentFloorIndex, currentFloorIndex + 1) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("NUMBER OF FLRS", currentFloorIndex) &amp;nbsp;&amp;nbsp;&amp;nbsp; MassReporting&amp;nbsp; else : &amp;nbsp; case currentFloorIndex &amp;lt;= NumFlrComm: &amp;nbsp;&amp;nbsp; case LOD == 1: &amp;nbsp;&amp;nbsp;&amp;nbsp; comp(f){side: FloorSideC | bottom: FloorBottom | top : Top} &amp;nbsp;&amp;nbsp;&amp;nbsp; set(material.opacity,0.8) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("2 Comm Flr Area", geometry.area(bottom)) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("2 Comm Flr Revenue", (geometry.area(bottom) * UFRate)) &amp;nbsp;&amp;nbsp;&amp;nbsp; set(TotRevenue, (TotRevenue + geometry.area(bottom) * UFRate)) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("3 Total Revenue", TotRevenue) &amp;nbsp;&amp;nbsp;&amp;nbsp; set (currentFloorIndex, currentFloorIndex + 1) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("NUMBER OF FLRS", currentFloorIndex) &amp;nbsp;&amp;nbsp;&amp;nbsp; MassReporting &amp;nbsp;&amp;nbsp; else: &amp;nbsp;&amp;nbsp;&amp;nbsp; comp(f){side: FloorSideSC | bottom: FloorBottom | top : Top} &amp;nbsp;&amp;nbsp;&amp;nbsp; report("2 Comm Flr Area", geometry.area(bottom)) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("2 Comm Flr Revenue", (geometry.area(bottom) * UFRate)) &amp;nbsp;&amp;nbsp;&amp;nbsp; set(TotRevenue, (TotRevenue + geometry.area(bottom) * UFRate)) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("3 Total Revenue", TotRevenue) &amp;nbsp;&amp;nbsp;&amp;nbsp; set (currentFloorIndex, currentFloorIndex + 1) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("NUMBER OF FLRS", currentFloorIndex) &amp;nbsp;&amp;nbsp;&amp;nbsp; MassReporting &amp;nbsp; else: &amp;nbsp;&amp;nbsp; case LOD == 1: &amp;nbsp;&amp;nbsp;&amp;nbsp; comp(f){side: FloorSideRes | bottom: FloorBottom | top : Top} &amp;nbsp;&amp;nbsp;&amp;nbsp; set(material.opacity,0.8) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("2 Res Flr Area", geometry.area(bottom)) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("2 Res Flr Revenue", (geometry.area(bottom) * UFRate)) &amp;nbsp;&amp;nbsp;&amp;nbsp; set(TotRevenue, (TotRevenue + geometry.area(bottom) * UFRate)) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("3 Total Revenue", TotRevenue) &amp;nbsp;&amp;nbsp;&amp;nbsp; set (currentFloorIndex, currentFloorIndex + 1) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("NUMBER OF FLRS", currentFloorIndex) &amp;nbsp;&amp;nbsp;&amp;nbsp; MassReporting &amp;nbsp;&amp;nbsp; else: &amp;nbsp;&amp;nbsp;&amp;nbsp; comp(f){side: FloorSideSRes | bottom: FloorBottom | top : Top} &amp;nbsp;&amp;nbsp;&amp;nbsp; report("2 Upper Flr Area", geometry.area(bottom)) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("2 Upper Flr Revenue", (geometry.area(bottom) * UFRate)) &amp;nbsp;&amp;nbsp;&amp;nbsp; set(TotRevenue, (TotRevenue + geometry.area(bottom) * UFRate)) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("3 Total Revenue", TotRevenue) &amp;nbsp;&amp;nbsp;&amp;nbsp; set (currentFloorIndex, currentFloorIndex + 1) &amp;nbsp;&amp;nbsp;&amp;nbsp; report("NUMBER OF FLRS", currentFloorIndex) &amp;nbsp;&amp;nbsp;&amp;nbsp; MassReporting&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The building this creates is always just symbolozed as commercial, no residential at all:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[ATTACH=CONFIG]30228[/ATTACH]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The only time I get something other than commercial (red) is if I set the NumFlrComm attribute to 0 in the Inspector. It appears that "set (currentFloorIndex, currentFloorIndex + 1)" is not effecting the "Volume(volumeType) --&amp;gt;" rule, although the number of floors is reported correctly in the report.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Any one have any idea how I can rearrange this so the currentFloorIndex is used correctly.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Jan 2014 16:33:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-cityengine-questions/assigning-floor-use-when-using-an-envelope/m-p/70646#M987</guid>
      <dc:creator>LoringTupper</dc:creator>
      <dc:date>2014-01-03T16:33:19Z</dc:date>
    </item>
    <item>
      <title>Re: Assigning floor use when using an envelope</title>
      <link>https://community.esri.com/t5/arcgis-cityengine-questions/assigning-floor-use-when-using-an-envelope/m-p/70647#M988</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I think the issue is that NumFlrComm is wrong / constant.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You need at some point to compare this value with 'split.index' and 'split.total'&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Check the docs on those .. ok ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;matt&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ps. you're copying all the reporting code many times. I'd rewrite the code in just 1 rule that also works on all LODs at the same time. Try to find a code structure that NEVER repeats code. Ok ?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jan 2014 11:30:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-cityengine-questions/assigning-floor-use-when-using-an-envelope/m-p/70647#M988</guid>
      <dc:creator>MatthiasBuehler1</dc:creator>
      <dc:date>2014-01-06T11:30:56Z</dc:date>
    </item>
    <item>
      <title>Re: Assigning floor use when using an envelope</title>
      <link>https://community.esri.com/t5/arcgis-cityengine-questions/assigning-floor-use-when-using-an-envelope/m-p/70648#M989</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Matthias,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Using the split.index did work just fine. I also did as you suggested and modified the code to remove the repetitive reporting code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I do have another question though, is there a way to add to an attribute as you go through the reporting mechanism? I want to report the required number of parking stalls required for a building based on the gross floor area and a stall requirment factor but I get odd results if I simply use the geometry.area and the rint function in the mass reporting rule, i.e. rint(((geometry.area -(geometry.area * .15))/StallFactor))), I assume this is because the numbers are smaller on a floor by floor basis and as you round these numbers then combine them the amount lost through rounding is compounded. Is there a way to make the same calculation on the full GFA rather than doing it incrementally. I tried using a set(attribute1, attribute1 + geometry.area)&amp;nbsp; within the reporting rule and it when&amp;nbsp; I reported the attribute1 it gave me the right answer, 10809.84, but when I plugged attribute1 into the calcualtion above, report("attribute1 value", ((attribute1 - (attribute1 * .15)/140))) I got 10798.26 as a result, I expected 65.53. If I try to use attribute1 outside of the reporting rule it appears the value is 0. What am I not seeing here?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Jan 2014 15:37:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-cityengine-questions/assigning-floor-use-when-using-an-envelope/m-p/70648#M989</guid>
      <dc:creator>LoringTupper</dc:creator>
      <dc:date>2014-01-09T15:37:12Z</dc:date>
    </item>
    <item>
      <title>Re: Assigning floor use when using an envelope</title>
      <link>https://community.esri.com/t5/arcgis-cityengine-questions/assigning-floor-use-when-using-an-envelope/m-p/70649#M990</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;My video here should help you further in understanding reporting a bit better. From this, you should be able to extrapolate ..&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;OBJECT height="380" width="640"&gt;&lt;PARAM name="movie" value="http://www.youtube.com/v/gnefAyqUQVE" /&gt;&lt;/OBJECT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Have you seen it already ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Let me know ..&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Matt&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Jan 2014 11:54:48 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-cityengine-questions/assigning-floor-use-when-using-an-envelope/m-p/70649#M990</guid>
      <dc:creator>MatthiasBuehler1</dc:creator>
      <dc:date>2014-01-10T11:54:48Z</dc:date>
    </item>
    <item>
      <title>Re: Assigning floor use when using an envelope</title>
      <link>https://community.esri.com/t5/arcgis-cityengine-questions/assigning-floor-use-when-using-an-envelope/m-p/70650#M991</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks again Matthias,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes, I had seen that video before, but some time ago. I re-watched it and it did clear some things up for me. I was able to get the report I needed.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Jan 2014 15:54:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-cityengine-questions/assigning-floor-use-when-using-an-envelope/m-p/70650#M991</guid>
      <dc:creator>LoringTupper</dc:creator>
      <dc:date>2014-01-20T15:54:08Z</dc:date>
    </item>
    <item>
      <title>Re: Assigning floor use when using an envelope</title>
      <link>https://community.esri.com/t5/arcgis-cityengine-questions/assigning-floor-use-when-using-an-envelope/m-p/70651#M992</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ok, cool !&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;matt&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Jan 2014 16:57:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-cityengine-questions/assigning-floor-use-when-using-an-envelope/m-p/70651#M992</guid>
      <dc:creator>MatthiasBuehler1</dc:creator>
      <dc:date>2014-01-20T16:57:31Z</dc:date>
    </item>
  </channel>
</rss>

