{"id":4199,"date":"2018-10-05T15:35:10","date_gmt":"2018-10-05T15:35:10","guid":{"rendered":"https:\/\/www.geoplanit.co.uk\/?p=4199"},"modified":"2019-04-15T20:40:14","modified_gmt":"2019-04-15T20:40:14","slug":"a-helping-handle-visual-cues-for-my-rules-in-esri-cityengine","status":"publish","type":"post","link":"https:\/\/www.geoplanit.co.uk\/?p=4199","title":{"rendered":"A helping handle &#038; visual cues for my rules in Esri CityEngine"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Sometimes in CityEngine it can be hard to figure out what&#8217;s going on.&nbsp; Whether that&#8217;s understanding scope (CityEnginers understand this can get complicated) or just simple metrics.&nbsp;&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"696\" height=\"555\" src=\"https:\/\/i0.wp.com\/www.geoplanit.co.uk\/wp-content\/uploads\/2018\/10\/CE_Protractor_01.png?resize=696%2C555&#038;ssl=1\" alt=\"\" class=\"wp-image-4203\" srcset=\"https:\/\/i0.wp.com\/www.geoplanit.co.uk\/wp-content\/uploads\/2018\/10\/CE_Protractor_01.png?w=841&amp;ssl=1 841w, https:\/\/i0.wp.com\/www.geoplanit.co.uk\/wp-content\/uploads\/2018\/10\/CE_Protractor_01.png?resize=150%2C120&amp;ssl=1 150w, https:\/\/i0.wp.com\/www.geoplanit.co.uk\/wp-content\/uploads\/2018\/10\/CE_Protractor_01.png?resize=300%2C239&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.geoplanit.co.uk\/wp-content\/uploads\/2018\/10\/CE_Protractor_01.png?resize=768%2C613&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.geoplanit.co.uk\/wp-content\/uploads\/2018\/10\/CE_Protractor_01.png?resize=338%2C270&amp;ssl=1 338w\" sizes=\"auto, (max-width: 696px) 100vw, 696px\" \/><figcaption>Down the CityEngine rabbit hole I go again&#8230;..<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">I&#8217;ll often use a combination of &#8216;print&#8217; and &#8216;report&#8217; to give me a better understanding of my code at any given point.&nbsp; What I also do is use bright colours (which have simple RGB\/hex colour codes) to indicate whether a part of the code has been reached.&nbsp; once I&#8217;ve confirmed it works I continue the code.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"472\" height=\"390\" src=\"https:\/\/i0.wp.com\/www.geoplanit.co.uk\/wp-content\/uploads\/2018\/10\/CE_2017_1_SolarPotential_Swindon1.png?resize=472%2C390&#038;ssl=1\" alt=\"\" class=\"wp-image-4205\" srcset=\"https:\/\/i0.wp.com\/www.geoplanit.co.uk\/wp-content\/uploads\/2018\/10\/CE_2017_1_SolarPotential_Swindon1.png?w=472&amp;ssl=1 472w, https:\/\/i0.wp.com\/www.geoplanit.co.uk\/wp-content\/uploads\/2018\/10\/CE_2017_1_SolarPotential_Swindon1.png?resize=150%2C124&amp;ssl=1 150w, https:\/\/i0.wp.com\/www.geoplanit.co.uk\/wp-content\/uploads\/2018\/10\/CE_2017_1_SolarPotential_Swindon1.png?resize=300%2C248&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.geoplanit.co.uk\/wp-content\/uploads\/2018\/10\/CE_2017_1_SolarPotential_Swindon1.png?resize=327%2C270&amp;ssl=1 327w\" sizes=\"auto, (max-width: 472px) 100vw, 472px\" \/><figcaption>Bright colours can show you interesting metrics but also when you&#8217;ve screwed up&#8230;<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Recently I&#8217;ve been working on some code where an understanding of the orientation of an model is important, not just as a world orientation but also relative to the initial shapes scope.&nbsp; As is the case with most of my work in CityEngine I start to wonder, how would I go about making something more visual for me?&nbsp; &nbsp;Thus I decided to spend some (okay probably too much!) time creating a procedural protractor.&nbsp; This allows you to switch between displaying an angle relative to the shapes scope, or the world.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/i0.wp.com\/www.geoplanit.co.uk\/wp-content\/uploads\/2018\/10\/protractorFun1.gif?resize=500%2C500&#038;ssl=1\" alt=\"\" class=\"wp-image-4201\"\/><figcaption>Any excuse to use an animated GIF&#8230;<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">I&#8217;ve used the Handle features in CityEngine to make interacting with the attributes associated with this rule simple.&nbsp; I&#8217;m starting to use &#8216;handles&#8217; in CityEngine to expose attributes for users in a friendlier way.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To sum up for me I&#8217;ve found that programming language in Esri CityEngine called Computer Generated Architecture (CGA) is easier to pick up than traditionally programming languages because it is a visual one and by that I mean you create geometries.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sometimes in CityEngine it can be hard to figure out what&#8217;s going on.&nbsp; Whether that&#8217;s understanding scope (CityEnginers understand this can get complicated) or just simple metrics.&nbsp;&nbsp; I&#8217;ll often use a combination of &#8216;print&#8217; and &#8216;report&#8217; to give me a better understanding of my code at any given point.&nbsp; What I also do is use [&hellip;]<\/p>\n","protected":false},"author":161,"featured_media":4203,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"tdm_status":"","tdm_grid_status":"","footnotes":""},"categories":[93,116,145,64,156,7,16,9],"tags":[351],"class_list":["post-4199","post","type-post","status-publish","format-standard","has-post-thumbnail","category-3d","category-city-creation","category-cityengine","category-esri","category-geodesign","category-gis","category-visualisations","category-workflow","tag-cityengine"],"_links":{"self":[{"href":"https:\/\/www.geoplanit.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/4199","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.geoplanit.co.uk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.geoplanit.co.uk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.geoplanit.co.uk\/index.php?rest_route=\/wp\/v2\/users\/161"}],"replies":[{"embeddable":true,"href":"https:\/\/www.geoplanit.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4199"}],"version-history":[{"count":4,"href":"https:\/\/www.geoplanit.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/4199\/revisions"}],"predecessor-version":[{"id":4851,"href":"https:\/\/www.geoplanit.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/4199\/revisions\/4851"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.geoplanit.co.uk\/index.php?rest_route=\/wp\/v2\/media\/4203"}],"wp:attachment":[{"href":"https:\/\/www.geoplanit.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.geoplanit.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.geoplanit.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}