{"id":1443402,"date":"2021-12-20T06:30:10","date_gmt":"2021-12-20T14:30:10","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=1443402"},"modified":"2022-01-05T03:18:21","modified_gmt":"2022-01-05T11:18:21","slug":"puma-arcgis-cityengine-plugin-for-rhino-grasshopper","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper","title":{"rendered":"Puma &#8211; ArcGIS CityEngine Plugin for Rhino \/ Grasshopper"},"author":9292,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[615021],"tags":[25781,549072,763532,669711,763522],"industry":[],"product":[36781],"class_list":["post-1443402","blog","type-blog","status-publish","format-standard","hentry","category-aec","tag-3d","tag-esrirdzurich","tag-grasshopper","tag-plugin","tag-rhino","product-city-engine"],"acf":{"short_description":"Puma is a plugin for\u202fRhino and Grasshopper. It provides a Rhino command and Grasshopper components which enable the execution of\u202fCityEngine\u202frules","flexible_content":[{"acf_fc_layout":"youtube","start_time":"0","end_time":"","youtube_video_url":"<iframe title=\"ArcGIS CityEngine for Rhino\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/JHMathmLBY8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>"},{"acf_fc_layout":"sidebar","content":"<h2 style=\"text-align: center\">Visit the <a href=\"https:\/\/esri.github.io\/cityengine\/puma\">Puma Website<\/a> for installation instructions and user manual!<\/h2>\n","image_reference":false,"layout":"standard","image_reference_figure":"","snippet":"","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false},{"acf_fc_layout":"content","content":"<p>&nbsp;<\/p>\n<p><span data-contrast=\"none\">\u201cPuma opens window so Rhino can get out!\u201d sounds like some kind of weird headline from a newspaper, doesn\u2019t it?<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Now bear with me here, because that sentence is more than a catchy headline and actually holds true in the ArcGIS\u00a0CityEngine\u00a0world.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">As you might have noticed, over the last couple of years, we have steadily been releasing <a href=\"https:\/\/esri.github.io\/cityengine\/\">plug-ins<\/a> for many different 3D software environments, like Unreal Engine, Autodesk Maya,\u00a0SideFX\u00a0Houdini and now, we have a new plugin to add to the family: Puma\u00a0\u2013\u00a0CityEngine\u00a0plugin for Rhino \/ Grasshopper.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true}\">\u00a0<\/span><\/p>\n<h3><span data-contrast=\"none\">What is Rhino \/ Grasshopper (GH)?<\/span><\/h3>\n<p><span data-contrast=\"none\">For those of you familiar with the Rhino \/ GH environment, you\u2019re probably jumping for joy right now (I\u2019m looking at you, Architects!). For those of you unfamiliar with Rhino \/ GH, here is a little bit of background.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">GH <\/span><span data-contrast=\"none\">is a\u202f<\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Visual_programming_language\"><span data-contrast=\"none\">visual programming language<\/span><\/a><span data-contrast=\"none\">\u202fand environment that runs within the\u202f<\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Rhinoceros_3D\"><span data-contrast=\"none\">Rhinoceros 3D<\/span><\/a><span data-contrast=\"none\">\u202f<\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Computer-aided_design\"><span data-contrast=\"none\">computer-aided design (CAD)<\/span><\/a><span data-contrast=\"none\">\u202fapplication.\u202f<\/span><span data-contrast=\"none\">Rhino 3D is unavoidable in Architecture,\u00a0and\u00a0GH is intuitive in exploring the designs without the need to program scripts. It uses visual\u00a0programming\u00a0to easily create parametric architecture.\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">To us, the use-case was clear, ArcGIS CityEngine is after all a software used to create building models (amongst other things) and the native CGA scripting language (which stands for Computer Generated Architecture) is specifically designed for\u2026.architecture. So this really is a great addition to the toolkit. <\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">I already hear you asking \u201cSo what can you actually do with Puma, that you couldn\u2019t do before?\u201d, well here it is in a nutshell.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h3><span data-ccp-props=\"{}\"><br \/>\nEnter Puma!<\/span><\/h3>\n<p><span data-contrast=\"auto\">Puma is a plugin for\u202f<\/span><a href=\"https:\/\/www.rhino3d.com\/\"><span data-contrast=\"none\">Rhino and Grasshopper<\/span><\/a><span data-contrast=\"auto\">. It provides a Rhino command and GH components which enable the execution of\u202f<\/span><a href=\"https:\/\/www.esri.com\/software\/cityengine\"><span data-contrast=\"none\">CityEngine<\/span><\/a><span data-contrast=\"auto\">\u202frules within a Rhino scene. Therefore, a Rhino artist or designer\u00a0<\/span><span data-contrast=\"auto\">no longer needs to leave<\/span><span data-contrast=\"auto\">\u00a0their familiar Rhino environment anymore to make use of CityEngine\u2019s procedural modeling power. Complicated export-import steps are\u00a0<\/span><span data-contrast=\"auto\">a thing of the past<\/span><span data-contrast=\"auto\">, which also means that the procedural models\u00a0<\/span><span data-contrast=\"auto\">no longer<\/span><span data-contrast=\"auto\">\u00a0need to be \u201cbaked\u201d. The building or street models\u00a0<\/span><span data-contrast=\"auto\">remain<\/span><span data-contrast=\"auto\">\u00a0procedural during the entire design or planning workflow. Consequently, the user can change any attributes of the building or street models easily by connecting them to other Grasshopper components.<\/span><\/p>\n<p><span data-contrast=\"auto\">Puma requires Rule Packages (RPK) as input, which are authored in CityEngine. An RPK includes assets and a CGA rule file which encodes an architectural style.\u00a0A comprehensive\u00a0\u201cstreet segment\u201d\u00a0example\u00a0is\u00a0available<\/span><span data-contrast=\"auto\">\u00a0<\/span><a href=\"https:\/\/esri.github.io\/cityengine\/puma\"><span data-contrast=\"none\">here<\/span><\/a><span data-contrast=\"auto\">.<br \/>\nMore examples for CGA rule files can additionally be found in the\u202f<\/span><a href=\"https:\/\/doc.arcgis.com\/en\/cityengine\/latest\/tutorials\/introduction-to-the-cityengine-tutorials.htm\"><span data-contrast=\"none\">CityEngine tutorials<\/span><\/a><span data-contrast=\"auto\"> and the official CityEngine examples available in the built-in download tool (see Help menu in CityEngine).<\/span><\/p>\n<p><span data-contrast=\"auto\">Puma is well suited for managing the procedural generation of architectural 3D content in design and urban planning scenarios. However, Puma is restricted to the procedural generation of buildings and street detailing\/furniture. Puma does not include the city layout and street network editing tools of CityEngine (i.e. the rich CityEngine toolset to design a city from scratch or based on geographic data is still needed).<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">So\u00a0to circle back to the\u00a0\u201cPuma-Rhino\u00a0window\u201d\u00a0analogy in the beginning of this blog, with this plugin, we\u00a0aim to open a\u00a0window\u00a0to specific capabilities of\u00a0CityEngine\u00a0to Rhino users, without the need for them to leave their everyday tool.\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true}\">\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"quote","author_name":"Greg Schleusner","author_profession_organization":"Director of Design Technology HOK","image":false,"text":"Puma will allow us to create robust workflows in Rhino and Grasshopper. By running CityEngine via an embedded library, Puma will empower our designers to simplify workflows and the design exploration process."},{"acf_fc_layout":"sidebar","content":"<p><span data-contrast=\"none\">Whether you use Puma for urban massing studies or architectural visualizations, Puma opens up a whole new world of possibilities.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true}\">\u00a0<\/span><\/p>\n","image_reference":{"ID":1443412,"id":1443412,"title":"Puma Street Segment Scene","filename":"puma_street_segment_scene.jpg","filesize":460025,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/12\/puma_street_segment_scene.jpg","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper\/puma_street_segment_scene","alt":"Puma Street Segment Scene","author":"9292","description":"","caption":"","name":"puma_street_segment_scene","status":"inherit","uploaded_to":1443402,"date":"2021-12-20 12:13:41","modified":"2021-12-20 12:14:15","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":2486,"height":1364,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/12\/puma_street_segment_scene-213x200.jpg","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/12\/puma_street_segment_scene.jpg","medium-width":464,"medium-height":255,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/12\/puma_street_segment_scene.jpg","medium_large-width":768,"medium_large-height":421,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/12\/puma_street_segment_scene.jpg","large-width":1920,"large-height":1053,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/12\/puma_street_segment_scene-1536x843.jpg","1536x1536-width":1536,"1536x1536-height":843,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/12\/puma_street_segment_scene-2048x1124.jpg","2048x2048-width":2048,"2048x2048-height":1124,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/12\/puma_street_segment_scene-826x453.jpg","card_image-width":826,"card_image-height":453,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/12\/puma_street_segment_scene-1920x1053.jpg","wide_image-width":1920,"wide_image-height":1053}},"layout":"image","image_reference_figure":"","snippet":"","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false},{"acf_fc_layout":"content","content":"<p>&nbsp;<\/p>\n<p><span data-contrast=\"none\">I could go on\u00a0and on, but\u00a0I\u00a0really\u00a0think you should\u00a0just\u00a0try Puma out for yourself as soon as possible, so\u00a0either download the\u00a0<\/span><span data-contrast=\"auto\">\u202f<\/span><a href=\"https:\/\/esri.github.io\/cityengine\/puma#examples\"><span data-contrast=\"none\">&#8220;Street Segment&#8221; example<\/span><\/a><span data-contrast=\"auto\">\u202f<\/span><span data-contrast=\"none\">\u00a0or create a scene from scratch.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"auto\">Creating a Rhino scene from scratch with Puma<\/span><\/b><span data-ccp-props=\"{&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559739&quot;:40,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ol>\n<li><span data-contrast=\"auto\">In\u00a0CityEngine, download e.g.\u202f<\/span><a href=\"https:\/\/doc.arcgis.com\/en\/cityengine\/latest\/tutorials\/tutorial-9-advanced-shape-grammar.htm\"><span data-contrast=\"none\">Tutorial 9<\/span><\/a><span data-contrast=\"auto\">\u202f and export the &#8220;Parthenon&#8221; CGA rules to a RPK (see \u202f<\/span><a href=\"https:\/\/doc.arcgis.com\/en\/cityengine\/latest\/help\/help-rule-package.htm\"><span data-contrast=\"none\">Creating a Rule Package<\/span><\/a><span data-contrast=\"auto\">).<\/span><\/li>\n<li><span data-contrast=\"auto\">Install Puma using the <strong>Rhino 7 Package Manager<\/strong> in the Tools menu (search for &#8220;puma&#8221;) or from the \u202f<\/span><a href=\"https:\/\/www.food4rhino.com\/app\/puma\"><span data-contrast=\"none\">Puma market place at food4rhino<\/span><\/a><span data-contrast=\"auto\">.<\/span><\/li>\n<li><span data-contrast=\"auto\">Start Rhino and open Grasshopper.<\/span><\/li>\n<li><span data-contrast=\"auto\">In Grasshopper go to the &#8220;Esri&#8221; tab and find the &#8220;Puma&#8221; section, drag the Puma component into the document.<\/span><\/li>\n<li><span data-contrast=\"auto\">Right-click on the RPK input parameter to select the &#8220;Parthenon&#8221; RPK created above. Puma will ask you to save the document, so it can store the path to the RPK relative to the document. It is best practice to put RPKs next to the Grasshopper document or in a subdirectory.<\/span><\/li>\n<li><span data-contrast=\"auto\">Create a &#8220;Surface&#8221; component and use the &#8220;Set one surface&#8221; context menu entry to draw a surface in Rhino with the &#8220;Surface from 3 or 4 corner points&#8221; tool.<\/span><\/li>\n<li><span data-contrast=\"auto\">Connect the &#8220;Surface&#8221; to the &#8220;Shapes&#8221; input. Now Puma will generate the model in the Rhino viewport.<\/span><span data-ccp-props=\"{&quot;335559685&quot;:0,&quot;335559731&quot;:0}\">\u00a0<\/span><\/li>\n<\/ol>\n"},{"acf_fc_layout":"sidebar","content":"<p>Try out your free 21-day ArcGIS CityEngine trial from <a href=\"https:\/\/www.esri.com\/en-us\/arcgis\/products\/arcgis-cityengine\/trial\">here<\/a>!<\/p>\n","image_reference":false,"layout":"standard","image_reference_figure":"","snippet":"","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false}],"authors":[{"ID":9292,"user_firstname":"Taisha","user_lastname":"Fabricius","nickname":"Taisha Fabricius","user_nicename":"tfabricius","display_name":"Taisha Fabricius","user_email":"TFabricius@esri.com","user_url":"","user_registered":"2019-03-26 08:42:10","user_description":"Taisha Fabricius is a technology leader at the Esri R&amp;D Center in Z\u00fcrich, Switzerland. With over a decade of hands-on experience spanning product management, innovation strategy, and tech evangelism, Taisha specializes in Extended Reality (XR) and Web 3D, driving Esri\u2019s strategy for immersive geospatial technologies. With a focus on transforming spatial data into interactive experiences, Taisha is helping redefine how people explore and understand complex environments through XR and web-native 3D.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/06\/headshot-213x200.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"},{"ID":6031,"user_firstname":"Simon","user_lastname":"Haegler","nickname":"shaegler","user_nicename":"shaegler","display_name":"Simon Haegler","user_email":"SHaegler@esri.com","user_url":"","user_registered":"2018-03-02 00:17:52","user_description":"I'm a software developer in the field of computer graphics, specialized in procedural modeling. I have a background in electrical engineering (hardware development), general software development (C++, multiple scripting languages, build environments) and expert knowledge in Linux systems (several platforms).\r\n\r\nMy main interest currently lies in the application of procedural 3d modeling techniques in AEC and M&amp;E (special effects and environments for movies and computer games), as well as digital set building and production pipeline tools.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/11\/1517701153747-213x200.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":[{"ID":1093771,"post_author":"139801","post_date":"2021-01-18 01:54:18","post_date_gmt":"2021-01-18 09:54:18","post_content":"","post_title":"CityEngine on Discovery Channel: If We Built Washington DC Today","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"if-we-built-it-today-washington-dc","to_ping":"","pinged":"","post_modified":"2022-04-08 13:30:27","post_modified_gmt":"2022-04-08 20:30:27","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=1093771","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":1384372,"post_author":"9292","post_date":"2021-10-28 07:46:40","post_date_gmt":"2021-10-28 14:46:40","post_content":"","post_title":"ArcGIS CityEngine 2021.1 Release Highlights","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"arcgis-cityengine-2021-1-release-highlights","to_ping":"","pinged":"","post_modified":"2022-08-23 07:35:25","post_modified_gmt":"2022-08-23 14:35:25","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=1384372","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":361821,"post_author":"9292","post_date":"2018-11-21 03:22:28","post_date_gmt":"2018-11-21 11:22:28","post_content":"","post_title":"Make Game Maps With CityEngine","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"make-game-maps-with-cityengine","to_ping":"","pinged":"","post_modified":"2020-06-30 07:20:50","post_modified_gmt":"2020-06-30 14:20:50","post_content_filtered":"","post_parent":0,"guid":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=361821","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"}],"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/12\/Puma_Card.jpg","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/12\/Puma_Banner.jpg"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Puma - ArcGIS CityEngine Plugin for Rhino \/ Grasshopper<\/title>\n<meta name=\"description\" content=\"Puma is a plugin for\u202fRhino and Grasshopper. It provides a Rhino command and Grasshopper components which enable the execution of\u202fCityEngine\u202frules within a Rhino scene.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Puma - ArcGIS CityEngine Plugin for Rhino \/ Grasshopper\" \/>\n<meta property=\"og:description\" content=\"Puma is a plugin for\u202fRhino and Grasshopper. It provides a Rhino command and Grasshopper components which enable the execution of\u202fCityEngine\u202frules within a Rhino scene.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2022-01-05T11:18:21+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper\"},\"author\":{\"name\":\"Taisha Fabricius\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/7f11c9ae7286faba6245a0db8bdfbd59\"},\"headline\":\"Puma &#8211; ArcGIS CityEngine Plugin for Rhino \/ Grasshopper\",\"datePublished\":\"2021-12-20T14:30:10+00:00\",\"dateModified\":\"2022-01-05T11:18:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper\"},\"wordCount\":8,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"3D\",\"EsriRDZurich\",\"Grasshopper\",\"Plugin\",\"Rhino\"],\"articleSection\":[\"Architecture, Engineering, and Construction\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper\",\"name\":\"Puma - ArcGIS CityEngine Plugin for Rhino \/ Grasshopper\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2021-12-20T14:30:10+00:00\",\"dateModified\":\"2022-01-05T11:18:21+00:00\",\"description\":\"Puma is a plugin for\u202fRhino and Grasshopper. It provides a Rhino command and Grasshopper components which enable the execution of\u202fCityEngine\u202frules within a Rhino scene.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Puma &#8211; ArcGIS CityEngine Plugin for Rhino \/ Grasshopper\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/7f11c9ae7286faba6245a0db8bdfbd59\",\"name\":\"Taisha Fabricius\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/06\/headshot-213x200.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/06\/headshot-213x200.jpg\",\"caption\":\"Taisha Fabricius\"},\"description\":\"Taisha Fabricius is a technology leader at the Esri R&amp;D Center in Z\u00fcrich, Switzerland. With over a decade of hands-on experience spanning product management, innovation strategy, and tech evangelism, Taisha specializes in Extended Reality (XR) and Web 3D, driving Esri\u2019s strategy for immersive geospatial technologies. With a focus on transforming spatial data into interactive experiences, Taisha is helping redefine how people explore and understand complex environments through XR and web-native 3D.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/taishafabricius\/\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/tfabricius\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Puma - ArcGIS CityEngine Plugin for Rhino \/ Grasshopper","description":"Puma is a plugin for\u202fRhino and Grasshopper. It provides a Rhino command and Grasshopper components which enable the execution of\u202fCityEngine\u202frules within a Rhino scene.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper","og_locale":"en_US","og_type":"article","og_title":"Puma - ArcGIS CityEngine Plugin for Rhino \/ Grasshopper","og_description":"Puma is a plugin for\u202fRhino and Grasshopper. It provides a Rhino command and Grasshopper components which enable the execution of\u202fCityEngine\u202frules within a Rhino scene.","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2022-01-05T11:18:21+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper"},"author":{"name":"Taisha Fabricius","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/7f11c9ae7286faba6245a0db8bdfbd59"},"headline":"Puma &#8211; ArcGIS CityEngine Plugin for Rhino \/ Grasshopper","datePublished":"2021-12-20T14:30:10+00:00","dateModified":"2022-01-05T11:18:21+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper"},"wordCount":8,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["3D","EsriRDZurich","Grasshopper","Plugin","Rhino"],"articleSection":["Architecture, Engineering, and Construction"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper","name":"Puma - ArcGIS CityEngine Plugin for Rhino \/ Grasshopper","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2021-12-20T14:30:10+00:00","dateModified":"2022-01-05T11:18:21+00:00","description":"Puma is a plugin for\u202fRhino and Grasshopper. It provides a Rhino command and Grasshopper components which enable the execution of\u202fCityEngine\u202frules within a Rhino scene.","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Puma &#8211; ArcGIS CityEngine Plugin for Rhino \/ Grasshopper"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/7f11c9ae7286faba6245a0db8bdfbd59","name":"Taisha Fabricius","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/06\/headshot-213x200.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/06\/headshot-213x200.jpg","caption":"Taisha Fabricius"},"description":"Taisha Fabricius is a technology leader at the Esri R&amp;D Center in Z\u00fcrich, Switzerland. With over a decade of hands-on experience spanning product management, innovation strategy, and tech evangelism, Taisha specializes in Extended Reality (XR) and Web 3D, driving Esri\u2019s strategy for immersive geospatial technologies. With a focus on transforming spatial data into interactive experiences, Taisha is helping redefine how people explore and understand complex environments through XR and web-native 3D.","sameAs":["https:\/\/www.linkedin.com\/in\/taishafabricius\/"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/tfabricius"}]}},"text_date":"December 20, 2021","author_name":"Multiple Authors","author_page":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/aec\/puma-arcgis-cityengine-plugin-for-rhino-grasshopper","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/12\/Puma_Banner.jpg","primary_product":"ArcGIS CityEngine","tag_data":[{"term_id":25781,"name":"3D","slug":"3d","term_group":0,"term_taxonomy_id":25781,"taxonomy":"post_tag","description":"","parent":0,"count":342,"filter":"raw"},{"term_id":549072,"name":"EsriRDZurich","slug":"esrirdzurich","term_group":0,"term_taxonomy_id":549072,"taxonomy":"post_tag","description":"","parent":0,"count":96,"filter":"raw"},{"term_id":763532,"name":"Grasshopper","slug":"grasshopper","term_group":0,"term_taxonomy_id":763532,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":669711,"name":"Plugin","slug":"plugin","term_group":0,"term_taxonomy_id":669711,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":763522,"name":"Rhino","slug":"rhino","term_group":0,"term_taxonomy_id":763522,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"}],"category_data":[{"term_id":615021,"name":"Architecture, Engineering, and Construction","slug":"aec","term_group":0,"term_taxonomy_id":615021,"taxonomy":"category","description":"","parent":0,"count":129,"filter":"raw"}],"product_data":[{"term_id":36781,"name":"ArcGIS CityEngine","slug":"city-engine","term_group":0,"term_taxonomy_id":36781,"taxonomy":"product","description":"","parent":36591,"count":83,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=city-engine","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/1443402","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/9292"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=1443402"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/1443402\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=1443402"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=1443402"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=1443402"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=1443402"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=1443402"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}