{"id":43373,"date":"2024-06-28T09:00:03","date_gmt":"2024-06-28T07:00:03","guid":{"rendered":"https:\/\/www.hiberus.com\/crecemos-contigo\/?p=43373"},"modified":"2024-06-24T15:34:19","modified_gmt":"2024-06-24T13:34:19","slug":"visores-ifc-en-excel","status":"publish","type":"post","link":"https:\/\/www.hiberus.com\/crecemos-contigo\/visores-ifc-en-excel\/","title":{"rendered":"C\u00f3mo hacer visores IFC en Excel"},"content":{"rendered":"<p><span data-contrast=\"auto\">En el sector AECO (Architecture, Engineering, Construction &amp; Operations) siempre hemos tenido una herramienta maestra que ha puesto en com\u00fan a los m\u00e1s expertos y a los m\u00e1s n\u00f3veles. Raro es quien no la haya usado y, de ser as\u00ed, o esa persona sigue con el boli y papel o no ha llegado a la mayor\u00eda de edad. \u00bf<\/span><span data-contrast=\"auto\">De qu\u00e9 herramienta estamos hablando? De <strong>Excel<\/strong>. El programa por excelencia que todos usamos en mayor o menor medida.<\/span> <span data-contrast=\"auto\">Y, \u00bfqu\u00e9 pasa cuando descubrimos las bondades de la <strong>metodolog\u00eda BIM<\/strong> y nos sacuden miles de softwares nuevos que vamos introduciendo en nuestro d\u00eda a d\u00eda? Pues que Excel es de los pocos que resiste y que va a seguir acompa\u00f1\u00e1ndonos en nuestras aventuras laborales.<\/span> <span data-contrast=\"auto\">Lo que sucede es que muchas veces necesitamos varios softwares para hacer una tarea, lo cual puede llevar a la saturaci\u00f3n. Pero, \u00bfy si vitaminamos ese software que siempre nos ha acompa\u00f1ado para que sea capaz de albergar las funcionalidades de otros programas y as\u00ed no tener que estar cambiado de pantalla, comprando monitores XXL o dej\u00e1ndonos la vista?<\/span> <span data-contrast=\"auto\">Este art\u00edculo tiene como objetivo guiarte en la<strong> creaci\u00f3n de un complemento de Excel que te permita visualizar modelos IFC directamente en una hoja de c\u00e1lculo, utilizando la biblioteca IFC.js.<\/strong><\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2>Crea visores IFC en Excel paso a paso<\/h2>\n<p>Aprender c\u00f3mo crear visores IFC en un programa tan habitual y com\u00fan como Excel te ayudar\u00e1 a reducir la cantidad de software que necesitas para hacer tu trabajo.<\/p>\n<h3 aria-level=\"2\"><span data-contrast=\"none\">Paso 1: Crear la plantilla en Visual Studio<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Para comenzar, necesitamos crear un<strong> proyecto de complemento de Excel en Visual Studio<\/strong>. Sigue estos pasos:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li data-leveltext=\"%1.\" data-font=\"\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Aseg\u00farate que tienes<strong> instalado Visual Studio y su paquete de Office \u201cDesarrollo de Office y SharePoint\u201d<\/strong>.<\/span><\/li>\n<li data-leveltext=\"%1.\" data-font=\"\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\"><strong>Abrir Visual Studio<\/strong>: Inicia Visual Studio y selecciona \u00abCrear un nuevo proyecto\u00bb.<\/span><\/li>\n<li data-leveltext=\"%1.\" data-font=\"\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Seleccionar Plantilla<\/strong>: Busca la plantilla \u00abComplemento web de Excel\u00bb y selecci\u00f3nala.<\/li>\n<li data-leveltext=\"%1.\" data-font=\"\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong style=\"font-size: 17px;\">Configurar el Proyecto<\/strong><span style=\"font-size: 17px;\">: Dale un nombre a tu proyecto y selecciona la ubicaci\u00f3n donde deseas guardar la soluci\u00f3n.<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-43383\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img35-1024x543.jpg\" alt=\"plantilla en Visual Studio. visores IFC\" width=\"700\" height=\"371\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img35-1024x543.jpg 1024w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img35-300x159.jpg 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img35-768x407.jpg 768w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img35-360x191.jpg 360w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img35.jpg 1180w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/> <\/span><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-43382\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img36-1024x545.jpg\" alt=\"plantilla en Visual Studio\" width=\"700\" height=\"372\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img36-1024x545.jpg 1024w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img36-300x160.jpg 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img36-768x408.jpg 768w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img36-360x191.jpg 360w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img36.jpg 1179w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/> <span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3 aria-level=\"2\"><span data-contrast=\"none\">Paso 2: Limpiamos la plantilla<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-43400 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/giphy.gif\" alt=\"\" width=\"524\" height=\"276\" \/><\/p>\n<p><span data-contrast=\"auto\">Una vez <\/span><i><span data-contrast=\"auto\">ready <\/span><\/i><span data-contrast=\"auto\">nuestra plantilla, es momento de limpiar todos los archivos generados autom\u00e1ticamente, que buscan dar funcionalidad al ejemplo que trae consigo la plantilla (por cierto, si es la primera vez que creas un comando en Excel y experimentas con estos complementos, te recomendamos que antes de seguir les eches un vistazo <\/span><span data-contrast=\"auto\">\ud83d\ude09<\/span><span data-contrast=\"auto\">).<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p aria-level=\"3\"><span data-contrast=\"none\">Nos cargamos todos los archivos que no vamos a usar<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:259}\"> .<\/span><\/p>\n<p><span data-contrast=\"auto\">Podr\u00edamos hacer una buena limpieza, pero vamos a centrarnos en la <strong>carpeta de Scripts<\/strong> (sin entrar en subcarpetas) y vamos a<strong> borrar todos los ficheros \u201c*.js\u201d<\/strong>. Aqu\u00ed es donde vamos a generar la mayor parte del c\u00f3digo y es mejor no tener \u201cruido\u201d de por medio.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3 aria-level=\"2\"><span data-contrast=\"none\">Paso 3: Manos a la obra<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Ahora que tenemos todo bien configurado y sin archivos que no aportan, podemos empezar a <\/span><span data-contrast=\"auto\">copiar<\/span><span data-contrast=\"auto\"> c\u00f3digo (perd\u00f3n, picar c\u00f3digo).<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span> <span data-contrast=\"auto\">Lo primero que haremos ser\u00e1 ir a la fuente de sabidur\u00eda: el <strong>GitHub de That Open Company (TOC)<\/strong>.<\/span> <span data-contrast=\"auto\">All\u00ed bucearemos hasta encontrar dos archivos que ser\u00e1n la base de nuestro desarrollo:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li data-leveltext=\"%1.\" data-font=\"\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\"><strong>openBIM components (OBC)<\/strong>: Biblioteca que facilita la creaci\u00f3n y manipulaci\u00f3n de visualizaciones 3D de modelos en aplicaciones web. Es parte del ecosistema de herramientas de TOC.<\/span><\/li>\n<li data-leveltext=\"%1.\" data-font=\"\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Styles.css<\/strong>: Biblioteca de estilos para mostrar en nuestro visor seg\u00fan las configuraciones preestablecidas de TOC.<span style=\"font-size: 17px;\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p><span data-contrast=\"auto\">Ambos ficheros los podr\u00e9is encontrar f\u00e1cilmente en el buscador de su GitHub y descargarlos.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span> <span data-contrast=\"auto\">Una vez descargados, los a\u00f1adiremos a nuestra soluci\u00f3n de VS, ubicando:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"-\" data-font=\"Aptos\" data-listid=\"6\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>OBC.js en la carpeta de Scripts\u00a0<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"-\" data-font=\"Aptos\" data-listid=\"6\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><strong>Styles.css en la carpeta content\u00a0<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"> <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-43384\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img55.jpg\" alt=\"Styles.css en la carpeta content\u00a0\" width=\"700\" height=\"582\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img55.jpg 868w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img55-300x250.jpg 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img55-768x639.jpg 768w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img55-360x299.jpg 360w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span data-contrast=\"auto\">Ahora que tenemos los archivos que vamos a necesitar, es momento de editar <\/span><i><span data-contrast=\"auto\">home.html:<\/span><\/i><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>[code language=\u00bbcsharp\u00bb]<br \/>\n &lt;!DOCTYPE html&gt;<br \/>\n&lt;html&gt; <\/p>\n<p>&lt;head&gt;<br \/>\n    &lt;meta charset=&quot;UTF-8&quot; \/&gt;<br \/>\n    &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=Edge&quot; \/&gt;<br \/>\n    &lt;title&gt;Excel Add-In with Commands Sample&lt;\/title&gt;<br \/>\n    &lt;!&#8211; using CDN office.js &#8211;&gt;<br \/>\n    &lt;img src=&quot;data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&quot; data-wp-preserve=&quot;%3Cscript%20src%3D%22https%3A%2F%2Fappsforoffice.microsoft.com%2Flib%2F1%2Fhosted%2Foffice.js%22%20type%3D%22text%2Fjavascript%22%3E%3C%2Fscript%3E&quot; data-mce-resize=&quot;false&quot; data-mce-placeholder=&quot;1&quot; class=&quot;mce-object&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;&amp;lt;script&amp;gt;&quot; title=&quot;&amp;lt;script&amp;gt;&quot; \/&gt; <\/p>\n<p>    &lt;!&#8211; To enable offline debugging using a local reference to Office.js, use:  &#8211;&gt;<br \/>\n    &lt;!&#8211; &lt;img src=&quot;data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&quot; data-wp-preserve=&quot;%3Cscript%20src%3D%22Scripts%2FOffice%2FMicrosoftAjax.js%22%20type%3D%22text%2Fjavascript%22%3E%3C%2Fscript%3E&quot; data-mce-resize=&quot;false&quot; data-mce-placeholder=&quot;1&quot; class=&quot;mce-object&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;&amp;lt;script&amp;gt;&quot; title=&quot;&amp;lt;script&amp;gt;&quot; \/&gt;  &#8211;&gt;<br \/>\n    &lt;!&#8211; &lt;img src=&quot;data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&quot; data-wp-preserve=&quot;%3Cscript%20src%3D%22Scripts%2FOffice%2F1%2Foffice.js%22%20type%3D%22text%2Fjavascript%22%3E%3C%2Fscript%3E&quot; data-mce-resize=&quot;false&quot; data-mce-placeholder=&quot;1&quot; class=&quot;mce-object&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;&amp;lt;script&amp;gt;&quot; title=&quot;&amp;lt;script&amp;gt;&quot; \/&gt;  &#8211;&gt; <\/p>\n<p>    &lt;link href=&quot;Home.css&quot; rel=&quot;stylesheet&quot; type=&quot;text\/css&quot; \/&gt;<br \/>\n    &lt;link href=&quot;.\/Content\/styles.css&quot; rel=&quot;stylesheet&quot; type=&quot;text\/css&quot; \/&gt;<br \/>\n    &lt;link rel=&quot;stylesheet&quot; href=&quot;https:\/\/fonts.googleapis.com\/icon?family=Material+Icons&quot;&gt; <\/p>\n<p>    &lt;!&#8211; For Office UI Fabric Core, go to https:\/\/aka.ms\/office-ui-fabric to learn more. &#8211;&gt;<br \/>\n    &lt;link rel=&quot;stylesheet&quot;<br \/>\n          href=&quot;https:\/\/static2.sharepointonline.com\/files\/fabric\/office-ui-fabric-core\/9.6.0\/css\/fabric.min.css&quot;&gt; <\/p>\n<p>    &lt;!&#8211; To enable the offline use of Office UI Fabric Core, use: &#8211;&gt;<br \/>\n    &lt;!&#8211; link rel=&quot;stylesheet&quot; href=&quot;Content\/fabric.min.css&quot; &#8211;&gt;<br \/>\n&lt;\/head&gt; <\/p>\n<p>&lt;!&#8211; Office UI Fabric JS and it&#039;s components are no longer actively supported. Please see https:\/\/aka.ms\/PnP-OfficeFabricReact for recommended Patterns and Practices &#8211;&gt;<br \/>\n&lt;!&#8211; &lt;link rel=&quot;stylesheet&quot; href=&quot;https:\/\/appsforoffice.microsoft.com\/fabric\/2.1.0\/fabric.components.min.css&quot;&gt; &#8211;&gt; <\/p>\n<p>&lt;body&gt;<br \/>\n    &lt;div class=&quot;full-screen&quot; id=&quot;container&quot;&gt;&lt;\/div&gt; <\/p>\n<p>    &lt;img src=&quot;data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7&quot; data-wp-preserve=&quot;%3Cscript%20src%3D%22Home.js%22%20type%3D%22module%22%3E%3C%2Fscript%3E&quot; data-mce-resize=&quot;false&quot; data-mce-placeholder=&quot;1&quot; class=&quot;mce-object&quot; width=&quot;20&quot; height=&quot;20&quot; alt=&quot;&amp;lt;script&amp;gt;&quot; title=&quot;&amp;lt;script&amp;gt;&quot; \/&gt;<br \/>\n&lt;\/body&gt; <\/p>\n<p>&lt;\/html&gt;<br \/>\n[\/code]<\/p>\n<p><span data-contrast=\"auto\">B\u00e1sicamente lo que hemos hecho es limpiar lo que nos ven\u00eda de la plantilla, agregar los estilos css del fichero que hemos a\u00f1adido y cambiar el <em>body<\/em>.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3 aria-level=\"2\"><span data-contrast=\"none\">Paso 4: Crear los archivo base.js y loadViewer.js<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Estos dos archivos ser\u00e1n la base de nuestro visor de modelos IFC.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><span data-contrast=\"auto\">Archivo<\/span><b><span data-contrast=\"auto\"> base.js<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">Este archivo se encargar\u00e1 de importar las bibliotecas necesarias y exportarlas para su uso en otros scripts:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p>[code language=\u00bbcsharp\u00bb]<br \/>\nimport * as THREE from &quot;https:\/\/unpkg.com\/three@0.152.2\/build\/three.module.js&quot;;<br \/>\nimport * as OBC from &quot;.\/OBC.js&quot;; <\/p>\n<p>export { THREE, OBC };<br \/>\n[\/code]<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><span data-contrast=\"auto\">Archivo <\/span><b><span data-contrast=\"auto\">loadViewer.js<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">Este archivo contiene la l\u00f3gica para inicializar y gestionar el visor de modelos IFC en Excel. Vamos a dividirlo en partes para explicarlo paso a paso.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3 aria-level=\"3\"><\/h3>\n<h4 aria-level=\"3\"><span data-contrast=\"none\">Fragmento 1: Importaciones y configuraci\u00f3n inicial<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h4>\n<p><span data-contrast=\"auto\">Primero, importamos las bibliotecas necesarias y configuramos la inicializaci\u00f3n del visor.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>[code language=\u00bbcsharp\u00bb]<br \/>\nimport { OBC, THREE } from &quot;.\/base.js&quot;;<br \/>\nimport * as pako from &#039;https:\/\/esm.run\/pako&#039;; <\/p>\n<p>console.log(&quot;IFC Viewer is being initialized&#8230;&quot;);<br \/>\n[\/code]<\/p>\n<p><b><span data-contrast=\"auto\">Impo<\/span><\/b><b><span data-contrast=\"auto\">rtaciones:<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"-\" data-font=\"Aptos\" data-listid=\"7\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">OBC y THREE se importan desde el archivo base.js. OBC es la biblioteca de componentes OpenBIM, mientras que THREE es la biblioteca Three.js utilizada para renderizar gr\u00e1ficos 3D.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"-\" data-font=\"Aptos\" data-listid=\"7\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">pako es una biblioteca que se utiliza para descomprimir archivos comprimidos, importada desde un CDN.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><b><span data-contrast=\"auto\">Registro en Consola:<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"-\" data-font=\"Aptos\" data-listid=\"8\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\"><strong>console.log(\u00abIFC Viewer is being initialized&#8230;\u00bb)<\/strong>: Imprime un mensaje en la consola indicando que el visor IFC est\u00e1 siendo inicializado.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h4 aria-level=\"3\"><span data-contrast=\"none\">Fragmento 2: Funci\u00f3n de Inicializaci\u00f3n<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h4>\n<p>[code language=\u00bbcsharp\u00bb]<br \/>\nexport const initialize = () =&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; {<br \/>\n    const container = document.getElementById(&quot;container&quot;);<br \/>\n    if (!container) {<br \/>\n        console.error(&quot;Container not found!&quot;);<br \/>\n        return;<br \/>\n    } <\/p>\n<p>    const components = new OBC.Components();<br \/>\n    components.scene = new OBC.SimpleScene(components);<br \/>\n    components.renderer = new OBC.PostproductionRenderer(components, container);<br \/>\n    components.camera = new OBC.SimpleCamera(components);<br \/>\n    components.raycaster = new OBC.SimpleRaycaster(components); <\/p>\n<p>    components.init();<br \/>\n    components.renderer.postproduction.enabled = true;<br \/>\n[\/code]<\/p>\n<p><b><\/b><b><span data-contrast=\"auto\">Funci\u00f3n initialize:<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li><span data-contrast=\"auto\"><strong>Contenedor<\/strong><\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">const container = document.getElementById(\u00abcontainer\u00bb); obtiene el elemento HTML con el ID container donde se renderizar\u00e1 el visor.<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\">Si el contenedor no se encuentra, se imprime un error en la consola y se termina la ejecuci\u00f3n de la funci\u00f3n.<span style=\"font-size: 17px;\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<li><span data-contrast=\"auto\"><strong>Inicializaci\u00f3n de Componentes.<\/strong><\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><span data-contrast=\"auto\">Se crean e inicializan varios componentes del visor:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span>\n<ul>\n<li><span data-contrast=\"auto\"><strong>components.scene<\/strong>: Escena principal donde se agregar\u00e1n los objetos 3D.<\/span><\/li>\n<li><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"><strong>components.renderer<\/strong>: Renderizador con capacidades de postproducci\u00f3n. <\/span><\/li>\n<li><span data-contrast=\"auto\"><strong>components.camera<\/strong>: C\u00e1mara para la visualizaci\u00f3n de la escena.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"auto\"><strong>components.raycaster<\/strong>: Utilizado para la detecci\u00f3n de objetos en la escena mediante rayos.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"auto\"><strong>components.init():<\/strong>\u00a0Inicializa todos los componentes.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"auto\"><strong>components.renderer.postproduction.enabled = true:<\/strong>\u00a0Habilita los efectos de postproducci\u00f3n en el renderizador.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h4 aria-level=\"3\"><span data-contrast=\"none\">Fragmento 3: Configuraci\u00f3n de la Escena<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h4>\n<p>[code language=\u00bbcsharp\u00bb]<br \/>\nconst scene = components.scene.get();<br \/>\n    components.camera.controls.setLookAt(10, 10, 10, 0, 0, 0); <\/p>\n<p>    const directionalLight = new THREE.DirectionalLight();<br \/>\n    directionalLight.position.set(5, 10, 3);<br \/>\n    directionalLight.intensity = 0.5;<br \/>\n    scene.add(directionalLight); <\/p>\n<p>    const ambientLight = new THREE.AmbientLight();<br \/>\n    ambientLight.intensity = 0.5;<br \/>\n    scene.add(ambientLight);<br \/>\n[\/code]<\/p>\n<p>&nbsp;<\/p>\n<p><b><span data-contrast=\"auto\">Configuraci\u00f3n de la Escena:<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"10\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\"><strong>const scene = components.scene.get()<\/strong>: Obtiene la escena configurada por OBC.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"10\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\"><strong>Controles de C\u00e1mara<\/strong>:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><span style=\"font-size: 15px;\" data-contrast=\"auto\"><strong>Components.camera.controls.setLookAt(10, 10, 10, 0, 0, 0)<\/strong>: Ajusta la c\u00e1mara para mirar desde (10, 10, 10) hacia el origen (0, 0, 0)<\/span><span style=\"font-size: 15px;\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"10\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\"><strong>Iluminaci\u00f3n<\/strong>:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><span style=\"font-size: 15px;\" data-contrast=\"auto\">Se a\u00f1ade una luz direccional (<strong>THREE.DirectionalLigh<\/strong>t) y una luz ambiental (<strong>THREE.AmbientLight<\/strong>) a la escena, configurando sus posiciones e intensidades.<\/span><span style=\"font-size: 15px;\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4 aria-level=\"3\"><span data-contrast=\"none\">Fragmento 4: Malla<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h4>\n<p>[code language=\u00bbcsharp\u00bb]<br \/>\nconst grid = new OBC.SimpleGrid(components, new THREE.Color(0x666666));<br \/>\n    components.tools.add(&quot;grid&quot;, grid);<br \/>\n    const gridMesh = grid.get();<br \/>\n[\/code]<\/p>\n<p><b><span data-contrast=\"auto\">Cuadr\u00edcula:<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><span data-contrast=\"auto\"><strong>const grid = new OBC.SimpleGrid(components, new THREE.Color(0x666666))<\/strong>: Crea una cuadr\u00edcula simple de color gris.<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"11\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\"><strong>components.tools.add(\u00abgrid\u00bb, grid)<\/strong>: A\u00f1ade la cuadr\u00edcula a las herramientas del visor.<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"11\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\"><strong>const gridMesh = grid.get()<\/strong>: Obtiene la malla de la cuadr\u00edcula.<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h4 aria-level=\"3\"><span data-contrast=\"none\">Fragmento 5: Barra de Herramientas y Bot\u00f3n de Carga<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h4>\n<p>[code language=\u00bbcsharp\u00bb]<br \/>\nconst toolbar = new OBC.Toolbar(components);<br \/>\n    components.ui.addToolbar(toolbar); <\/p>\n<p>    const loadButton = new OBC.Button(components);<br \/>\n    loadButton.materialIcon = &quot;download&quot;;<br \/>\n    loadButton.tooltip = &quot;Load model&quot;;<br \/>\n    toolbar.addChild(loadButton);<br \/>\n    loadButton.onClick.add(() =&amp;amp;amp;gt; loadModel());<br \/>\n[\/code]<\/p>\n<p><b><span data-contrast=\"auto\">Barra de Herramientas:<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"13\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\"><strong>const toolbar = new OBC.Toolbar(components)<\/strong>: Crea una barra de herramientas.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"13\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\"><strong>components.ui.addToolbar(toolbar)<\/strong>: A\u00f1ade la barra de herramientas a la interfaz de usuario.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><b><span data-contrast=\"auto\">Bot\u00f3n de Carga:<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"12\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\"><strong>const loadButton = new OBC.Button(components)<\/strong>: Crea un bot\u00f3n de carga.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"12\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\"><strong>loadButton.materialIcon = \u00abdownload\u00bb<\/strong>: Asigna un icono de descarga al bot\u00f3n.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"12\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"5\" data-aria-level=\"1\"><span data-contrast=\"auto\"><strong>loadButton.tooltip = \u00abLoad model\u00bb<\/strong>: Establece una descripci\u00f3n emergente para el bot\u00f3n.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"12\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"6\" data-aria-level=\"1\"><span data-contrast=\"auto\"><strong>toolbar.addChild(loadButton)<\/strong>: A\u00f1ade el bot\u00f3n a la barra de herramientas.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"12\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"7\" data-aria-level=\"1\"><span data-contrast=\"auto\"><strong>loadButton.onClick.add(() =&gt; loadModel())<\/strong>: A\u00f1ade un evento al bot\u00f3n para cargar el modelo cuando se hace clic.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3 aria-level=\"2\"><span data-contrast=\"none\">Paso 5: \u00a1Compilemos!<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Ya solo queda lo mas f\u00e1cil (siempre y cuando hayas seguido bien los pasos). Compilamos y ejecutamos nuestro complemento. Se nos abrir\u00e1 Excel con el visor y el bot\u00f3n para cargar el modelo IFC.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-43385\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img78-1024x544.jpg\" alt=\"visor IFC\" width=\"700\" height=\"372\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img78-1024x544.jpg 1024w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img78-300x159.jpg 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img78-768x408.jpg 768w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img78-360x191.jpg 360w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2024\/06\/img78.jpg 1300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n<h2 aria-level=\"1\"><\/h2>\n<p>&nbsp;<\/p>\n<h2 aria-level=\"1\"><\/h2>\n<p><span data-contrast=\"auto\">Como puedes ver, con la ayuda de las librer\u00edas de That Open Company, un poco de c\u00f3digo en JavaScript y la creaci\u00f3n de un complemento en Excel, hemos sido capaces de introducir <strong>visores IFC<\/strong> en nuestro documento. Esto es solo el comienzo. Con este desarrollo como base, \u00bfqu\u00e9 ideas te vienen a la cabeza? A nosotros se nos han ocurrido ya varias:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"-\" data-font=\"Aptos\" data-listid=\"8\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"8\" data-aria-level=\"1\"><span data-contrast=\"auto\">Volcar todos los datos del IFC en las celdas del Excel y tener una fila por cada ifcElement, permitiendo seleccionar los elementos en el visor y que sean remarcados en las filas del Excel.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"-\" data-font=\"Aptos\" data-listid=\"8\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"9\" data-aria-level=\"1\"><span data-contrast=\"auto\">Llevar un control de lo ejecutado en obra de forma mucho m\u00e1s visual.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li data-leveltext=\"-\" data-font=\"Aptos\" data-listid=\"8\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"10\" data-aria-level=\"1\"><span data-contrast=\"auto\">Generar tablas din\u00e1micas y gr\u00e1ficos basados en los datos del proyecto.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span data-contrast=\"auto\">\u00bfTe ha gustado o te has quedado con ganas de m\u00e1s? En <a href=\"https:\/\/www.hiberus.com\/\" target=\"_blank\" rel=\"noopener\">hiberus<\/a> podemos darle forma a tus ideas y crear herramientas muy potentes que te ayuden a ser m\u00e1s productivo en tus flujos de trabajo<\/span>.         <div class=\"row\">\n            <div class=\"block-cta-form\" style=\"background-color: #003664;\">\n                <div class=\"content-cta-form\">\n                    <div class=\"text-cta-form\">\n                        <p class=\"title-cta-form\">\u00bfQuieres m\u00e1s informaci\u00f3n sobre c\u00f3mo gestionar los datos en el sector AECO?<\/p>\n                        <p>Contacta con nuestro equipo de BIM<\/p>\n                    <\/div>\n                    <div class=\"form-fields\">\n                        \n<div class=\"wpcf7 no-js\" id=\"wpcf7-f33973-o1\" lang=\"es-ES\" dir=\"ltr\" data-wpcf7-id=\"33973\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/43373#wpcf7-f33973-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formulario de contacto\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"33973\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"es_ES\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f33973-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/><input type=\"hidden\" name=\"_wpcf7_recaptcha_response\" value=\"\" \/>\n<\/fieldset>\n<div id=\"responsive-form\" class=\"clearfix\">\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"nombre\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Nombre *\" value=\"\" type=\"text\" name=\"nombre\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"apellido\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Apellido *\" value=\"\" type=\"text\" name=\"apellido\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"correo\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Correo corporativo *\" value=\"\" type=\"email\" name=\"correo\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"telf-contacto\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Tel\u00e9fono *\" value=\"\" type=\"tel\" name=\"telf-contacto\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"compania\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Compa\u00f1ia *\" value=\"\" type=\"text\" name=\"compania\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"mensaje\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Mensaje *\" name=\"mensaje\"><\/textarea><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full color-acceptance\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"politica\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"politica\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">He le\u00eddo y acepto la <a href=\"https:\/\/www.hiberus.com\/politica\" target=\"_blank\"><u>Pol\u00edtica de privacidad<\/u><\/a><\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full color-acceptance\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"marketing\"><span class=\"wpcf7-form-control wpcf7-acceptance optional\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"marketing\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">Me gustar\u00eda recibir comunicaciones de marketing de Hiberus y sobre sus productos, servicios y eventos.<\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Contacta con nosotros\" \/>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div id=\"campos_ocultos\" class=\"hidden\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new1\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new1\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new1\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new2\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new2\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new2\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new3\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new3\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new3\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new4\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new4\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new4\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new_p\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new_p\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new_p\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n<!--end responsive-form--><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n        <\/p>\n<pre><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>En el sector AECO (Architecture, Engineering, Construction &amp; Operations) siempre hemos tenido una herramienta maestra que ha puesto en com\u00fan a los&#8230;<\/p>\n","protected":false},"author":390,"featured_media":43428,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_ayudawp_aiss_exclude":false,"footnotes":""},"categories":[169],"tags":[209,74],"class_list":{"0":"post-43373","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-industria","8":"tag-bim","9":"tag-software-de-construccion"},"acf":[],"_links":{"self":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/43373","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/users\/390"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/comments?post=43373"}],"version-history":[{"count":20,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/43373\/revisions"}],"predecessor-version":[{"id":43431,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/43373\/revisions\/43431"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/media\/43428"}],"wp:attachment":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/media?parent=43373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/categories?post=43373"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/tags?post=43373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}