<?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: Recursion issue in ArcGIS CityEngine Questions</title>
    <link>https://community.esri.com/t5/arcgis-cityengine-questions/recursion-issue/m-p/310423#M4268</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Thomas, thank you for the answer. It really helped a lot. My late reply is not be course I did not appreciated your answer, I simply wanted to have some time to create something that could illustrate my plan. So the idea was to have a catalog of materials to choose from, and see them visually in CE, then quickly assign the desired material to a building.&lt;/P&gt;&lt;P&gt;I haven’t had that much time, so it still needs a lot of work, but my testing passed, and I just need to make it shine from now on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="image-1 jive-image" src="https://community.esri.com/legacyfs/online/243399_Show1.png" style="width: 953px; height: 478px;" /&gt;&lt;/P&gt;&lt;P&gt;First you create your building rule, and link to the textureSearch.cga. Her I’ve created a beautiful cube. When I enable the ShowMaterial attr, all my materials get shown next to the building. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="image-2 jive-image" src="https://community.esri.com/legacyfs/online/243400_Show2.png" style="width: 841px; height: 575px;" /&gt;&lt;/P&gt;&lt;P&gt;Let’s say I want material number 8. The I type in 8 in MaterialNumber, and because I use the same logic in the &amp;nbsp;Building rule and the material rule, it will match on the building.&lt;/P&gt;&lt;P&gt;Just another example on how everything seems possible with cga, You just need an idea some knowledge and some help.&lt;/P&gt;&lt;P&gt;How useable this will be at the end, time will tell. But I expect incorporating the workflow into all my rules. I have this huge library, with almost seamless textures, and I never use them because there was an overload of materials, and it took forever find the right one. In the passed I googled “Brick Texture” Now I think I can make use of my “pro“ materials, and even filter by material type. The cool thing is, that I got my bumpmaps, right next to the texture &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 11 Oct 2016 20:00:18 GMT</pubDate>
    <dc:creator>KennethLindhardt</dc:creator>
    <dc:date>2016-10-11T20:00:18Z</dc:date>
    <item>
      <title>Recursion issue</title>
      <link>https://community.esri.com/t5/arcgis-cityengine-questions/recursion-issue/m-p/310421#M4266</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I’m trying to create a little hobby project. The background for this is that I have a lot of textures, and no order in those. So my idea was to link a texture finder rule into all my other rules, and when necessary activate a plane with all the textures matching my filesearch criteria, and a annotation below that I could use in the main rule to texture my models.&lt;/P&gt;&lt;P&gt;I created&amp;nbsp; a primitivequad, that will have the sqrt size of the total number of textures in the filesearch. The I’ve splited it up in the x and z direction. That would bring me a grid, where I need to assign different materials to each one.&lt;/P&gt;&lt;P&gt;I redefined the Index of my splits so it will keep growing, so if the last split in the X direction in the first split of the Z direction will end up with Index 10 the first split in the X direction &amp;nbsp;in the second split of the Z direction will be 11, and so on….&lt;/P&gt;&lt;P&gt;Okay… I can do a listItem on a string from a fileSearch, so let’s say the I have a spit with a value of 10, I would like the the 10&lt;SUP&gt;th&lt;/SUP&gt; texture in the listItem, comeing from the fileSearch to be assigned to that Index.&lt;/P&gt;&lt;P&gt;No problem there, if I create a case for each Index, but I need that to be a recursion, and now the chain is broken.&lt;/P&gt;&lt;P&gt;I think I’ve tried to put this together in every different ways I could think of, but maybe I’ve stared my self blind on it.&lt;/P&gt;&lt;P&gt;In my rule the Selector is the definition of which number of texture it should take from the list, the Number is the Index.&lt;/P&gt;&lt;P&gt;So in case the number equals the selector map the texture that has the same index/Selector value as the number.&lt;/P&gt;&lt;P&gt;Else go back to the same rule and raise the Selector value with one, until there is no more splits == Selecto &amp;gt; ListSize : NIL&lt;/P&gt;&lt;P&gt;Maybe this is cryptic writing , but hopefully it makes sense: &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PS: I know that the current recursion will not work&amp;nbsp;&lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;attr ListSize = listSize(fileSearch("Textures/*"))&lt;BR /&gt;attr ListSearch = fileSearch("Textures/*")&lt;BR /&gt;Start --&amp;gt;&lt;BR /&gt;primitiveQuad(ceil(sqrt(ListSize)), ceil(sqrt(ListSize)))&lt;BR /&gt;SplitX&lt;/P&gt;&lt;P&gt;SplitX --&amp;gt;&lt;BR /&gt;split(x) {1 : SplitY(split.index)}*&lt;/P&gt;&lt;P&gt;SplitY(IndexOne) --&amp;gt;&lt;BR /&gt;split(z) {1 : Shape(IndexOne,split.index+1,split.total,1,1)}*&lt;/P&gt;&lt;P&gt;Shape(IndexOne,IndexTwo,Total,Iterations,Selector) --&amp;gt;&lt;BR /&gt;//print(ListSearch)&lt;BR /&gt;Next(IndexTwo+Total*IndexOne,Selector)&lt;/P&gt;&lt;P&gt;Next(Number,Selector) --&amp;gt;&lt;BR /&gt;case Number &amp;gt; 1000 : NIL &lt;BR /&gt;else : set(material.colormap,listItem(ListSearch,Number))projectUV(0) Next(Number,Selector+1)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Sep 2016 06:35:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-cityengine-questions/recursion-issue/m-p/310421#M4266</guid>
      <dc:creator>KennethLindhardt</dc:creator>
      <dc:date>2016-09-22T06:35:04Z</dc:date>
    </item>
    <item>
      <title>Re: Recursion issue</title>
      <link>https://community.esri.com/t5/arcgis-cityengine-questions/recursion-issue/m-p/310422#M4267</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kenneth,&lt;/P&gt;&lt;P&gt;First, I need to say, that I'm not 100% sure how you want to use the selected texture number in your other rules.&lt;/P&gt;&lt;P&gt;But, I made a version of your rule, that makes a grid of textures and marks the selected one red.&lt;/P&gt;&lt;P&gt;I did not find a meaningful break condition in your recursive call of &lt;SPAN style="font-family: andale mono,monospace;"&gt;next&lt;/SPAN&gt;, so I removed it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;attr searchString &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"/ESRI.lib/assets/Facades/International/Groundfloors/*Educational*"&lt;/SPAN&gt;
