{"id":3356,"date":"2015-10-30T13:53:35","date_gmt":"2015-10-30T12:53:35","guid":{"rendered":"http:\/\/new.modelical.com\/?p=432"},"modified":"2024-07-12T15:02:47","modified_gmt":"2024-07-12T13:02:47","slug":"best-practices-in-grasshopper","status":"publish","type":"post","link":"https:\/\/www.modelical.com\/en\/best-practices-in-grasshopper\/","title":{"rendered":"Grasshopper best practices"},"content":{"rendered":"<h3>Introduction<\/h3>\n<p>In order to have a clear organization in our Grasshopper files, that will allow an external person to understand what is done, it is convenient to set a number of good practices for its use.<\/p>\n<p>We have used a function that models a parametric table as an example to follow in this guide. The parameters that can be modified in it are its general dimensions (length, width and height), the top board and legs thickness, and the distance between the axes of the legs.<\/p>\n<p>Firstly, we have created a template, we have another one for Rhino 5, in which has been added Modelical\u00b4s logo and a space to add a description of the file.<\/p>\n<h3>Data entry parameters<\/h3>\n<p>The description of the file is formed by:<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-4244 size-large\" src=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/01.png\" alt=\"01\" \/><\/p>\n<ul>\n<li>Title \u2013 Author<\/li>\n<li>Description<\/li>\n<li>Parameters description<\/li>\n<li>File description<\/li>\n<li>Date<\/li>\n<li>Version<\/li>\n<li>Rhino file location if needed<\/li>\n<\/ul>\n<p>In order to keep a well organized workspace and avoid it to become a mess of cables, we should keep the following work habits.<\/p>\n<p>Data entry parameters will be placed together and in the upper left corner of the file. Due to performance reasons, if it is not needed to see the changes that a parameter produces in real time is better to set the value of this parameter it in a \u201c<em>PANEL<\/em>\u201d instead of in a \u201c<em>SLIDER<\/em>\u201d.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-4245 \" src=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/021.png\" alt=\"02\" \/><\/p>\n<p>To bring the parameters information to the place where it is needed in the file, we will proceed this way:<\/p>\n<p>Firstly, we will dispose the data entry component and connect it to the corresponding primitive. In the example, a \u201c<em>SLIDER<\/em>\u201d which name has been changed for Length is connected to the parameter \u201c<em>NUMBER<\/em>\u201d.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-4246\" src=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/03a.png\" alt=\"03a\" \/><\/p>\n<p>In second term, we will change the name of the component \u201c<em>NUMBER<\/em>\u201d for the name of the data entry component, followed by a spot and the abbreviation of the type of variable used.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-4247\" src=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/03b.png\" alt=\"03b\" \/><\/p>\n<ul>\n<li>Boolean \u2013 Bool.<\/li>\n<li>Brep \u2013 Brep.<\/li>\n<li>Circle \u2013 Cir.<\/li>\n<li>Colour \u2013 Col.<\/li>\n<li>Curve \u2013 Crv.<\/li>\n<li>Domain \u2013 Dom.<\/li>\n<li>Geometry \u2013 Geo.<\/li>\n<li>Group \u2013 Grp.<\/li>\n<li>Integer \u2013 Int.<\/li>\n<li>Line \u2013 Ln.<\/li>\n<li>Mesh \u2013 Mesh.<\/li>\n<li>Number \u2013 Num.<\/li>\n<li>Plane \u2013 Pln.<\/li>\n<li>Point \u2013 Pt.<\/li>\n<li>Surface \u2013 Srf.<\/li>\n<li>Text \u2013 Txt.<\/li>\n<li>Vector \u2013 Vec.<\/li>\n<\/ul>\n<p>After that, this component will be copied and pasted to its right (to avoid retyping the name), and will be connected to the one with the same name.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-4248\" src=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/03c.png\" alt=\"03c\" \/><\/p>\n<p>Finally, we will set the wire display of the last component to Hidden.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-4249\" src=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/03d.png\" alt=\"03d\" \/><\/p>\n<p>By following this simple steps, we achieve independence between the position of the data entry parameters and the place where they will be used. Each time one of this parameters is needed, it will be copied and pasted wherever it should be placed.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-4251 size-large\" src=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/06.png\" alt=\"06\" \/><\/p>\n<p>Another advantage of this method is the possibility of modifying the initial parameter and this change will spread throughout the function automatically. For example, if at some point we decide that the width of the table must be half of the length, we can act in a single place as shown below:<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-4253\" src=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/07.png\" alt=\"07\" \/><\/p>\n<p>When possible, is better not to set the data directly in the \u201c<em>INPUTS<\/em>\u201d, but through other components. It will help external people to understand the function.<\/p>\n<p><img decoding=\"async\" width=\"820\" height=\"459\" class=\"wp-image-4252 aligncenter\" src=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/061.png\" alt=\"061\" srcset=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/061.png 820w, https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/061-480x269.png 480w, https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/061-768x430.png 768w\" sizes=\"(max-width: 820px) 100vw, 820px\" \/><\/p>\n<h3>Other recommendations<\/h3>\n<p>Another good practice is grouping functions in information packages. In the example, four groups have been developed:<\/p>\n<ul>\n<li>Table top.<\/li>\n<li>Table leg.<\/li>\n<li>Number of legs in Length direction.<\/li>\n<li>Legs location.<\/li>\n<\/ul>\n<p>The procedure to group components consists in selecting all the components we want to group and then press CTRL+G, or click on the icon shown in the picture.<\/p>\n<p><img decoding=\"async\" width=\"669\" height=\"681\" class=\"aligncenter wp-image-4254\" src=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/071.png\" alt=\"07\" srcset=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/071.png 669w, https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/071-472x480.png 472w\" sizes=\"(max-width: 669px) 100vw, 669px\" \/><\/p>\n<p>The colour and the name of a group can be changed by right-clicking on it.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-4255\" src=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/08.png\" alt=\"08\" \/><\/p>\n<p>It is also convenient highlighting the results got after some nodes to make it easier to understand, as in the example, where the number of legs in both sides is obtained. This can be done by using panels, which can be also modified in its name and colour as desired.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-4256\" src=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/09.png\" alt=\"09\" \/><\/p>\n<p>Finally, output components have been grouped to transfer its geometry to Rhino with the order \u201cBake\u201d.<\/p>\n<p><img decoding=\"async\" width=\"261\" height=\"318\" class=\"aligncenter wp-image-4257\" src=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/10.png\" alt=\"10\" \/><\/p>\n<p>When it is needed to establish an order to some elements depending of its geometrical position, a good practice will be doing a sketch in the Grasshopper workspace. For instance, if we want to get individually the vertices of an hexagon and we want to help an external person to identify them, we could do what follows:<\/p>\n<ol>\n<li>Draw the geometry in Rhino, taking in consideration that the dimensions of the grid used in Grasshopper are 15&#215;5 units, and the upper left point of the workspace corresponds to the 0,0,0 in Rhino.<br \/>\n<img decoding=\"async\" class=\"aligncenter wp-image-4258\" src=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/11.png\" alt=\"11\" \/><\/li>\n<li>Draw a scribble with \u201cSketch Object\u201d in Grasshopper.<br \/>\n<img decoding=\"async\" class=\"aligncenter wp-image-4259\" src=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/12.png\" alt=\"12\" \/><\/li>\n<li>Right-click on the scribble and select \u201cLoad from Rhino\u201d.<br \/>\n<img decoding=\"async\" width=\"361\" height=\"329\" class=\"aligncenter size-full wp-image-4260\" src=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/13.png\" alt=\"13\" \/><\/li>\n<li>Modify its colour and thickness if necessary and it is ready to continue working.<br \/>\n<img decoding=\"async\" width=\"604\" height=\"479\" class=\"wp-image-4261 aligncenter\" src=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/14.png\" alt=\"14\" srcset=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/14.png 604w, https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/14-480x381.png 480w\" sizes=\"(max-width: 604px) 100vw, 604px\" \/><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Tips for working with Grasshopper. Setting a number of good practices will help us to have clear files, that will allow an external person to understand what is done.<\/p>\n","protected":false},"author":2,"featured_media":27102,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[4],"tags":[418],"class_list":["post-3356","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guidelines","tag-technology-grasshopper"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Grasshopper best practices - Modelical<\/title>\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.modelical.com\/en\/best-practices-in-grasshopper\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Grasshopper best practices - Modelical\" \/>\n<meta property=\"og:description\" content=\"Tips for working with Grasshopper. Setting a number of good practices will help us to have clear files, that will allow an external person to understand what is done.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.modelical.com\/en\/best-practices-in-grasshopper\/\" \/>\n<meta property=\"og:site_name\" content=\"Modelical\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Modelical\/\" \/>\n<meta property=\"article:published_time\" content=\"2015-10-30T12:53:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-12T13:02:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/021-400x250-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"400\" \/>\n\t<meta property=\"og:image:height\" content=\"250\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Alberto Ramos\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@modelical\" \/>\n<meta name=\"twitter:site\" content=\"@modelical\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alberto Ramos\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.modelical.com\\\/en\\\/best-practices-in-grasshopper\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.modelical.com\\\/en\\\/best-practices-in-grasshopper\\\/\"},\"author\":{\"name\":\"Alberto Ramos\",\"@id\":\"https:\\\/\\\/www.modelical.com\\\/en\\\/#\\\/schema\\\/person\\\/2f0344005ef6a082ecf895c5359de5e1\"},\"headline\":\"Grasshopper best practices\",\"datePublished\":\"2015-10-30T12:53:35+00:00\",\"dateModified\":\"2024-07-12T13:02:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.modelical.com\\\/en\\\/best-practices-in-grasshopper\\\/\"},\"wordCount\":765,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.modelical.com\\\/en\\\/best-practices-in-grasshopper\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.modelical.com\\\/wp-content\\\/uploads\\\/2015\\\/10\\\/021-400x250-1.png\",\"keywords\":[\"Tec Grasshopper\"],\"articleSection\":[\"Guidelines\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.modelical.com\\\/en\\\/best-practices-in-grasshopper\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.modelical.com\\\/en\\\/best-practices-in-grasshopper\\\/\",\"url\":\"https:\\\/\\\/www.modelical.com\\\/en\\\/best-practices-in-grasshopper\\\/\",\"name\":\"Grasshopper best practices - Modelical\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.modelical.com\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.modelical.com\\\/en\\\/best-practices-in-grasshopper\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.modelical.com\\\/en\\\/best-practices-in-grasshopper\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.modelical.com\\\/wp-content\\\/uploads\\\/2015\\\/10\\\/021-400x250-1.png\",\"datePublished\":\"2015-10-30T12:53:35+00:00\",\"dateModified\":\"2024-07-12T13:02:47+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.modelical.com\\\/en\\\/#\\\/schema\\\/person\\\/2f0344005ef6a082ecf895c5359de5e1\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.modelical.com\\\/en\\\/best-practices-in-grasshopper\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.modelical.com\\\/en\\\/best-practices-in-grasshopper\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.modelical.com\\\/wp-content\\\/uploads\\\/2015\\\/10\\\/021-400x250-1.png\",\"contentUrl\":\"https:\\\/\\\/www.modelical.com\\\/wp-content\\\/uploads\\\/2015\\\/10\\\/021-400x250-1.png\",\"width\":400,\"height\":250},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.modelical.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.modelical.com\\\/en\\\/\",\"name\":\"Modelical\",\"description\":\"We build information\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.modelical.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.modelical.com\\\/en\\\/#\\\/schema\\\/person\\\/2f0344005ef6a082ecf895c5359de5e1\",\"name\":\"Alberto Ramos\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/af056ef31a42bf9ac399940d891b8b5d5ee09bdc4d82d4af53dcc22b3da3cd5b?s=96&d=initials&r=g&initials=al\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/af056ef31a42bf9ac399940d891b8b5d5ee09bdc4d82d4af53dcc22b3da3cd5b?s=96&d=initials&r=g&initials=al\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/af056ef31a42bf9ac399940d891b8b5d5ee09bdc4d82d4af53dcc22b3da3cd5b?s=96&d=initials&r=g&initials=al\",\"caption\":\"Alberto Ramos\"},\"sameAs\":[\"https:\\\/\\\/www.modelical.com\"],\"url\":\"https:\\\/\\\/www.modelical.com\\\/en\\\/author\\\/alberto\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Grasshopper best practices - Modelical","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.modelical.com\/en\/best-practices-in-grasshopper\/","og_locale":"en_US","og_type":"article","og_title":"Grasshopper best practices - Modelical","og_description":"Tips for working with Grasshopper. Setting a number of good practices will help us to have clear files, that will allow an external person to understand what is done.","og_url":"https:\/\/www.modelical.com\/en\/best-practices-in-grasshopper\/","og_site_name":"Modelical","article_publisher":"https:\/\/www.facebook.com\/Modelical\/","article_published_time":"2015-10-30T12:53:35+00:00","article_modified_time":"2024-07-12T13:02:47+00:00","og_image":[{"width":400,"height":250,"url":"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/021-400x250-1.png","type":"image\/png"}],"author":"Alberto Ramos","twitter_card":"summary_large_image","twitter_creator":"@modelical","twitter_site":"@modelical","twitter_misc":{"Written by":"Alberto Ramos","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.modelical.com\/en\/best-practices-in-grasshopper\/#article","isPartOf":{"@id":"https:\/\/www.modelical.com\/en\/best-practices-in-grasshopper\/"},"author":{"name":"Alberto Ramos","@id":"https:\/\/www.modelical.com\/en\/#\/schema\/person\/2f0344005ef6a082ecf895c5359de5e1"},"headline":"Grasshopper best practices","datePublished":"2015-10-30T12:53:35+00:00","dateModified":"2024-07-12T13:02:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.modelical.com\/en\/best-practices-in-grasshopper\/"},"wordCount":765,"commentCount":0,"image":{"@id":"https:\/\/www.modelical.com\/en\/best-practices-in-grasshopper\/#primaryimage"},"thumbnailUrl":"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/021-400x250-1.png","keywords":["Tec Grasshopper"],"articleSection":["Guidelines"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.modelical.com\/en\/best-practices-in-grasshopper\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.modelical.com\/en\/best-practices-in-grasshopper\/","url":"https:\/\/www.modelical.com\/en\/best-practices-in-grasshopper\/","name":"Grasshopper best practices - Modelical","isPartOf":{"@id":"https:\/\/www.modelical.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.modelical.com\/en\/best-practices-in-grasshopper\/#primaryimage"},"image":{"@id":"https:\/\/www.modelical.com\/en\/best-practices-in-grasshopper\/#primaryimage"},"thumbnailUrl":"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/021-400x250-1.png","datePublished":"2015-10-30T12:53:35+00:00","dateModified":"2024-07-12T13:02:47+00:00","author":{"@id":"https:\/\/www.modelical.com\/en\/#\/schema\/person\/2f0344005ef6a082ecf895c5359de5e1"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.modelical.com\/en\/best-practices-in-grasshopper\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.modelical.com\/en\/best-practices-in-grasshopper\/#primaryimage","url":"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/021-400x250-1.png","contentUrl":"https:\/\/www.modelical.com\/wp-content\/uploads\/2015\/10\/021-400x250-1.png","width":400,"height":250},{"@type":"WebSite","@id":"https:\/\/www.modelical.com\/en\/#website","url":"https:\/\/www.modelical.com\/en\/","name":"Modelical","description":"We build information","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.modelical.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.modelical.com\/en\/#\/schema\/person\/2f0344005ef6a082ecf895c5359de5e1","name":"Alberto Ramos","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/af056ef31a42bf9ac399940d891b8b5d5ee09bdc4d82d4af53dcc22b3da3cd5b?s=96&d=initials&r=g&initials=al","url":"https:\/\/secure.gravatar.com\/avatar\/af056ef31a42bf9ac399940d891b8b5d5ee09bdc4d82d4af53dcc22b3da3cd5b?s=96&d=initials&r=g&initials=al","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/af056ef31a42bf9ac399940d891b8b5d5ee09bdc4d82d4af53dcc22b3da3cd5b?s=96&d=initials&r=g&initials=al","caption":"Alberto Ramos"},"sameAs":["https:\/\/www.modelical.com"],"url":"https:\/\/www.modelical.com\/en\/author\/alberto\/"}]}},"_links":{"self":[{"href":"https:\/\/www.modelical.com\/en\/wp-json\/wp\/v2\/posts\/3356","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.modelical.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.modelical.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.modelical.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.modelical.com\/en\/wp-json\/wp\/v2\/comments?post=3356"}],"version-history":[{"count":0,"href":"https:\/\/www.modelical.com\/en\/wp-json\/wp\/v2\/posts\/3356\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.modelical.com\/en\/wp-json\/wp\/v2\/media\/27102"}],"wp:attachment":[{"href":"https:\/\/www.modelical.com\/en\/wp-json\/wp\/v2\/media?parent=3356"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.modelical.com\/en\/wp-json\/wp\/v2\/categories?post=3356"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.modelical.com\/en\/wp-json\/wp\/v2\/tags?post=3356"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}