<?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: Lot sizes rule in ArcGIS CityEngine Questions</title>
    <link>https://community.esri.com/t5/arcgis-cityengine-questions/lot-sizes-rule/m-p/91953#M1260</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Steve,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here's a bit of your code rearranged based on what you are describing:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;@StartRule&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Lot --&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; case (geometry.area() &amp;gt; 2000):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; # If the lot is too big, make more lots.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ResidentialBlock&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; case (geometry.area() &amp;lt; 500):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; # If lot is too small, reduce setbacks. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; DoSetbacks(0.5)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; else:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; # Otherwise make a building using usual setbacks.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; DoSetbacks(1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ResidentialBlock --&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; split(z){ ~Building_Width : DoSetbacks(1) | ~Distance_Seperation : NIL }*&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;DoSetbacks(reduceSetbackPercent) --&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; setback(Front_Yard_Depth * reduceSetbackPercent) { street.front: NIL | remainder: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; setback(Rear_Yard_Depth * reduceSetbackPercent) { street.back: NIL | remainder: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; setback(Side_Yard_Width * reduceSetbackPercent) { street.side: NIL | remainder: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Grow&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Grow --&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; extrude(rand(6,8))&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I just moved the checking of the lot size to the first rule, since it seems to be how your logic is flowing. It seems that your ResidentialBlock&amp;nbsp; rule is concerned with making more lots when a lot is too big, so I moved setbacks to a later step. Does this seem to help?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also, to check for very narrow shapes you can use something like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;YourRule --&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;case scope.sx &amp;gt; scope.sz * 5 || scope.sz &amp;gt; scope.sx * 5: HandleNarrowShape&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;else: HandleNormalShape&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 28 May 2013 17:54:00 GMT</pubDate>
    <dc:creator>Anonymous User</dc:creator>
    <dc:date>2013-05-28T17:54:00Z</dc:date>
    <item>
      <title>Lot sizes rule</title>
      <link>https://community.esri.com/t5/arcgis-cityengine-questions/lot-sizes-rule/m-p/91952#M1259</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'm currently trying to write a rule that will allow me to create buildings based on lot sizes. If the lot is too big, split the building; if it is too small, reduce setbacks. At the moment i have randomised variations to make the buildings all different sizes. Except with smaller lots, I'm getting very thin buildings extruded. So I've added a case clause to try and sort this out, but to no avail.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also, i can't seem to do multiple setbacks unless they're nested in each other within the Lot function. I would like the setbacks to be part of the case clause, but yet again...I'm struggling. Attached is my code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any help would be delightful.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Steve&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 May 2013 07:49:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-cityengine-questions/lot-sizes-rule/m-p/91952#M1259</guid>
      <dc:creator>StevenCuthbert</dc:creator>
      <dc:date>2013-05-28T07:49:54Z</dc:date>
    </item>
    <item>
      <title>Re: Lot sizes rule</title>
      <link>https://community.esri.com/t5/arcgis-cityengine-questions/lot-sizes-rule/m-p/91953#M1260</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Steve,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here's a bit of your code rearranged based on what you are describing:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;@StartRule&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Lot --&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; case (geometry.area() &amp;gt; 2000):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; # If the lot is too big, make more lots.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ResidentialBlock&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; case (geometry.area() &amp;lt; 500):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; # If lot is too small, reduce setbacks. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; DoSetbacks(0.5)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; else:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; # Otherwise make a building using usual setbacks.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; DoSetbacks(1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ResidentialBlock --&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; split(z){ ~Building_Width : DoSetbacks(1) | ~Distance_Seperation : NIL }*&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;DoSetbacks(reduceSetbackPercent) --&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; setback(Front_Yard_Depth * reduceSetbackPercent) { street.front: NIL | remainder: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; setback(Rear_Yard_Depth * reduceSetbackPercent) { street.back: NIL | remainder: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; setback(Side_Yard_Width * reduceSetbackPercent) { street.side: NIL | remainder: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Grow&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Grow --&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; extrude(rand(6,8))&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I just moved the checking of the lot size to the first rule, since it seems to be how your logic is flowing. It seems that your ResidentialBlock&amp;nbsp; rule is concerned with making more lots when a lot is too big, so I moved setbacks to a later step. Does this seem to help?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also, to check for very narrow shapes you can use something like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;YourRule --&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;case scope.sx &amp;gt; scope.sz * 5 || scope.sz &amp;gt; scope.sx * 5: HandleNarrowShape&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;else: HandleNormalShape&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 May 2013 17:54:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-cityengine-questions/lot-sizes-rule/m-p/91953#M1260</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2013-05-28T17:54:00Z</dc:date>
    </item>
    <item>
      <title>Re: Lot sizes rule</title>
      <link>https://community.esri.com/t5/arcgis-cityengine-questions/lot-sizes-rule/m-p/91954#M1261</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thank you so much for your help.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Life saver.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 May 2013 22:10:02 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-cityengine-questions/lot-sizes-rule/m-p/91954#M1261</guid>
      <dc:creator>StevenCuthbert</dc:creator>
      <dc:date>2013-05-28T22:10:02Z</dc:date>
    </item>
  </channel>
</rss>