attr ListSize &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;listSize&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;fileSearch&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;searchString&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
attr ListSearch &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;fileSearch&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;searchString&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
attr Selector &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;

Start &lt;SPAN class="operator token"&gt;--&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;primitiveQuad&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;ceil&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;sqrt&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ListSize&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ceil&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;sqrt&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ListSize&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SplitX

SplitX &lt;SPAN class="operator token"&gt;--&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;split&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;x&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;SplitY&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;split&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;index&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;

&lt;SPAN class="token function"&gt;SplitY&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;IndexOne&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;--&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;split&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;z&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;Shape&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;IndexOne&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;split&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;index&lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;split&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;total&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;floor&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;Selector&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;

&lt;SPAN class="token function"&gt;Shape&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;IndexOne&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;IndexTwo&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;Total&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;Iterations&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;Selector&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;--&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;Next&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;IndexTwo&lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;Total&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;IndexOne&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;Selector&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="token function"&gt;Next&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;Number&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;Selector&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;--&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;case&lt;/SPAN&gt; Number &lt;SPAN class="operator token"&gt;&amp;gt;=&lt;/SPAN&gt; ListSize &lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; NIL 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;case&lt;/SPAN&gt; Selector &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; Number&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;setback&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0.05&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; all &lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; Highlight &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; remainder &lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;Texture&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;Number&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;Texture&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;Number&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;SPAN class="token function"&gt;Texture&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;Number&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;--&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;setupProjection&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; scope&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;xz&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;set&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;material&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;colormap&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;listItem&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ListSearch&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;Number&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;projectUV&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

Highlight &lt;SPAN class="operator token"&gt;--&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;color&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"#FF0000"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 14:51:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-cityengine-questions/recursion-issue/m-p/310422#M4267</guid>
      <dc:creator>ThomasFuchs</dc:creator>
      <dc:date>2021-12-11T14:51:14Z</dc:date>
    </item>
    <item>
      <title>Re: Recursion issue</title>
      <link>https://community.esri.com/t5/arcgis-cityengine-questions/recursion-issue/m-p/310423#M4268</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Thomas, thank you for the answer. It really helped a lot. My late reply is not be course I did not appreciated your answer, I simply wanted to have some time to create something that could illustrate my plan. So the idea was to have a catalog of materials to choose from, and see them visually in CE, then quickly assign the desired material to a building.&lt;/P&gt;&lt;P&gt;I haven’t had that much time, so it still needs a lot of work, but my testing passed, and I just need to make it shine from now on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="image-1 jive-image" src="https://community.esri.com/legacyfs/online/243399_Show1.png" style="width: 953px; height: 478px;" /&gt;&lt;/P&gt;&lt;P&gt;First you create your building rule, and link to the textureSearch.cga. Her I’ve created a beautiful cube. When I enable the ShowMaterial attr, all my materials get shown next to the building. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="image-2 jive-image" src="https://community.esri.com/legacyfs/online/243400_Show2.png" style="width: 841px; height: 575px;" /&gt;&lt;/P&gt;&lt;P&gt;Let’s say I want material number 8. The I type in 8 in MaterialNumber, and because I use the same logic in the &amp;nbsp;Building rule and the material rule, it will match on the building.&lt;/P&gt;&lt;P&gt;Just another example on how everything seems possible with cga, You just need an idea some knowledge and some help.&lt;/P&gt;&lt;P&gt;How useable this will be at the end, time will tell. But I expect incorporating the workflow into all my rules. I have this huge library, with almost seamless textures, and I never use them because there was an overload of materials, and it took forever find the right one. In the passed I googled “Brick Texture” Now I think I can make use of my “pro“ materials, and even filter by material type. The cool thing is, that I got my bumpmaps, right next to the texture &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Oct 2016 20:00:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-cityengine-questions/recursion-issue/m-p/310423#M4268</guid>
      <dc:creator>KennethLindhardt</dc:creator>
      <dc:date>2016-10-11T20:00:18Z</dc:date>
    </item>
  </channel>
</rss>

