{"id":31094,"date":"2026-10-18T02:21:40","date_gmt":"2026-10-18T00:21:40","guid":{"rendered":"https:\/\/starmodul.com\/?page_id=31094"},"modified":"2026-11-07T14:44:53","modified_gmt":"2026-11-07T13:44:53","slug":"projectes-3d","status":"publish","type":"page","link":"https:\/\/starmodul.com\/ca\/projectes-3d\/","title":{"rendered":"Projectes en 3D"},"content":{"rendered":"<div class=\"product\"><div class=\"product\">\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"31094\" class=\"elementor elementor-31094 elementor-31093 elementor-bc-flex-widget\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bc6b97e e-con-full sm-dh-wrap smd-dh e-flex e-con e-parent\" data-id=\"bc6b97e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d27116d3 elementor-widget elementor-widget-html\" data-id=\"d27116d3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section class=\"sm-dh\"><div class=\"sm-dh__media\"><img fetchpriority=\"high\" src=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-ipe-atornillada-terminada-puente-grua-torre-serona-18-1250x938.webp\" srcset=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-ipe-atornillada-terminada-puente-grua-torre-serona-18-300x225.webp 300w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-ipe-atornillada-terminada-puente-grua-torre-serona-18-600x450.webp 600w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-ipe-atornillada-terminada-puente-grua-torre-serona-18-768x576.webp 768w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-ipe-atornillada-terminada-puente-grua-torre-serona-18-1250x938.webp 1250w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-ipe-atornillada-terminada-puente-grua-torre-serona-18-1536x1152.webp 1536w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-ipe-atornillada-terminada-puente-grua-torre-serona-18.webp 1600w\" sizes=\"(max-width: 767px) 100vw, 60vw\" width=\"1250\" height=\"938\" alt=\"Interior de nau IPE acabada amb pont grua a Torre-serona (Lleida)\" fetchpriority=\"high\" decoding=\"async\" data-no-lazy=\"1\" class=\"skip-lazy\" title=\"\"><\/div><div class=\"sm-dh__shade\"><\/div><div class=\"sm-dh__in\"><div class=\"sm-dh__txt smr\"><p class=\"eb\">Projectes reals en 3D<\/p><h1>Naus i estructures met\u00e0l\u00b7liques <span style=\"color:#F39200;\">en 3D<\/span><\/h1><p class=\"sm-dh__p\">Gira, apropa i desmunta projectes reals de StarModul. Pots amagar els panells per veure l'estructura i les unions cargolades, a\u00efllar una pe\u00e7a, mesurar dist\u00e0ncies o tallar el model per plantes.<\/p><div class=\"btns\"><a class=\"sm-btn sm-btn--pri\" href=\"https:\/\/starmodul.com\/ca\/configurador-3d-estructura-metallica\/\">Dissenya la teva estructura 3D<\/a><a class=\"sm-btn sm-btn--sec\" href=\"https:\/\/starmodul.com\/ca\/contacte\/\">Demana pressupost<\/a><\/div><\/div><\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-bde5436 smd-al elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"bde5436\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-extended\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c1ff424\" data-id=\"c1ff424\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d0be0fcc elementor-widget elementor-widget-text-editor\" data-id=\"d0be0fcc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div style=\"display:flex;flex-wrap:wrap;gap:10px\"><span style=\"display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px rgba(13,33,72,.12);color:#0D2148;font-size:14px;font-weight:600;\"><span style=\"width:7px;height:7px;border-radius:50%;background:#F39200;\"><\/span><b style=\"font-variant-numeric:tabular-nums;\">32<\/b> models<\/span><span style=\"display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px rgba(13,33,72,.12);color:#0D2148;font-size:14px;font-weight:600;\"><span style=\"width:7px;height:7px;border-radius:50%;background:#F39200;\"><\/span>Unions cargolades<\/span><span style=\"display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px rgba(13,33,72,.12);color:#0D2148;font-size:14px;font-weight:600;\"><span style=\"width:7px;height:7px;border-radius:50%;background:#F39200;\"><\/span>Sense soldadures a l&#8217;obra<\/span><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-87397ee elementor-widget elementor-widget-html\" data-id=\"87397ee\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"sm3f\"><script>window.SM3D_MODELS=[{\"s\":\"nave-torreserona\",\"t\":\"Nau industrial de 830\u00a0m\u00b2 \u00b7 Torreserona (Lleida)\",\"m\":\"Planta 16,6 \u00d7 49,5\u00a0m \u00b7 al\u00e7ada 7,1\u00a0m\",\"d\":\"P\u00f2rtics d'acer galvanitzat cargolats. Model sense tancaments.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-torreserona.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-torreserona-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-torreserona-3d-estructura.jpg\",\"a\":\"Nau industrial de 830\u00a0m\u00b2 \u00b7 Torreserona (Lleida)\",\"k\":\"nave\"},{\"s\":\"nave-jerez-dos-aguas\",\"t\":\"Nau industrial de 440\u00a0m\u00b2 \u00b7 Jerez de la Frontera (C\u00e1diz)\",\"m\":\"Planta 12,4 \u00d7 35,3\u00a0m \u00b7 al\u00e7ada 5,3\u00a0m\",\"d\":\"P\u00f2rtics d'acer galvanitzat cargolats. Coberta a dues aig\u00fces i fa\u00e7anes de panell sandvitx.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-jerez-dos-aguas.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-jerez-dos-aguas-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-jerez-dos-aguas-estructura-3d.jpg\",\"a\":\"Nau industrial de 440\u00a0m\u00b2 \u00b7 Jerez de la Frontera (C\u00e1diz)\",\"k\":\"nave\"},{\"s\":\"nave-jerez-cubierta-plana\",\"t\":\"Nau industrial de 270\u00a0m\u00b2 \u00b7 Jerez de la Frontera (C\u00e1diz)\",\"m\":\"Planta 10,4 \u00d7 25,4\u00a0m \u00b7 al\u00e7ada 3,7\u00a0m\",\"d\":\"P\u00f2rtics d'acer galvanitzat cargolats. Coberta i fa\u00e7anes de panell sandvitx.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-jerez-cubierta-plana.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-jerez-cubierta-plana-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-jerez-cubierta-plana-estructura-3d.jpg\",\"a\":\"Nau industrial de 270\u00a0m\u00b2 \u00b7 Jerez de la Frontera (C\u00e1diz)\",\"k\":\"nave\"},{\"s\":\"aulas-cardoner\",\"t\":\"Aules modulars de 290\u00a0m\u00b2 \u00b7 Cardoner (Barcelona)\",\"m\":\"Planta 13,9 \u00d7 21\u00a0m \u00b7 al\u00e7ada 3,8\u00a0m\",\"d\":\"Estructura d'acer galvanitzat cargolada de una planta. Coberta plana de panell sandvitx.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/aulas-cardoner.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/aulas-cardoner-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/aulas-cardoner-3d-estructura.jpg\",\"a\":\"Aules modulars de 290\u00a0m\u00b2 \u00b7 Cardoner (Barcelona)\",\"k\":\"edif\"},{\"s\":\"estructura-edificio-b166\",\"t\":\"Estructura met\u00e0l\u00b7lica de 510\u00a0m\u00b2\",\"m\":\"Planta 16,3 \u00d7 30,6\u00a0m \u00b7 al\u00e7ada 6,9\u00a0m\",\"d\":\"Estructura d'acer galvanitzat cargolada de una planta. Model sense tancaments.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-edificio-b166.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-edificio-b166-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-edificio-b166-3d-estructura.jpg\",\"a\":\"Estructura met\u00e0l\u00b7lica de 510\u00a0m\u00b2\",\"k\":\"est\"},{\"s\":\"modulo-montcada\",\"t\":\"M\u00f2dul d'estructura met\u00e0l\u00b7lica de 40\u00a0m\u00b2 \u00b7 Montcada i Reixac (Barcelona)\",\"m\":\"Planta 5 \u00d7 7,4\u00a0m \u00b7 al\u00e7ada 3,5\u00a0m\",\"d\":\"Estructura d'acer galvanitzat cargolada de una planta. Model sense tancaments.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/modulo-montcada.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/modulo-montcada-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/modulo-montcada-3d-estructura.jpg\",\"a\":\"M\u00f2dul d'estructura met\u00e0l\u00b7lica de 40\u00a0m\u00b2 \u00b7 Montcada i Reixac (Barcelona)\",\"k\":\"edif\"},{\"s\":\"edificio-tenerife\",\"t\":\"Edifici d'estructura met\u00e0l\u00b7lica de 240\u00a0m\u00b2 \u00b7 Tenerife\",\"m\":\"Planta 7,3 \u00d7 32,3\u00a0m \u00b7 al\u00e7ada 6,6\u00a0m\",\"d\":\"Estructura d'acer galvanitzat cargolada de una planta. Coberta plana i fa\u00e7anes de panell sandvitx.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-tenerife.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-tenerife-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-tenerife-3d-estructura.jpg\",\"a\":\"Edifici d'estructura met\u00e0l\u00b7lica de 240\u00a0m\u00b2 \u00b7 Tenerife\",\"k\":\"edif\"},{\"s\":\"nave-terrassa\",\"t\":\"Nau industrial de 510\u00a0m\u00b2 \u00b7 Terrassa (Barcelona)\",\"m\":\"Planta 17,2 \u00d7 29,7\u00a0m \u00b7 al\u00e7ada 5,8\u00a0m\",\"d\":\"P\u00f2rtics d'acer galvanitzat cargolats. Model sense tancaments.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-terrassa.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-terrassa-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-terrassa-3d-estructura.jpg\",\"a\":\"Nau industrial de 510\u00a0m\u00b2 \u00b7 Terrassa (Barcelona)\",\"k\":\"nave\"},{\"s\":\"edificio-canarias\",\"t\":\"Edifici d'estructura met\u00e0l\u00b7lica de 390\u00a0m\u00b2 \u00b7 Can\u00e0ries\",\"m\":\"Planta 20,3 \u00d7 25,1\u00a0m \u00b7 al\u00e7ada 6,4\u00a0m\",\"d\":\"Estructura d'acer galvanitzat cargolada de una planta. Coberta plana i fa\u00e7anes de panell sandvitx.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-canarias.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-canarias-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-canarias-3d-estructura.jpg\",\"a\":\"Edifici d'estructura met\u00e0l\u00b7lica de 390\u00a0m\u00b2 \u00b7 Can\u00e0ries\",\"k\":\"edif\"},{\"s\":\"oficinas-copa-america\",\"t\":\"Oficines modulars de 130\u00a0m\u00b2 \u00b7 Barcelona\",\"m\":\"Planta 5,2 \u00d7 24,1\u00a0m \u00b7 al\u00e7ada 3,5\u00a0m\",\"d\":\"Estructura d'acer galvanitzat cargolada de una planta. Coberta plana i fa\u00e7anes de panell sandvitx.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/oficinas-copa-america.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/oficinas-copa-america-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/oficinas-copa-america-3d-estructura.jpg\",\"a\":\"Oficines modulars de 130\u00a0m\u00b2 \u00b7 Barcelona\",\"k\":\"edif\"},{\"s\":\"edificio-santa-cruz\",\"t\":\"Edifici d'estructura met\u00e0l\u00b7lica de 820\u00a0m\u00b2 \u00b7 Santa Cruz de Tenerife\",\"m\":\"Planta 21,4 \u00d7 38,2\u00a0m \u00b7 al\u00e7ada 5,4\u00a0m\",\"d\":\"Estructura d'acer galvanitzat cargolada de una planta. Coberta plana i fa\u00e7anes de panell sandvitx.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-santa-cruz.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-santa-cruz-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-santa-cruz-3d-estructura.jpg\",\"a\":\"Edifici d'estructura met\u00e0l\u00b7lica de 820\u00a0m\u00b2 \u00b7 Santa Cruz de Tenerife\",\"k\":\"edif\"},{\"s\":\"nave-dos-aguas\",\"t\":\"Nau industrial de 330\u00a0m\u00b2\",\"m\":\"Planta 10,5 \u00d7 30,2\u00a0m \u00b7 al\u00e7ada 6,5\u00a0m\",\"d\":\"P\u00f2rtics d'acer galvanitzat cargolats. Coberta a dues aig\u00fces i fa\u00e7anes de panell sandvitx.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-dos-aguas.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-dos-aguas-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-dos-aguas-3d-estructura.jpg\",\"a\":\"Nau industrial de 330\u00a0m\u00b2\",\"k\":\"nave\"},{\"s\":\"nave-gava\",\"t\":\"Nau industrial de 290\u00a0m\u00b2 \u00b7 Gav\u00e0 (Barcelona)\",\"m\":\"Planta 7,6 \u00d7 12,6\u00a0m \u00b7 al\u00e7ada 11,8\u00a0m \u00b7 3 plantes\",\"d\":\"P\u00f2rtics d'acer galvanitzat cargolats, en tres plantes. Coberta i fa\u00e7anes de panell sandvitx.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-gava.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-gava-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-gava-3d-estructura.jpg\",\"a\":\"Nau industrial de 290\u00a0m\u00b2 \u00b7 Gav\u00e0 (Barcelona)\",\"k\":\"nave\"},{\"s\":\"porche-terrassa\",\"t\":\"Porxo met\u00e0l\u00b7lic de 160\u00a0m\u00b2 \u00b7 Terrassa (Barcelona)\",\"m\":\"Planta 7,3 \u00d7 21,4\u00a0m \u00b7 al\u00e7ada 4,3\u00a0m\",\"d\":\"Pilars i bigues d'acer galvanitzat cargolats. Coberta a una aigua de panell sandvitx.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/porche-terrassa.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/porche-terrassa-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/porche-terrassa-3d-estructura.jpg\",\"a\":\"Porxo met\u00e0l\u00b7lic de 160\u00a0m\u00b2 \u00b7 Terrassa (Barcelona)\",\"k\":\"porche\"},{\"s\":\"nave-mollerussa\",\"t\":\"Nau industrial de 610\u00a0m\u00b2 \u00b7 Mollerussa (Lleida)\",\"m\":\"Planta 30,5 \u00d7 46,2\u00a0m \u00b7 al\u00e7ada 7\u00a0m\",\"d\":\"P\u00f2rtics d'acer galvanitzat cargolats. Coberta i fa\u00e7anes de panell sandvitx.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-mollerussa.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-mollerussa-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-mollerussa-3d-estructura.jpg\",\"a\":\"Nau industrial de 610\u00a0m\u00b2 \u00b7 Mollerussa (Lleida)\",\"k\":\"nave\"},{\"s\":\"nave-gabon\",\"t\":\"Nau industrial de 1.050\u00a0m\u00b2 \u00b7 Gabon\",\"m\":\"Planta 30,9 \u00d7 31,3\u00a0m \u00b7 al\u00e7ada 10,3\u00a0m \u00b7 2 plantes\",\"d\":\"P\u00f2rtics d'acer galvanitzat cargolats, en dues plantes. Coberta i fa\u00e7anes de panell sandvitx.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-gabon.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-gabon-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-gabon-3d-estructura.jpg\",\"a\":\"Nau industrial de 1.050\u00a0m\u00b2 \u00b7 Gabon\",\"k\":\"nave\"},{\"s\":\"porche-bellots\",\"t\":\"Porxo met\u00e0l\u00b7lic de 240\u00a0m\u00b2 \u00b7 Terrassa (Barcelona)\",\"m\":\"Planta 7,4 \u00d7 31,7\u00a0m \u00b7 al\u00e7ada 3,9\u00a0m\",\"d\":\"Pilars i bigues d'acer galvanitzat cargolats. Coberta plana i fa\u00e7anes de panell sandvitx.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/porche-bellots.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/porche-bellots-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/porche-bellots-3d-estructura.jpg\",\"a\":\"Porxo met\u00e0l\u00b7lic de 240\u00a0m\u00b2 \u00b7 Terrassa (Barcelona)\",\"k\":\"porche\"},{\"s\":\"almacen-os-de-balaguer\",\"t\":\"Magatzem d'estructura met\u00e0l\u00b7lica de 220\u00a0m\u00b2 \u00b7 Os de Balaguer (Lleida)\",\"m\":\"Planta 10,3 \u00d7 20,4\u00a0m \u00b7 al\u00e7ada 5,1\u00a0m\",\"d\":\"P\u00f2rtics d'acer galvanitzat cargolats. Coberta i fa\u00e7anes de panell sandvitx.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/almacen-os-de-balaguer.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/almacen-os-de-balaguer-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/almacen-os-de-balaguer-3d-estructura.jpg\",\"a\":\"Magatzem d'estructura met\u00e0l\u00b7lica de 220\u00a0m\u00b2 \u00b7 Os de Balaguer (Lleida)\",\"k\":\"nave\"},{\"s\":\"estructura-fira-lleida\",\"t\":\"Estructura met\u00e0l\u00b7lica de 420\u00a0m\u00b2 \u00b7 Fira de Lleida\",\"m\":\"Planta 12,8 \u00d7 30,3\u00a0m \u00b7 al\u00e7ada 6,8\u00a0m \u00b7 2 plantes\",\"d\":\"Estructura d'acer galvanitzat cargolada de dues plantes. Coberta plana de panell sandvitx.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-fira-lleida.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-fira-lleida-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-fira-lleida-3d-estructura.jpg\",\"a\":\"Estructura met\u00e0l\u00b7lica de 420\u00a0m\u00b2 \u00b7 Fira de Lleida\",\"k\":\"est\"},{\"s\":\"almacen-portico\",\"t\":\"Magatzem d'estructura met\u00e0l\u00b7lica de 85\u00a0m\u00b2\",\"m\":\"Planta 9 \u00d7 9,4\u00a0m \u00b7 al\u00e7ada 5,7\u00a0m\",\"d\":\"P\u00f2rtics d'acer galvanitzat cargolats. Coberta a dues aig\u00fces i fa\u00e7anes de panell sandvitx.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/almacen-portico.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/almacen-portico-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/almacen-portico-3d-estructura.jpg\",\"a\":\"Magatzem d'estructura met\u00e0l\u00b7lica de 85\u00a0m\u00b2\",\"k\":\"nave\"},{\"s\":\"edificio-pirineo\",\"t\":\"Edifici d'estructura met\u00e0l\u00b7lica de 150\u00a0m\u00b2 \u00b7 Pirineu\",\"m\":\"Planta 6,1 \u00d7 12,9\u00a0m \u00b7 al\u00e7ada 8\u00a0m \u00b7 2 plantes\",\"d\":\"Estructura d'acer galvanitzat cargolada de dues plantes. Coberta plana i fa\u00e7anes de panell sandvitx.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-pirineo.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-pirineo-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-pirineo-3d-estructura.jpg\",\"a\":\"Edifici d'estructura met\u00e0l\u00b7lica de 150\u00a0m\u00b2 \u00b7 Pirineu\",\"k\":\"edif\"},{\"s\":\"estructura-castelloli\",\"t\":\"Estructura met\u00e0l\u00b7lica de 300\u00a0m\u00b2 \u00b7 Circuit de Castellol\u00ed (Barcelona)\",\"m\":\"Planta 12,2 \u00d7 25,3\u00a0m \u00b7 al\u00e7ada 5,7\u00a0m\",\"d\":\"Estructura d'acer galvanitzat cargolada de una planta. Model sense tancaments.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-castelloli.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-castelloli-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-castelloli-3d-estructura.jpg\",\"a\":\"Estructura met\u00e0l\u00b7lica de 300\u00a0m\u00b2 \u00b7 Circuit de Castellol\u00ed (Barcelona)\",\"k\":\"est\"},{\"s\":\"edificio-murcia\",\"t\":\"Edifici d'estructura met\u00e0l\u00b7lica de 260\u00a0m\u00b2 \u00b7 Murcia\",\"m\":\"Planta 9,9 \u00d7 15,5\u00a0m \u00b7 al\u00e7ada 9,5\u00a0m \u00b7 2 plantes\",\"d\":\"Estructura d'acer galvanitzat cargolada de dues plantes. Coberta plana i fa\u00e7anes de panell sandvitx.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-murcia.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-murcia-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-murcia-3d-estructura.jpg\",\"a\":\"Edifici d'estructura met\u00e0l\u00b7lica de 260\u00a0m\u00b2 \u00b7 Murcia\",\"k\":\"edif\"},{\"s\":\"estructura-nave-andosana\",\"t\":\"Nau industrial de 550\u00a0m\u00b2\",\"m\":\"Planta 12,2 \u00d7 44,5\u00a0m \u00b7 al\u00e7ada 5,4\u00a0m\",\"d\":\"P\u00f2rtics d'acer galvanitzat cargolats. Model sense tancaments.\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-nave-andosana.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-nave-andosana-3d.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-nave-andosana-3d-estructura.jpg\",\"a\":\"Nau industrial de 550\u00a0m\u00b2\",\"k\":\"nave\"},{\"s\":\"garaje-6x6-un-agua\",\"t\":\"Garatge de 36 m\u00b2 \u00b7 model tipus\",\"m\":\"Planta 6 \u00d7 6 m \u00b7 al\u00e7ada 3,4 m\",\"d\":\"Garatge a un aiguav\u00e9s per a dos cotxes, amb porta de 4,5 m. Tub de 100 \u00d7 100 amb unions cargolades, coberta i fa\u00e7anes de panell sandvitx. Model tipus orientatiu.\",\"a\":\"Garatge de 36 m\u00b2 \u00b7 model tipus\",\"k\":\"tipo\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-garaje-6x6-un-agua-v3.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-garaje-6x6-un-agua-v3.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-garaje-6x6-un-agua-v3-estructura.jpg\"},{\"s\":\"marquesina-5x5-dos-coches\",\"t\":\"Marquesina per a dos cotxes de 30 m\u00b2 \u00b7 model tipus\",\"m\":\"Planta 5,5 \u00d7 5,5 m \u00b7 al\u00e7ada 2,8 m\",\"d\":\"Marquesina exempta a un aiguav\u00e9s, oberta pels quatre costats, amb coberta de panell sandvitx. Model tipus orientatiu.\",\"a\":\"Marquesina per a dos cotxes de 30 m\u00b2 \u00b7 model tipus\",\"k\":\"tipo\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-marquesina-5x5-dos-coches-v2.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-marquesina-5x5-dos-coches-v2.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-marquesina-5x5-dos-coches-v2-estructura.jpg\"},{\"s\":\"porche-adosado-6x3\",\"t\":\"Porxo adossat de 18 m\u00b2 \u00b7 model tipus\",\"m\":\"Planta 6 \u00d7 3 m \u00b7 al\u00e7ada 2,9 m\",\"d\":\"Porxo a un aiguav\u00e9s adossat a la fa\u00e7ana de la casa, amb coberta de panell sandvitx. Les bigues es fixen a la paret amb unions cargolades. Model tipus orientatiu.\",\"a\":\"Porxo adossat de 18 m\u00b2 \u00b7 model tipus\",\"k\":\"tipo\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-porche-adosado-6x3-v2.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-porche-adosado-6x3-v2.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-porche-adosado-6x3-v2-estructura.jpg\"},{\"s\":\"pergola-4x4\",\"t\":\"P\u00e8rgola de 16 m\u00b2 \u00b7 model tipus\",\"m\":\"Planta 4 \u00d7 4 m \u00b7 al\u00e7ada 2,5 m\",\"d\":\"P\u00e8rgola exempta de coberta plana amb 4 pilars, biga central i corretges de tub, sense panells. Model tipus orientatiu.\",\"a\":\"P\u00e8rgola de 16 m\u00b2 \u00b7 model tipus\",\"k\":\"tipo\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-pergola-4x4-1.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-pergola-4x4-1.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-pergola-4x4-estructura.jpg\"},{\"s\":\"pergola-fotovoltaica-10x5\",\"t\":\"P\u00e8rgola fotovoltaica de 50 m\u00b2 \u00b7 model tipus\",\"m\":\"Planta 10 \u00d7 5 m \u00b7 al\u00e7ada 3,2 m\",\"d\":\"Estructura a un aiguav\u00e9s per a plaques solars, oberta per aparcar a sota, amb corretges de tub per fixar els m\u00f2duls fotovoltaics. Model tipus orientatiu.\",\"a\":\"P\u00e8rgola fotovoltaica de 50 m\u00b2 \u00b7 model tipus\",\"k\":\"tipo\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-pergola-fotovoltaica-10x5-v3.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-pergola-fotovoltaica-10x5-v3.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-pergola-fotovoltaica-10x5-v3-estructura.jpg\"},{\"s\":\"bungalow-6x3\",\"t\":\"Bungalou de 18 m\u00b2 \u00b7 model tipus\",\"m\":\"Planta 6 \u00d7 3 m \u00b7 al\u00e7ada 3 m\",\"d\":\"M\u00f2dul a un aiguav\u00e9s amb forjat sanitari, coberta i fa\u00e7anes de panell sandvitx, porta i dues finestres. Model tipus orientatiu.\",\"a\":\"Bungalou de 18 m\u00b2 \u00b7 model tipus\",\"k\":\"tipo\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-bungalow-6x3-un-agua-v3.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-bungalow-6x3-un-agua-v3.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-bungalow-6x3-un-agua-v3-estructura.jpg\"},{\"s\":\"almacen-desmontable-8x6\",\"t\":\"Magatzem desmuntable de 48 m\u00b2 \u00b7 model tipus\",\"m\":\"Planta 8 \u00d7 6 m \u00b7 al\u00e7ada 4,4 m\",\"d\":\"Magatzem a dues aig\u00fces amb encavallada, coberta i fa\u00e7anes de panell sandvitx i porta de 3 \u00d7 3 m. Es munta i es desmunta amb unions cargolades. Model tipus orientatiu.\",\"a\":\"Magatzem desmuntable de 48 m\u00b2 \u00b7 model tipus\",\"k\":\"tipo\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-almacen-8x6-dos-aguas-v3.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-almacen-8x6-dos-aguas-v3.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-almacen-8x6-dos-aguas-v3-estructura.jpg\"},{\"s\":\"nave-12x20-dos-aguas\",\"t\":\"Nau de 240 m\u00b2 \u00b7 model tipus\",\"m\":\"Planta 20 \u00d7 12 m \u00b7 al\u00e7ada 6,2 m\",\"d\":\"Nau a dues aig\u00fces de 12 m de llum amb encavallades, coberta i fa\u00e7anes de panell sandvitx i porta de 4 \u00d7 4 m. Model tipus orientatiu.\",\"a\":\"Nau de 240 m\u00b2 \u00b7 model tipus\",\"k\":\"tipo\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-nave-12x20-dos-aguas-v2.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-nave-12x20-dos-aguas-v2.jpg\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-nave-12x20-dos-aguas-v2-estructura.jpg\"},{\"s\":\"nave-ipe-16x30\",\"t\":\"Nau IPE de 480 m\u00b2 \u00b7 model tipus\",\"m\":\"Planta 30 \u00d7 16 m \u00b7 al\u00e7ada 7 m\",\"d\":\"Nau a dues aig\u00fces de 16 m de llum amb p\u00f2rtics de perfil IPE cargolats, corretges, coberta i fa\u00e7anes de panell sandvitx i porta. Model tipus orientatiu.\",\"a\":\"Nau IPE de 480 m\u00b2 \u00b7 model tipus\",\"k\":\"tipo\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-nave-ipe-16x30-v4.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-nave-ipe-16x30-v4.webp\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-nave-ipe-16x30-v4-estructura.webp\"},{\"s\":\"vivienda-12x8-dos-aguas\",\"t\":\"Habitatge de 96 m\u00b2 \u00b7 model tipus\",\"m\":\"Planta 12 \u00d7 8 m \u00b7 al\u00e7ada 4,4 m\",\"d\":\"Habitatge d'una planta a dues aig\u00fces amb estructura de tub i unions cargolades, tub perimetral, encavallades, coberta i fa\u00e7anes de panell sandvitx, porta i finestres. Model tipus orientatiu.\",\"a\":\"Habitatge de 96 m\u00b2 \u00b7 model tipus\",\"k\":\"tipo\",\"g\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-vivienda-12x8-dos-aguas-v4.glb\",\"p1\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-vivienda-12x8-dos-aguas-v4.webp\",\"p2\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/11\/modelo-3d-vivienda-12x8-dos-aguas-v4-estructura.webp\"}];<\/script><script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"ItemList\",\"name\":\"Projectes en 3D\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"3DModel\",\"name\":\"Nau industrial de 830\u00a0m\u00b2 \u00b7 Torreserona (Lleida)\",\"description\":\"P\u00f2rtics d'acer galvanitzat cargolats. Model sense tancaments. Planta 16,6 \u00d7 49,5\u00a0m \u00b7 al\u00e7ada 7,1\u00a0m\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-torreserona-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-torreserona.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"3DModel\",\"name\":\"Nau industrial de 440\u00a0m\u00b2 \u00b7 Jerez de la Frontera (C\u00e1diz)\",\"description\":\"P\u00f2rtics d'acer galvanitzat cargolats. Coberta a dues aig\u00fces i fa\u00e7anes de panell sandvitx. Planta 12,4 \u00d7 35,3\u00a0m \u00b7 al\u00e7ada 5,3\u00a0m\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-jerez-dos-aguas-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-jerez-dos-aguas.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@type\":\"3DModel\",\"name\":\"Nau industrial de 270\u00a0m\u00b2 \u00b7 Jerez de la Frontera (C\u00e1diz)\",\"description\":\"P\u00f2rtics d'acer galvanitzat cargolats. Coberta i fa\u00e7anes de panell sandvitx. Planta 10,4 \u00d7 25,4\u00a0m \u00b7 al\u00e7ada 3,7\u00a0m\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-jerez-cubierta-plana-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-jerez-cubierta-plana.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":4,\"item\":{\"@type\":\"3DModel\",\"name\":\"Aules modulars de 290\u00a0m\u00b2 \u00b7 Cardoner (Barcelona)\",\"description\":\"Estructura d'acer galvanitzat cargolada de una planta. Coberta plana de panell sandvitx. Planta 13,9 \u00d7 21\u00a0m \u00b7 al\u00e7ada 3,8\u00a0m\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/aulas-cardoner-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/aulas-cardoner.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":5,\"item\":{\"@type\":\"3DModel\",\"name\":\"Estructura met\u00e0l\u00b7lica de 510\u00a0m\u00b2\",\"description\":\"Estructura d'acer galvanitzat cargolada de una planta. Model sense tancaments. Planta 16,3 \u00d7 30,6\u00a0m \u00b7 al\u00e7ada 6,9\u00a0m\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-edificio-b166-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-edificio-b166.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":6,\"item\":{\"@type\":\"3DModel\",\"name\":\"M\u00f2dul d'estructura met\u00e0l\u00b7lica de 40\u00a0m\u00b2 \u00b7 Montcada i Reixac (Barcelona)\",\"description\":\"Estructura d'acer galvanitzat cargolada de una planta. Model sense tancaments. Planta 5 \u00d7 7,4\u00a0m \u00b7 al\u00e7ada 3,5\u00a0m\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/modulo-montcada-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/modulo-montcada.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":7,\"item\":{\"@type\":\"3DModel\",\"name\":\"Edifici d'estructura met\u00e0l\u00b7lica de 240\u00a0m\u00b2 \u00b7 Tenerife\",\"description\":\"Estructura d'acer galvanitzat cargolada de una planta. Coberta plana i fa\u00e7anes de panell sandvitx. Planta 7,3 \u00d7 32,3\u00a0m \u00b7 al\u00e7ada 6,6\u00a0m\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-tenerife-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-tenerife.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":8,\"item\":{\"@type\":\"3DModel\",\"name\":\"Nau industrial de 510\u00a0m\u00b2 \u00b7 Terrassa (Barcelona)\",\"description\":\"P\u00f2rtics d'acer galvanitzat cargolats. Model sense tancaments. Planta 17,2 \u00d7 29,7\u00a0m \u00b7 al\u00e7ada 5,8\u00a0m\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-terrassa-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-terrassa.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":9,\"item\":{\"@type\":\"3DModel\",\"name\":\"Edifici d'estructura met\u00e0l\u00b7lica de 390\u00a0m\u00b2 \u00b7 Can\u00e0ries\",\"description\":\"Estructura d'acer galvanitzat cargolada de una planta. Coberta plana i fa\u00e7anes de panell sandvitx. Planta 20,3 \u00d7 25,1\u00a0m \u00b7 al\u00e7ada 6,4\u00a0m\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-canarias-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-canarias.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":10,\"item\":{\"@type\":\"3DModel\",\"name\":\"Oficines modulars de 130\u00a0m\u00b2 \u00b7 Barcelona\",\"description\":\"Estructura d'acer galvanitzat cargolada de una planta. Coberta plana i fa\u00e7anes de panell sandvitx. Planta 5,2 \u00d7 24,1\u00a0m \u00b7 al\u00e7ada 3,5\u00a0m\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/oficinas-copa-america-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/oficinas-copa-america.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":11,\"item\":{\"@type\":\"3DModel\",\"name\":\"Edifici d'estructura met\u00e0l\u00b7lica de 820\u00a0m\u00b2 \u00b7 Santa Cruz de Tenerife\",\"description\":\"Estructura d'acer galvanitzat cargolada de una planta. Coberta plana i fa\u00e7anes de panell sandvitx. Planta 21,4 \u00d7 38,2\u00a0m \u00b7 al\u00e7ada 5,4\u00a0m\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-santa-cruz-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-santa-cruz.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":12,\"item\":{\"@type\":\"3DModel\",\"name\":\"Nau industrial de 330\u00a0m\u00b2\",\"description\":\"P\u00f2rtics d'acer galvanitzat cargolats. Coberta a dues aig\u00fces i fa\u00e7anes de panell sandvitx. Planta 10,5 \u00d7 30,2\u00a0m \u00b7 al\u00e7ada 6,5\u00a0m\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-dos-aguas-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-dos-aguas.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":13,\"item\":{\"@type\":\"3DModel\",\"name\":\"Nau industrial de 290\u00a0m\u00b2 \u00b7 Gav\u00e0 (Barcelona)\",\"description\":\"P\u00f2rtics d'acer galvanitzat cargolats, en tres plantes. Coberta i fa\u00e7anes de panell sandvitx. Planta 7,6 \u00d7 12,6\u00a0m \u00b7 al\u00e7ada 11,8\u00a0m \u00b7 3 plantes\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-gava-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-gava.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":14,\"item\":{\"@type\":\"3DModel\",\"name\":\"Porxo met\u00e0l\u00b7lic de 160\u00a0m\u00b2 \u00b7 Terrassa (Barcelona)\",\"description\":\"Pilars i bigues d'acer galvanitzat cargolats. Coberta a una aigua de panell sandvitx. Planta 7,3 \u00d7 21,4\u00a0m \u00b7 al\u00e7ada 4,3\u00a0m\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/porche-terrassa-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/porche-terrassa.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":15,\"item\":{\"@type\":\"3DModel\",\"name\":\"Nau industrial de 610\u00a0m\u00b2 \u00b7 Mollerussa (Lleida)\",\"description\":\"P\u00f2rtics d'acer galvanitzat cargolats. Coberta i fa\u00e7anes de panell sandvitx. Planta 30,5 \u00d7 46,2\u00a0m \u00b7 al\u00e7ada 7\u00a0m\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-mollerussa-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-mollerussa.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":16,\"item\":{\"@type\":\"3DModel\",\"name\":\"Nau industrial de 1.050\u00a0m\u00b2 \u00b7 Gabon\",\"description\":\"P\u00f2rtics d'acer galvanitzat cargolats, en dues plantes. Coberta i fa\u00e7anes de panell sandvitx. Planta 30,9 \u00d7 31,3\u00a0m \u00b7 al\u00e7ada 10,3\u00a0m \u00b7 2 plantes\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-gabon-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-gabon.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":17,\"item\":{\"@type\":\"3DModel\",\"name\":\"Porxo met\u00e0l\u00b7lic de 240\u00a0m\u00b2 \u00b7 Terrassa (Barcelona)\",\"description\":\"Pilars i bigues d'acer galvanitzat cargolats. Coberta plana i fa\u00e7anes de panell sandvitx. Planta 7,4 \u00d7 31,7\u00a0m \u00b7 al\u00e7ada 3,9\u00a0m\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/porche-bellots-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/porche-bellots.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":18,\"item\":{\"@type\":\"3DModel\",\"name\":\"Magatzem d'estructura met\u00e0l\u00b7lica de 220\u00a0m\u00b2 \u00b7 Os de Balaguer (Lleida)\",\"description\":\"P\u00f2rtics d'acer galvanitzat cargolats. Coberta i fa\u00e7anes de panell sandvitx. Planta 10,3 \u00d7 20,4\u00a0m \u00b7 al\u00e7ada 5,1\u00a0m\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/almacen-os-de-balaguer-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/almacen-os-de-balaguer.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":19,\"item\":{\"@type\":\"3DModel\",\"name\":\"Estructura met\u00e0l\u00b7lica de 420\u00a0m\u00b2 \u00b7 Fira de Lleida\",\"description\":\"Estructura d'acer galvanitzat cargolada de dues plantes. Coberta plana de panell sandvitx. Planta 12,8 \u00d7 30,3\u00a0m \u00b7 al\u00e7ada 6,8\u00a0m \u00b7 2 plantes\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-fira-lleida-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-fira-lleida.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":20,\"item\":{\"@type\":\"3DModel\",\"name\":\"Magatzem d'estructura met\u00e0l\u00b7lica de 85\u00a0m\u00b2\",\"description\":\"P\u00f2rtics d'acer galvanitzat cargolats. Coberta a dues aig\u00fces i fa\u00e7anes de panell sandvitx. Planta 9 \u00d7 9,4\u00a0m \u00b7 al\u00e7ada 5,7\u00a0m\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/almacen-portico-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/almacen-portico.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":21,\"item\":{\"@type\":\"3DModel\",\"name\":\"Edifici d'estructura met\u00e0l\u00b7lica de 150\u00a0m\u00b2 \u00b7 Pirineu\",\"description\":\"Estructura d'acer galvanitzat cargolada de dues plantes. Coberta plana i fa\u00e7anes de panell sandvitx. Planta 6,1 \u00d7 12,9\u00a0m \u00b7 al\u00e7ada 8\u00a0m \u00b7 2 plantes\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-pirineo-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-pirineo.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":22,\"item\":{\"@type\":\"3DModel\",\"name\":\"Estructura met\u00e0l\u00b7lica de 300\u00a0m\u00b2 \u00b7 Circuit de Castellol\u00ed (Barcelona)\",\"description\":\"Estructura d'acer galvanitzat cargolada de una planta. Model sense tancaments. Planta 12,2 \u00d7 25,3\u00a0m \u00b7 al\u00e7ada 5,7\u00a0m\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-castelloli-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-castelloli.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":23,\"item\":{\"@type\":\"3DModel\",\"name\":\"Edifici d'estructura met\u00e0l\u00b7lica de 260\u00a0m\u00b2 \u00b7 Murcia\",\"description\":\"Estructura d'acer galvanitzat cargolada de dues plantes. Coberta plana i fa\u00e7anes de panell sandvitx. Planta 9,9 \u00d7 15,5\u00a0m \u00b7 al\u00e7ada 9,5\u00a0m \u00b7 2 plantes\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-murcia-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-murcia.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}},{\"@type\":\"ListItem\",\"position\":24,\"item\":{\"@type\":\"3DModel\",\"name\":\"Nau industrial de 550\u00a0m\u00b2\",\"description\":\"P\u00f2rtics d'acer galvanitzat cargolats. Model sense tancaments. Planta 12,2 \u00d7 44,5\u00a0m \u00b7 al\u00e7ada 5,4\u00a0m\",\"image\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-nave-andosana-3d.jpg\",\"encoding\":{\"@type\":\"MediaObject\",\"contentUrl\":\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-nave-andosana.glb\",\"encodingFormat\":\"model\/gltf-binary\"}}}],\"numberOfItems\":24}<\/script><style>.sm3f__bar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.sm3f .sm3f__c{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px #E2E8F0;color:#0D2148;font:600 15px\/1 Barlow,system-ui,sans-serif;cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.sm3f .sm3f__c span{color:#64748B;font-size:13px;font-variant-numeric:tabular-nums}.sm3f .sm3f__c:hover{box-shadow:inset 0 0 0 1px #0D2148}.sm3f .sm3f__c[aria-pressed=\"true\"]{background:#0D2148;color:#fff;box-shadow:none}.sm3f .sm3f__c[aria-pressed=\"true\"] span{color:#CBD5E1}.sm3f .sm3f__c:focus-visible{outline:3px solid #F39200;outline-offset:2px}.sm3f .sm3f__c:active{transform:scale(.97)}.sm3f__apps{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:0 0 28px;color:#475569;font:500 15px\/1.4 Barlow,system-ui,sans-serif}.sm3f__apps b{color:#0D2148;font-weight:700}.sm3f__apps a{color:#0D2148!important;font-weight:600;text-decoration:underline!important;text-decoration-color:#F39200!important;text-decoration-thickness:2px!important;text-underline-offset:4px}.sm3f__apps a:hover{text-decoration-color:#0D2148!important}.sm3f .sm3d__card[hidden]{display:none}@media (prefers-reduced-motion:reduce){.sm3f .sm3f__c{transition:none}}<\/style><div class=\"sm3f__bar\" role=\"group\" aria-label=\"Filtrar projectes\"><button type=\"button\" class=\"sm3f__c\" data-f=\"all\" aria-pressed=\"true\">Tots <span>32<\/span><\/button><button type=\"button\" class=\"sm3f__c\" data-f=\"nave\" aria-pressed=\"false\">Naus i magatzems <span>11<\/span><\/button><button type=\"button\" class=\"sm3f__c\" data-f=\"edif\" aria-pressed=\"false\">Edificis i m\u00f2duls <span>8<\/span><\/button><button type=\"button\" class=\"sm3f__c\" data-f=\"porche\" aria-pressed=\"false\">Porxos <span>2<\/span><\/button><button type=\"button\" class=\"sm3f__c\" data-f=\"est\" aria-pressed=\"false\">Estructures <span>3<\/span><\/button><button type=\"button\" class=\"sm3f__c\" data-f=\"tipo\" aria-pressed=\"false\">Models tipus <span>8<\/span><\/button><\/div><p class=\"sm3f__apps\"><b>Per aplicaci\u00f3:<\/b><a href=\"\/ca\/estructures-metalliques-per-a-naus-industrials\/\">Naus industrials<\/a><a href=\"\/ca\/estructures-metalliques-a-mida\/\">Estructures a mida<\/a><a href=\"\/ca\/pergoles-porxos-metallics\/\">P\u00e8rgoles i porxos<\/a><a href=\"\/ca\/estructures-metalliques-per-a-bungalow\/\">Bungalows i m\u00f2duls<\/a><a href=\"\/ca\/estructures-metalliques-per-a-cases\/\">Estructures per a cases<\/a><\/p><div class=\"sm3d\" data-sm3d>\n<div class=\"sm3d__grid\" role=\"list\"><\/div>\n<dialog class=\"smv\" aria-labelledby=\"smv-t\">\n<div class=\"smv__top\">\n<button type=\"button\" class=\"smv__ib smv__tree-b\" data-a=\"tree\" aria-pressed=\"true\" data-t=\"tree\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 6h16M4 12h10M4 18h13\"\/><\/svg><\/button>\n<div class=\"smv__ttl\"><p class=\"smv__eb\" data-k=\"eb\">Modelo 3D<\/p><h3 class=\"smv__t\" id=\"smv-t\"><\/h3><p class=\"smv__m\"><\/p><\/div>\n<div class=\"smv__nav\">\n<button type=\"button\" class=\"smv__ib\" data-a=\"prev\" data-t=\"prev\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M15 5l-7 7 7 7\"\/><\/svg><\/button>\n<button type=\"button\" class=\"smv__ib\" data-a=\"next\" data-t=\"next\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 5l7 7-7 7\"\/><\/svg><\/button>\n<button type=\"button\" class=\"smv__ib\" data-a=\"share\" data-t=\"share\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M10 14a4 4 0 005.7 0l3-3a4 4 0 00-5.7-5.7l-1 1M14 10a4 4 0 00-5.7 0l-3 3a4 4 0 005.7 5.7l1-1\"\/><\/svg><\/button>\n<button type=\"button\" class=\"smv__ib\" data-a=\"full\" data-t=\"full\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5\"\/><\/svg><\/button>\n<button type=\"button\" class=\"smv__ib\" data-a=\"close\" data-t=\"close\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M6 6l12 12M18 6L6 18\"\/><\/svg><\/button>\n<\/div>\n<\/div>\n<div class=\"smv__body\">\n<aside class=\"smv__side\">\n<div class=\"smv__sec\"><p class=\"smv__h\" data-k=\"layers\">Capas<\/p><div class=\"smv__presets\"><button type=\"button\" class=\"smv__chip\" data-a=\"p-all\" data-k=\"pAll\">Todo<\/button><button type=\"button\" class=\"smv__chip\" data-a=\"p-str\" data-k=\"pStr\">Solo estructura<\/button><button type=\"button\" class=\"smv__chip\" data-a=\"xray\" aria-pressed=\"false\" data-k=\"xray\">Rayos X<\/button><\/div><ul class=\"smv__tree\" role=\"tree\"><\/ul><\/div>\n<\/aside>\n<div class=\"smv__stage\">\n<canvas class=\"smv__cv\"><\/canvas>\n<div class=\"smv__tools\" role=\"toolbar\" aria-label=\"Herramientas\">\n<button type=\"button\" class=\"smv__tool\" data-a=\"m-sel\" aria-pressed=\"true\" data-t=\"sel\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 3l14 8-6 2-2 6z\"\/><\/svg><\/button>\n<button type=\"button\" class=\"smv__tool\" data-a=\"m-meas\" aria-pressed=\"false\" data-t=\"meas\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M3 17L17 3l4 4L7 21zM7 13l2 2M10 10l2 2M13 7l2 2\"\/><\/svg><\/button>\n<button type=\"button\" class=\"smv__tool\" data-a=\"sect\" aria-pressed=\"false\" data-t=\"sect\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M3 12h18M7 7l5-4 5 4M7 17l5 4 5-4\"\/><\/svg><\/button>\n<button type=\"button\" class=\"smv__tool\" data-a=\"expl\" aria-pressed=\"false\" data-t=\"expl\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 18h16M6 13h12M8 8h8M12 3v2\"\/><\/svg><\/button>\n<span class=\"smv__sep\"><\/span>\n<button type=\"button\" class=\"smv__tool\" data-a=\"v-3d\" data-t=\"v3d\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 3l8 4.5v9L12 21l-8-4.5v-9zM12 12l8-4.5M12 12v9M12 12L4 7.5\"\/><\/svg><\/button>\n<button type=\"button\" class=\"smv__tool\" data-a=\"v-top\" data-t=\"vtop\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"1\"\/><path d=\"M4 12h16M12 4v16\"\/><\/svg><\/button>\n<button type=\"button\" class=\"smv__tool\" data-a=\"v-front\" data-t=\"vfront\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 20V9l8-5 8 5v11zM10 20v-6h4v6\"\/><\/svg><\/button>\n<button type=\"button\" class=\"smv__tool\" data-a=\"v-side\" data-t=\"vside\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M3 20V10l6-5h12v15zM9 5v15\"\/><\/svg><\/button>\n<button type=\"button\" class=\"smv__tool\" data-a=\"ortho\" aria-pressed=\"false\" data-t=\"ortho\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 7h16M4 17h16M7 4v16M17 4v16\"\/><\/svg><\/button>\n<span class=\"smv__sep\"><\/span>\n<button type=\"button\" class=\"smv__tool\" data-a=\"spin\" aria-pressed=\"false\" data-t=\"spin\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M20 12a8 8 0 11-2.3-5.7M20 4v5h-5\"\/><\/svg><\/button>\n<button type=\"button\" class=\"smv__tool\" data-a=\"fit\" data-t=\"fit\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 4H4v5M15 4h5v5M9 20H4v-5M15 20h5v-5M9 9h6v6H9z\"\/><\/svg><\/button>\n<button type=\"button\" class=\"smv__tool\" data-a=\"shot\" data-t=\"shot\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 8h3l2-3h6l2 3h3v11H4z\"\/><circle cx=\"12\" cy=\"13\" r=\"3.5\"\/><\/svg><\/button>\n<\/div>\n<div class=\"smv__pop smv__sectp\" hidden>\n<div class=\"smv__seg\" role=\"group\"><button type=\"button\" class=\"smv__chip\" data-a=\"ax-y\" aria-pressed=\"true\" data-k=\"axY\">Horizontal<\/button><button type=\"button\" class=\"smv__chip\" data-a=\"ax-x\" aria-pressed=\"false\" data-k=\"axX\">Vertical X<\/button><button type=\"button\" class=\"smv__chip\" data-a=\"ax-z\" aria-pressed=\"false\" data-k=\"axZ\">Vertical Z<\/button><button type=\"button\" class=\"smv__chip\" data-a=\"ax-f\" data-k=\"flip\">Invertir<\/button><\/div>\n<input type=\"range\" class=\"smv__rng\" data-r=\"sect\" min=\"0\" max=\"1000\" value=\"1000\" aria-label=\"Corte\">\n<\/div>\n<div class=\"smv__pop smv__explp\" hidden><label class=\"smv__lbl\" data-k=\"expl\">Despiece por capas<\/label><input type=\"range\" class=\"smv__rng\" data-r=\"expl\" min=\"0\" max=\"100\" value=\"0\" aria-label=\"Despiece\"><\/div>\n<div class=\"smv__info\" hidden>\n<p class=\"smv__h smv__info-l\"><\/p><p class=\"smv__info-n\"><\/p><p class=\"smv__info-c\"><\/p>\n<div class=\"smv__info-b\"><button type=\"button\" class=\"smv__btn\" data-a=\"hide\" data-k=\"hide\">Ocultar<\/button><button type=\"button\" class=\"smv__btn\" data-a=\"iso\" data-k=\"iso\">Aislar<\/button><button type=\"button\" class=\"smv__btn smv__btn--g\" data-a=\"desel\" data-k=\"desel\">Quitar selecci\u00f3n<\/button><\/div>\n<\/div>\n<div class=\"smv__status\"><span class=\"smv__hid\" hidden><\/span><button type=\"button\" class=\"smv__btn smv__showall\" data-a=\"showall\" hidden data-k=\"showall\">Mostrar todo<\/button><button type=\"button\" class=\"smv__btn smv__clrm\" data-a=\"clrm\" hidden data-k=\"clrm\">Borrar medidas<\/button><\/div>\n<p class=\"smv__hint\" data-k=\"hint\"><\/p>\n<div class=\"smv__load\" role=\"status\"><span class=\"smv__spin\" aria-hidden=\"true\"><\/span><span class=\"smv__load-t\" data-k=\"load\">Cargando modelo\u2026<\/span><\/div>\n<div class=\"smv__labels\" aria-hidden=\"true\"><\/div>\n<\/div>\n<\/div>\n<\/dialog>\n<\/div>\n<style>\n.sm3d{--n:#0D2148;--o:#F39200;--mut:#475569;--bg:#F4F6F9;--ln:#E2E8F0}\n.sm3d__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}\n.sm3d__card{all:unset;box-sizing:border-box;display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;cursor:pointer;box-shadow:0 1px 0 rgba(13,33,72,.04),0 10px 30px -18px rgba(13,33,72,.35);transition:transform .2s ease,box-shadow .2s ease}\n.sm3d__card:hover{transform:translateY(-3px);box-shadow:0 1px 0 rgba(13,33,72,.04),0 18px 40px -18px rgba(13,33,72,.45)}\n.sm3d__card:focus-visible{outline:3px solid var(--o);outline-offset:3px}\n.sm3d__ph{position:relative;display:block;aspect-ratio:8\/5;background:var(--bg)}\n.sm3d__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .25s ease}\n.sm3d__ph img+img{opacity:0}\n@media (hover:hover){.sm3d__card:hover .sm3d__ph img+img{opacity:1}}\n.sm3d__badge{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;background:rgba(13,33,72,.92);color:#fff;font:700 12px\/1 Barlow,system-ui,sans-serif;padding:7px 10px;border-radius:999px}\n.sm3d__badge::before{content:\"\";width:7px;height:7px;border-radius:50%;background:var(--o)}\n.sm3d__ct{display:block;padding:16px 18px 18px}\n.sm3d__ct strong{display:block;color:var(--n);font:700 21px\/1.15 \"Barlow Condensed\",\"Arial Narrow\",sans-serif;text-wrap:balance}\n.sm3d__ct span{display:block;margin-top:6px;color:var(--mut);font:500 14px\/1.4 Barlow,system-ui,sans-serif}\n.sm3d__ct .sm3d__d{margin-top:8px;color:#334155;font:400 15px\/1.45 Barlow,system-ui,sans-serif;text-wrap:pretty}\n.sm3d__ct .sm3d__d[hidden]{display:none}\n.sm3d__ct .sm3d__m{margin-top:10px;font-size:13px;font-variant-numeric:tabular-nums}\n.smv{width:min(1440px,97vw);max-width:none;height:min(920px,94vh);max-height:none;padding:0;border:0;border-radius:18px;background:#fff;color:var(--n);overflow:hidden;box-shadow:0 30px 80px -20px rgba(0,0,0,.45);font-family:Barlow,system-ui,sans-serif}\n.smv[open]{display:flex;flex-direction:column}\n.smv:fullscreen{width:100vw;height:100vh;border-radius:0}\n.smv::backdrop{background:rgba(13,33,72,.6)}\n.smv svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}\n.smv__top{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 10px;border-bottom:1px solid var(--ln)}\n.smv__ttl{flex:1;min-width:0}\n.smv__eb{margin:0!important;color:var(--o);font:800 11px\/1.2 Barlow,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}\n.smv__t{margin:2px 0 0!important;color:var(--n)!important;font:700 22px\/1.1 \"Barlow Condensed\",\"Arial Narrow\",sans-serif!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.smv__m{margin:2px 0 0!important;color:var(--mut);font:500 13px\/1.3 Barlow,system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.smv__nav{display:flex;gap:4px}\n.smv__ib,.smv__tool{all:unset;box-sizing:border-box;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;color:var(--n);cursor:pointer;transition:background-color .15s ease,color .15s ease}\n.smv__ib:hover,.smv__tool:hover{background:var(--bg)}\n.smv__ib[aria-pressed=\"true\"],.smv__tool[aria-pressed=\"true\"]{background:var(--n);color:#fff}\n.smv__ib:focus-visible,.smv__tool:focus-visible,.smv__chip:focus-visible,.smv__btn:focus-visible,.smv__eye:focus-visible,.smv__row:focus-visible{outline:3px solid var(--o);outline-offset:1px}\n.smv__ib:active,.smv__tool:active,.smv__btn:active,.smv__chip:active{transform:scale(.96)}\n.smv__ib[disabled]{opacity:.35;pointer-events:none}\n.smv__body{flex:1;min-height:0;display:flex}\n.smv__side{width:300px;flex:none;overflow:auto;border-right:1px solid var(--ln);background:#fff}\n.smv.no-tree .smv__side{display:none}\n.smv__sec{padding:14px 14px 18px}\n.smv__h{margin:0 0 10px!important;color:var(--o);font:800 11px\/1.2 Barlow,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}\n.smv__presets,.smv__seg{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}\n.smv__chip{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border-radius:8px;background:var(--bg);color:var(--n);font:600 13px\/1 Barlow,system-ui,sans-serif;cursor:pointer;transition:background-color .15s ease,color .15s ease}\n.smv__chip:hover{background:#E2E8F0}\n.smv__chip[aria-pressed=\"true\"]{background:var(--n);color:#fff}\n.smv__tree,.smv__tree ul{list-style:none;margin:0!important;padding:0!important}\n.smv__tree ul{padding-left:18px!important}\n.smv__tree li{margin:0!important}\n.smv__line{display:flex;align-items:center;gap:2px;border-radius:8px}\n.smv__line:hover{background:var(--bg)}\n.smv__line.is-sel{background:#FFF4E5}\n.smv__tw{all:unset;box-sizing:border-box;display:grid;place-items:center;width:24px;height:32px;color:#94A3B8;cursor:pointer;flex:none}\n.smv__tw svg{width:14px;height:14px;transition:transform .15s ease}\n.smv__tw[aria-expanded=\"true\"] svg{transform:rotate(90deg)}\n.smv__tw[hidden]{visibility:hidden;display:grid}\n.smv__row{all:unset;box-sizing:border-box;flex:1;min-width:0;display:flex;align-items:center;gap:8px;min-height:32px;padding:4px 4px;cursor:pointer;font:500 14px\/1.25 Barlow,system-ui,sans-serif;color:var(--n)}\n.smv__row i{width:11px;height:11px;border-radius:3px;flex:none;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}\n.smv__row b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.smv__row span{margin-left:auto;color:#94A3B8;font-size:12px;font-variant-numeric:tabular-nums;padding-left:6px}\n.smv__line.is-off .smv__row{color:#94A3B8}\n.smv__line.is-off .smv__row i{opacity:.35}\n.smv__eye{all:unset;box-sizing:border-box;display:grid;place-items:center;width:32px;height:32px;border-radius:8px;color:var(--n);cursor:pointer;flex:none}\n.smv__eye:hover{background:#E2E8F0}\n.smv__eye svg{width:18px;height:18px}\n.smv__line.is-off .smv__eye{color:#94A3B8}\n.smv__stage{position:relative;flex:1;min-width:0;background:linear-gradient(#F8FAFC,#E6EBF1)}\n.smv__cv{display:block;width:100%;height:100%;touch-action:none;outline:none}\n.smv.m-meas .smv__cv{cursor:crosshair}\n.smv__tools{position:absolute;left:12px;top:12px;display:flex;flex-direction:column;gap:2px;padding:4px;background:rgba(255,255,255,.94);border-radius:12px;box-shadow:0 8px 24px -12px rgba(13,33,72,.4),0 0 0 1px rgba(13,33,72,.06)}\n.smv__sep{height:1px;margin:3px 6px;background:var(--ln)}\n.smv__pop{position:absolute;left:68px;top:12px;width:min(360px,calc(100% - 84px));padding:12px 14px;background:rgba(255,255,255,.96);border-radius:12px;box-shadow:0 8px 24px -12px rgba(13,33,72,.4),0 0 0 1px rgba(13,33,72,.06)}\n.smv__pop[hidden]{display:none}\n.smv__explp{top:auto;bottom:60px}\n.smv__lbl{display:block;margin-bottom:8px;font:600 13px\/1.2 Barlow,system-ui,sans-serif;color:var(--n)}\n.smv__rng{width:100%;accent-color:var(--o)}\n.smv__info{position:absolute;right:12px;top:12px;width:min(300px,calc(100% - 84px));padding:14px;background:rgba(255,255,255,.96);border-radius:12px;box-shadow:0 8px 24px -12px rgba(13,33,72,.4),0 0 0 1px rgba(13,33,72,.06)}\n.smv__info[hidden]{display:none}\n.smv__info-n{margin:0!important;color:var(--n);font:700 18px\/1.2 \"Barlow Condensed\",\"Arial Narrow\",sans-serif;word-break:break-word}\n.smv__info-c{margin:4px 0 12px!important;color:var(--mut);font:500 13px\/1.35 Barlow,system-ui,sans-serif}\n.smv__info-b{display:flex;flex-wrap:wrap;gap:6px}\n.smv__btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border-radius:9px;background:var(--n);color:#fff;font:600 13px\/1 Barlow,system-ui,sans-serif;cursor:pointer;transition:filter .15s ease}\n.smv__btn:hover{filter:brightness(1.15)}\n.smv__btn--g{background:var(--bg);color:var(--n)}\n.smv__btn[hidden]{display:none}\n.smv__status{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:8px}\n.smv__hid{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--mut);font:600 12px\/1 Barlow,system-ui,sans-serif;font-variant-numeric:tabular-nums}\n.smv__hid[hidden]{display:none}\n.smv__showall{background:var(--o);color:var(--n)}\n.smv__hint{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);margin:0!important;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.88);color:var(--mut);font:500 12px\/1.3 Barlow,system-ui,sans-serif;white-space:nowrap;pointer-events:none;max-width:calc(100% - 340px);overflow:hidden;text-overflow:ellipsis}\n.smv__load{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--mut);font:600 15px Barlow,system-ui,sans-serif;background:rgba(244,246,249,.75)}\n.smv__load[hidden]{display:none}\n.smv__spin{width:20px;height:20px;border-radius:50%;border:3px solid rgba(13,33,72,.15);border-top-color:var(--o);animation:smvspin .8s linear infinite}\n@keyframes smvspin{to{transform:rotate(360deg)}}\n.smv__labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}\n.smv__ml{position:absolute;transform:translate(-50%,-50%);padding:4px 8px;border-radius:6px;background:var(--n);color:#fff;font:700 12px\/1 Barlow,system-ui,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}\n@media (max-width:900px){.smv__side{position:absolute;z-index:3;left:0;top:0;bottom:0;width:min(300px,86vw);box-shadow:20px 0 40px -20px rgba(13,33,72,.4)}.smv__body{position:relative}.smv__hint{display:none}}\n@media (max-width:767px){.sm3d__grid{grid-template-columns:1fr;gap:18px}.smv{width:100%;height:100%;max-width:100%;max-height:100%;border-radius:0}.smv__t{font-size:19px!important}.smv__m{display:none}.smv__tools{top:auto;bottom:12px;left:12px;right:12px;flex-direction:row;overflow-x:auto;scrollbar-width:none}.smv__sep{width:1px;height:auto;margin:6px 3px}.smv__tools .smv__tool{flex:none}.smv__pop{left:12px;top:12px;width:calc(100% - 24px)}.smv__explp{bottom:auto}.smv__info{top:auto;bottom:72px;left:12px;right:12px;width:auto}.smv__status{bottom:auto;top:12px;right:12px}}\n@media (prefers-reduced-motion:reduce){.sm3d__card,.sm3d__ph img{transition:none}.smv__spin{animation-duration:2.4s}}\n.sm3d .smv .smv__ib,.sm3d .smv .smv__tool,.sm3d .smv .smv__tw,.sm3d .smv .smv__eye,.sm3d .smv .smv__row{background:transparent;color:var(--n);border:0;box-shadow:none;text-decoration:none}\n.sm3d .smv .smv__tw{color:#94A3B8}\n.sm3d .smv .smv__ib:hover,.sm3d .smv .smv__tool:hover,.sm3d .smv .smv__eye:hover{background:var(--bg)}\n.sm3d .smv .smv__ib[aria-pressed=\"true\"],.sm3d .smv .smv__tool[aria-pressed=\"true\"]{background:var(--n);color:#fff}\n.sm3d .smv .smv__chip{background:var(--bg);color:var(--n);border:0}\n.sm3d .smv .smv__chip:hover{background:#E2E8F0}\n.sm3d .smv .smv__chip[aria-pressed=\"true\"]{background:var(--n);color:#fff}\n.sm3d .smv .smv__line.is-off .smv__row,.sm3d .smv .smv__line.is-off .smv__eye{color:#94A3B8}\n.sm3d .smv .smv__btn{background:var(--n);color:#fff;border:0}\n.sm3d .smv .smv__btn--g{background:var(--bg);color:var(--n)}\n.sm3d .smv .smv__showall{background:var(--o);color:var(--n)}\n.sm3d .sm3d__grid .sm3d__card{background:#fff;border:0;color:inherit}\n<\/style>\n<script>(function(){\nvar root=document.querySelector('[data-sm3d]');if(!root||root.dataset.ok)return;root.dataset.ok=1;\nvar MODELS=window.SM3D_MODELS||[];\nvar L=(document.documentElement.lang||'es').toLowerCase();L=L.indexOf('pt')===0?'pt':L.slice(0,2);\nvar I18N={\nes:{eb:'Modelo 3D',load:'Cargando modelo\u2026',err:'No se ha podido cargar el modelo.',open:'Ver en 3D',layers:'Capas',pAll:'Todo',pStr:'Solo estructura',xray:'Rayos X',hide:'Ocultar',iso:'Aislar',desel:'Quitar selecci\u00f3n',showall:'Mostrar todo',clrm:'Borrar medidas',axY:'Horizontal',axX:'Vertical X',axZ:'Vertical Z',flip:'Invertir',expl:'Despiece por capas',hidden:'ocultos',items:'elementos',copied:'Enlace copiado',\nhint:'Clic: seleccionar \u00b7 Doble clic: acercar \u00b7 Arrastrar: girar \u00b7 Bot\u00f3n derecho: desplazar \u00b7 H ocultar \u00b7 I aislar \u00b7 Esc',hintM:'Haz clic en dos puntos para medir',\nt:{tree:'Mostrar u ocultar el panel',prev:'Modelo anterior',next:'Modelo siguiente',share:'Copiar enlace',full:'Pantalla completa',close:'Cerrar',sel:'Seleccionar',meas:'Medir',sect:'Plano de corte',expl:'Despiece',v3d:'Vista 3D',vtop:'Planta',vfront:'Alzado frontal',vside:'Alzado lateral',ortho:'Vista ortogonal',spin:'Girar autom\u00e1ticamente',fit:'Encuadrar',shot:'Descargar imagen'},\ng:{fachada:'Paneles de fachada',cubierta:'Cubierta',secundaria:'Subestructura de paneles',carpinteria:'Carpinter\u00eda',estructura:'Estructura',uniones:'Uniones',suelo:'Suelo y forjado',escaleras:'Escaleras',cimentacion:'Cimentaci\u00f3n',otros:'Otros'},\ngp:{paneles:'Paneles y subestructura'},\nty:{IFCBEAM:'Viga',IFCCOLUMN:'Pilar',IFCMEMBER:'Perfil',IFCPLATE:'Placa',IFCSLAB:'Losa',IFCWALL:'Muro',IFCWALLSTANDARDCASE:'Muro',IFCCURTAINWALL:'Muro cortina',IFCROOF:'Cubierta',IFCCOVERING:'Revestimiento',IFCBUILDINGELEMENTPROXY:'Pieza',IFCMECHANICALFASTENER:'Torniller\u00eda',IFCFASTENER:'Fijaci\u00f3n',IFCDISCRETEACCESSORY:'Accesorio',IFCFOOTING:'Zapata',IFCDOOR:'Puerta',IFCWINDOW:'Ventana',IFCSTAIR:'Escalera',IFCSTAIRFLIGHT:'Tramo de escalera',IFCRAILING:'Barandilla'}},\nca:{eb:'Model 3D',load:'Carregant el model\u2026',err:\"No s'ha pogut carregar el model.\",open:'Veure en 3D',layers:'Capes',pAll:'Tot',pStr:'Nom\u00e9s estructura',xray:'Raigs X',hide:'Amagar',iso:'A\u00efllar',desel:'Treure selecci\u00f3',showall:'Mostrar-ho tot',clrm:'Esborrar mesures',axY:'Horitzontal',axX:'Vertical X',axZ:'Vertical Z',flip:'Invertir',expl:'Esquema desmuntat per capes',hidden:'amagats',items:'elements',copied:'Enlla\u00e7 copiat',\nhint:'Clic: seleccionar \u00b7 Doble clic: apropar \u00b7 Arrossegar: girar \u00b7 Bot\u00f3 dret: despla\u00e7ar \u00b7 H amagar \u00b7 I a\u00efllar \u00b7 Esc',hintM:'Fes clic en dos punts per mesurar',\nt:{tree:'Mostrar o amagar el panell',prev:'Model anterior',next:'Model seg\u00fcent',share:'Copiar enlla\u00e7',full:'Pantalla completa',close:'Tancar',sel:'Seleccionar',meas:'Mesurar',sect:'Pla de tall',expl:'Desmuntar',v3d:'Vista 3D',vtop:'Planta',vfront:'Al\u00e7at frontal',vside:'Al\u00e7at lateral',ortho:'Vista ortogonal',spin:'Girar autom\u00e0ticament',fit:'Enquadrar',shot:'Descarregar imatge'},\ng:{fachada:'Panells de fa\u00e7ana',cubierta:'Coberta',secundaria:'Subestructura de panells',carpinteria:'Fusteria',estructura:'Estructura',uniones:'Unions',suelo:'Terra i forjat',escaleras:'Escales',cimentacion:'Fonamentaci\u00f3',otros:'Altres'},gp:{paneles:'Panells i subestructura'},\nty:{IFCBEAM:'Biga',IFCCOLUMN:'Pilar',IFCMEMBER:'Perfil',IFCPLATE:'Placa',IFCSLAB:'Llosa',IFCWALL:'Mur',IFCROOF:'Coberta',IFCBUILDINGELEMENTPROXY:'Pe\u00e7a',IFCDOOR:'Porta',IFCWINDOW:'Finestra',IFCSTAIR:'Escala',IFCRAILING:'Barana'}},\nen:{eb:'3D model',load:'Loading model\u2026',err:'The model could not be loaded.',open:'View in 3D',layers:'Layers',pAll:'All',pStr:'Structure only',xray:'X-ray',hide:'Hide',iso:'Isolate',desel:'Clear selection',showall:'Show all',clrm:'Clear measurements',axY:'Horizontal',axX:'Vertical X',axZ:'Vertical Z',flip:'Flip',expl:'Exploded view by layer',hidden:'hidden',items:'items',copied:'Link copied',\nhint:'Click: select \u00b7 Double-click: zoom in \u00b7 Drag: rotate \u00b7 Right-drag: pan \u00b7 H hide \u00b7 I isolate \u00b7 Esc',hintM:'Click two points to measure',\nt:{tree:'Show or hide the panel',prev:'Previous model',next:'Next model',share:'Copy link',full:'Full screen',close:'Close',sel:'Select',meas:'Measure',sect:'Section plane',expl:'Explode',v3d:'3D view',vtop:'Plan',vfront:'Front elevation',vside:'Side elevation',ortho:'Orthographic view',spin:'Auto-rotate',fit:'Fit to view',shot:'Download image'},\ng:{fachada:'Wall panels',cubierta:'Roof',secundaria:'Panel substructure',carpinteria:'Doors and windows',estructura:'Structure',uniones:'Connections',suelo:'Floor',escaleras:'Stairs',cimentacion:'Foundations',otros:'Other'},gp:{paneles:'Panels and substructure'},\nty:{IFCBEAM:'Beam',IFCCOLUMN:'Column',IFCMEMBER:'Member',IFCPLATE:'Plate',IFCSLAB:'Slab',IFCWALL:'Wall',IFCROOF:'Roof',IFCBUILDINGELEMENTPROXY:'Part',IFCDOOR:'Door',IFCWINDOW:'Window',IFCSTAIR:'Stair',IFCRAILING:'Railing'}},\nfr:{eb:'Mod\u00e8le 3D',load:'Chargement du mod\u00e8le\u2026',err:'Impossible de charger le mod\u00e8le.',open:'Voir en 3D',layers:'Calques',pAll:'Tout',pStr:'Structure seule',xray:'Rayons X',hide:'Masquer',iso:'Isoler',desel:'D\u00e9s\u00e9lectionner',showall:'Tout afficher',clrm:'Effacer les mesures',axY:'Horizontal',axX:'Vertical X',axZ:'Vertical Z',flip:'Inverser',expl:'Vue \u00e9clat\u00e9e par calque',hidden:'masqu\u00e9s',items:'\u00e9l\u00e9ments',copied:'Lien copi\u00e9',\nhint:'Clic : s\u00e9lectionner \u00b7 Double-clic : zoomer \u00b7 Glisser : tourner \u00b7 Clic droit : d\u00e9placer \u00b7 H masquer \u00b7 I isoler \u00b7 \u00c9chap',hintM:'Cliquez sur deux points pour mesurer',\nt:{tree:'Afficher ou masquer le panneau',prev:'Mod\u00e8le pr\u00e9c\u00e9dent',next:'Mod\u00e8le suivant',share:'Copier le lien',full:'Plein \u00e9cran',close:'Fermer',sel:'S\u00e9lectionner',meas:'Mesurer',sect:'Plan de coupe',expl:'\u00c9clater',v3d:'Vue 3D',vtop:'Plan',vfront:'\u00c9l\u00e9vation de face',vside:'\u00c9l\u00e9vation lat\u00e9rale',ortho:'Vue orthogonale',spin:'Rotation automatique',fit:'Recadrer',shot:\"T\u00e9l\u00e9charger l'image\"},\ng:{fachada:'Panneaux de fa\u00e7ade',cubierta:'Toiture',secundaria:'Ossature des panneaux',carpinteria:'Menuiseries',estructura:'Structure',uniones:'Assemblages',suelo:'Plancher',escaleras:'Escaliers',cimentacion:'Fondations',otros:'Autres'},gp:{paneles:'Panneaux et ossature'},\nty:{IFCBEAM:'Poutre',IFCCOLUMN:'Poteau',IFCMEMBER:'Profil\u00e9',IFCPLATE:'Plaque',IFCSLAB:'Dalle',IFCWALL:'Mur',IFCROOF:'Toiture',IFCBUILDINGELEMENTPROXY:'Pi\u00e8ce',IFCDOOR:'Porte',IFCWINDOW:'Fen\u00eatre',IFCSTAIR:'Escalier',IFCRAILING:'Garde-corps'}},\nde:{eb:'3D-Modell',load:'Modell wird geladen\u2026',err:'Das Modell konnte nicht geladen werden.',open:'In 3D ansehen',layers:'Ebenen',pAll:'Alles',pStr:'Nur Tragwerk',xray:'R\u00f6ntgen',hide:'Ausblenden',iso:'Isolieren',desel:'Auswahl aufheben',showall:'Alles einblenden',clrm:'Messungen l\u00f6schen',axY:'Horizontal',axX:'Vertikal X',axZ:'Vertikal Z',flip:'Umkehren',expl:'Explosionsansicht nach Ebenen',hidden:'ausgeblendet',items:'Elemente',copied:'Link kopiert',\nhint:'Klick: ausw\u00e4hlen \u00b7 Doppelklick: heranzoomen \u00b7 Ziehen: drehen \u00b7 Rechtsklick: verschieben \u00b7 H ausblenden \u00b7 I isolieren \u00b7 Esc',hintM:'Klicken Sie auf zwei Punkte, um zu messen',\nt:{tree:'Seitenleiste ein-\/ausblenden',prev:'Vorheriges Modell',next:'N\u00e4chstes Modell',share:'Link kopieren',full:'Vollbild',close:'Schlie\u00dfen',sel:'Ausw\u00e4hlen',meas:'Messen',sect:'Schnittebene',expl:'Explosion',v3d:'3D-Ansicht',vtop:'Grundriss',vfront:'Vorderansicht',vside:'Seitenansicht',ortho:'Orthogonale Ansicht',spin:'Automatisch drehen',fit:'Einpassen',shot:'Bild herunterladen'},\ng:{fachada:'Wandpaneele',cubierta:'Dach',secundaria:'Unterkonstruktion',carpinteria:'T\u00fcren und Fenster',estructura:'Tragwerk',uniones:'Verbindungen',suelo:'Boden',escaleras:'Treppen',cimentacion:'Fundament',otros:'Sonstiges'},gp:{paneles:'Paneele und Unterkonstruktion'},\nty:{IFCBEAM:'Tr\u00e4ger',IFCCOLUMN:'St\u00fctze',IFCMEMBER:'Profil',IFCPLATE:'Blech',IFCSLAB:'Platte',IFCWALL:'Wand',IFCROOF:'Dach',IFCBUILDINGELEMENTPROXY:'Bauteil',IFCDOOR:'T\u00fcr',IFCWINDOW:'Fenster',IFCSTAIR:'Treppe',IFCRAILING:'Gel\u00e4nder'}},\nit:{eb:'Modello 3D',load:'Caricamento del modello\u2026',err:'Impossibile caricare il modello.',open:'Vedi in 3D',layers:'Livelli',pAll:'Tutto',pStr:'Solo struttura',xray:'Raggi X',hide:'Nascondi',iso:'Isola',desel:'Deseleziona',showall:'Mostra tutto',clrm:'Cancella misure',axY:'Orizzontale',axX:'Verticale X',axZ:'Verticale Z',flip:'Inverti',expl:'Esploso per livelli',hidden:'nascosti',items:'elementi',copied:'Link copiato',\nhint:'Clic: seleziona \u00b7 Doppio clic: avvicina \u00b7 Trascina: ruota \u00b7 Tasto destro: sposta \u00b7 H nascondi \u00b7 I isola \u00b7 Esc',hintM:'Fai clic su due punti per misurare',\nt:{tree:'Mostra o nascondi il pannello',prev:'Modello precedente',next:'Modello successivo',share:'Copia link',full:'Schermo intero',close:'Chiudi',sel:'Seleziona',meas:'Misura',sect:'Piano di sezione',expl:'Esploso',v3d:'Vista 3D',vtop:'Pianta',vfront:'Prospetto frontale',vside:'Prospetto laterale',ortho:'Vista ortogonale',spin:'Rotazione automatica',fit:'Inquadra',shot:'Scarica immagine'},\ng:{fachada:'Pannelli di facciata',cubierta:'Copertura',secundaria:'Sottostruttura dei pannelli',carpinteria:'Serramenti',estructura:'Struttura',uniones:'Giunzioni',suelo:'Pavimento',escaleras:'Scale',cimentacion:'Fondazioni',otros:'Altro'},gp:{paneles:'Pannelli e sottostruttura'},\nty:{IFCBEAM:'Trave',IFCCOLUMN:'Pilastro',IFCMEMBER:'Profilo',IFCPLATE:'Piastra',IFCSLAB:'Solaio',IFCWALL:'Muro',IFCROOF:'Copertura',IFCBUILDINGELEMENTPROXY:'Pezzo',IFCDOOR:'Porta',IFCWINDOW:'Finestra',IFCSTAIR:'Scala',IFCRAILING:'Ringhiera'}},\npt:{eb:'Modelo 3D',load:'A carregar o modelo\u2026',err:'N\u00e3o foi poss\u00edvel carregar o modelo.',open:'Ver em 3D',layers:'Camadas',pAll:'Tudo',pStr:'S\u00f3 estrutura',xray:'Raio X',hide:'Ocultar',iso:'Isolar',desel:'Limpar sele\u00e7\u00e3o',showall:'Mostrar tudo',clrm:'Apagar medi\u00e7\u00f5es',axY:'Horizontal',axX:'Vertical X',axZ:'Vertical Z',flip:'Inverter',expl:'Vista explodida por camadas',hidden:'ocultos',items:'elementos',copied:'Liga\u00e7\u00e3o copiada',\nhint:'Clique: selecionar \u00b7 Duplo clique: aproximar \u00b7 Arrastar: rodar \u00b7 Bot\u00e3o direito: deslocar \u00b7 H ocultar \u00b7 I isolar \u00b7 Esc',hintM:'Clique em dois pontos para medir',\nt:{tree:'Mostrar ou ocultar o painel',prev:'Modelo anterior',next:'Modelo seguinte',share:'Copiar liga\u00e7\u00e3o',full:'Ecr\u00e3 inteiro',close:'Fechar',sel:'Selecionar',meas:'Medir',sect:'Plano de corte',expl:'Explodir',v3d:'Vista 3D',vtop:'Planta',vfront:'Al\u00e7ado frontal',vside:'Al\u00e7ado lateral',ortho:'Vista ortogonal',spin:'Rodar automaticamente',fit:'Enquadrar',shot:'Descarregar imagem'},\ng:{fachada:'Pain\u00e9is de fachada',cubierta:'Cobertura',secundaria:'Subestrutura dos pain\u00e9is',carpinteria:'Caixilharia',estructura:'Estrutura',uniones:'Uni\u00f5es',suelo:'Pavimento',escaleras:'Escadas',cimentacion:'Funda\u00e7\u00f5es',otros:'Outros'},gp:{paneles:'Pain\u00e9is e subestrutura'},\nty:{IFCBEAM:'Viga',IFCCOLUMN:'Pilar',IFCMEMBER:'Perfil',IFCPLATE:'Chapa',IFCSLAB:'Laje',IFCWALL:'Parede',IFCROOF:'Cobertura',IFCBUILDINGELEMENTPROXY:'Pe\u00e7a',IFCDOOR:'Porta',IFCWINDOW:'Janela',IFCSTAIR:'Escada',IFCRAILING:'Guarda'}}\n};\nvar T=I18N[L]||I18N.es;var TY=Object.assign({},I18N.es.ty,T.ty);\nvar LAYERS={fachada:'#E8EBEF',cubierta:'#5B6B80',secundaria:'#B4BDC8',carpinteria:'#9CC3E6',estructura:'#8E99A6',uniones:'#F39200',suelo:'#C9A57C',escaleras:'#7C8796',cimentacion:'#A8A29E',otros:'#CBD5E1'};\nvar DEFPAL=3;\nvar PALS=[\n{fachada:{c:0xE6E9ED,e:0x5E6B7A,eo:.75},cubierta:{c:0x8A97A6,e:0x3B4757,eo:.8},carpinteria:{c:0x9CC3E6,e:0x3E6F99,eo:.7},secundaria:{c:0xC4CCD5,e:0x6B7786,eo:.7,mt:.35,r:.45},estructura:{c:0x7F93AB,e:0x2B3A4D,eo:.75,mt:.35,r:.45},uniones:{c:0xF39200,em:0x8A4200,mt:.2,r:.5},suelo:{c:0xC9A57C,e:0x7A5B3A,eo:.6},escaleras:{c:0x7C8796,e:0x343D48,eo:.7}},\n{fachada:{c:0xF3F5F8,e:0x0D2148,eo:.45},cubierta:{c:0xA3AEBA,e:0x0D2148,eo:.55},carpinteria:{c:0x8FB8DE,e:0x0D2148,eo:.6},secundaria:{c:0x8CB4D6,e:0x1E4A73,eo:.7,mt:.3,r:.45},estructura:{c:0x2F5D8A,e:0x0B1C3F,eo:.8,mt:.3,r:.45},uniones:{c:0xF39200,em:0x8A4200,mt:.2,r:.5},suelo:{c:0xD2B48C,e:0x7A5B3A,eo:.6},escaleras:{c:0x51606F,e:0x1F2933,eo:.7}},\n{fachada:{c:0xCDD2D8,e:0x48525E,eo:.8},cubierta:{c:0x434B55,e:0x1C2128,eo:.9},carpinteria:{c:0x9CC3E6,e:0x3E6F99,eo:.7},secundaria:{c:0xD9DEE3,e:0x6F7A86,eo:.7,mt:.4,r:.4},estructura:{c:0xAAB4BF,e:0x3A4450,eo:.8,mt:.45,r:.4},uniones:{c:0xF39200,em:0x8A4200,mt:.2,r:.5},suelo:{c:0xC9A57C,e:0x7A5B3A,eo:.6},escaleras:{c:0x7C8796,e:0x343D48,eo:.7}},\n{fachada:{c:0xE9ECEF,e:0x5E6B7A,eo:.7},cubierta:{c:0x4A535E,e:0x1C2128,eo:.85},carpinteria:{c:0x9CC3E6,e:0x3E6F99,eo:.7},secundaria:{c:0xC9D0D8,e:0x6B7786,eo:.7,mt:.4,r:.4},estructura:{c:0xA9B1BA,e:0x3A434D,eo:.75,mt:.5,r:.38},uniones:{c:0xF39200,mt:.25,r:.45,e:0x5A2E00,eo:.6,ta:50},suelo:{c:0xC9A57C,e:0x7A5B3A,eo:.6},escaleras:{c:0x7C8796,e:0x343D48,eo:.7}}];\nvar PAL=PALS[window.SM3D_PAL!=null?window.SM3D_PAL:DEFPAL]||PALS[0];\nObject.keys(PAL).forEach(function(l){LAYERS[l]='#'+('00000'+PAL[l].c.toString(16)).slice(-6)});\nvar PANEL=['fachada','cubierta','remates','secundaria','carpinteria'];(function(){var RM={es:'Remates',ca:'Remats',en:'Flashings and trims',fr:'Habillages et bavettes',de:'Kantteile und Abdeckungen',it:'Scossaline e rifiniture',pt:'Remates'};T.g=Object.assign({},T.g,{remates:RM[L]||RM.es});if(!PAL.remates)PAL.remates={c:0xF4F6F8,e:0x5E6B7A,eo:.75};LAYERS.remates='#F4F6F8'})();\nvar ORDER=['paneles','estructura','uniones','suelo','escaleras','cimentacion','otros'];\nvar EXPL={remates:0.85,cubierta:1,fachada:0.65,carpinteria:0.65,secundaria:0.35,uniones:0.12,estructura:0,suelo:-0.12,escaleras:0,cimentacion:-0.25,otros:0};\nvar $=function(s,c){return (c||root).querySelector(s)},$$=function(s,c){return [].slice.call((c||root).querySelectorAll(s))};\n$$('[data-k]').forEach(function(e){if(typeof T[e.dataset.k]==='string')e.textContent=T[e.dataset.k]});\n$$('[data-t]').forEach(function(e){var s=T.t[e.dataset.t];if(s){e.setAttribute('aria-label',s);e.title=s}});\nvar EYE='<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z\"\/><circle cx=\"12\" cy=\"12\" r=\"3\"\/><\/svg>',EYEOFF='<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M3 3l18 18M10.6 5.1A10 10 0 0112 5c6.4 0 10 7 10 7a17 17 0 01-3.2 4.2M6.6 6.6C3.9 8.4 2 12 2 12s3.6 7 10 7a9.6 9.6 0 004.4-1.1M9.9 9.9a3 3 0 004.2 4.2\"\/><\/svg>',CHEV='<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 6l6 6-6 6\"\/><\/svg>';\nvar grid=$('.sm3d__grid');\nMODELS.forEach(function(m,i){var b=document.createElement('button');b.type='button';b.className='sm3d__card';b.setAttribute('role','listitem');b.dataset.i=i;\nb.innerHTML='<span class=\"sm3d__ph\"><img loading=\"lazy\" loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"500\" alt=\"\"><img loading=\"lazy\" loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"500\" alt=\"\"><span class=\"sm3d__badge\"><\/span><\/span><span class=\"sm3d__ct\"><strong><\/strong><span class=\"sm3d__d\"><\/span><span class=\"sm3d__m\"><\/span><\/span>';\nvar im=b.querySelectorAll('img');im[0].src=m.p1;im[0].alt=m.a||m.t;im[1].src=m.p2||m.p1;b.querySelector('.sm3d__badge').textContent=T.open;b.querySelector('strong').textContent=m.t;var dd=b.querySelector('.sm3d__d');dd.textContent=m.d||'';dd.hidden=!m.d;b.querySelector('.sm3d__m').textContent=m.m||'';grid.appendChild(b)});\nvar dlg=$('.smv'),cv=$('.smv__cv'),loadEl=$('.smv__load'),treeEl=$('.smv__tree'),info=$('.smv__info'),hint=$('.smv__hint'),labels=$('.smv__labels');\nhint.textContent=T.hint;\nvar CDN='https:\/\/cdn.jsdelivr.net\/npm\/three@0.160.0\/';\nvar V=null,cur=-1,lastBtn=null;\nfunction libs(){return Promise.all([import(CDN+'+esm'),import(CDN+'examples\/jsm\/controls\/OrbitControls.js\/+esm'),import(CDN+'examples\/jsm\/loaders\/GLTFLoader.js\/+esm'),import(CDN+'examples\/jsm\/libs\/meshopt_decoder.module.js\/+esm'),import(CDN+'examples\/jsm\/environments\/RoomEnvironment.js\/+esm')])}\nfunction viewer(M){\nvar THREE=M[0];\nvar r=new THREE.WebGLRenderer({canvas:cv,antialias:true,alpha:true,preserveDrawingBuffer:false});r.setClearColor(0x000000,0);r.setPixelRatio(Math.min(2,window.devicePixelRatio||1));r.outputColorSpace=THREE.SRGBColorSpace;r.toneMapping=THREE.ACESFilmicToneMapping;r.localClippingEnabled=true;\nvar sc=new THREE.Scene();var pm=new THREE.PMREMGenerator(r);sc.environment=pm.fromScene(new M[4].RoomEnvironment(),0.04).texture;\nvar dl=new THREE.DirectionalLight(0xffffff,1.4);dl.position.set(5,10,7);sc.add(dl);sc.add(new THREE.HemisphereLight(0xffffff,0xb0b8c4,0.5));\nvar pc=new THREE.PerspectiveCamera(32,1,0.1,2000),oc=new THREE.OrthographicCamera(-1,1,1,-1,-1000,1000),cam=pc;\nvar ctl=new M[1].OrbitControls(pc,cv);ctl.enableDamping=true;ctl.dampingFactor=0.09;ctl.screenSpacePanning=true;ctl.zoomToCursor=true;\nvar ld=new M[2].GLTFLoader();ld.setMeshoptDecoder(M[3].MeshoptDecoder);\nvar ground=new THREE.Mesh(new THREE.CircleGeometry(1,72),new THREE.MeshBasicMaterial({color:0xDCE2E9}));ground.rotation.x=-Math.PI\/2;sc.add(ground);\nvar grp=new THREE.Group();sc.add(grp);\nvar clip=new THREE.Plane(new THREE.Vector3(0,-1,0),1e6),clipOn=false,axis='y',flip=false;\nvar selMat=new THREE.MeshBasicMaterial({color:0xF39200,transparent:true,opacity:0.85,depthTest:true,polygonOffset:true,polygonOffsetFactor:-2,polygonOffsetUnits:-2,side:THREE.DoubleSide,clippingPlanes:[]});\nvar model=null,meshes=[],ud=null,nel=0,hidden=null,elLayer=null,selected=new Set(),selMeshes=[],box=new THREE.Box3(),R=1,C=new THREE.Vector3(),need=true,raf=0,spin=false,xray=false,mode='sel',meas=[],mPts=[],explode=0;\nvar layerOff={};var tween=null;\nvar edgeMats={},FADE={value:10};\nfunction edgeMat(l){if(!edgeMats[l]){var p=PAL[l]||{};var lm=new THREE.LineBasicMaterial({color:p.e!=null?p.e:0x334155,transparent:true,opacity:p.eo||0.6,depthWrite:false});lm.onBeforeCompile=function(s){s.uniforms.uFade=FADE;s.vertexShader='varying float vD;\\n'+s.vertexShader.replace('#include <project_vertex>','#include <project_vertex>\\nmvPosition.xyz+=(isPerspectiveMatrix(projectionMatrix)?normalize(-mvPosition.xyz):vec3(0.,0.,1.))*max(0.0004,-mvPosition.z*0.00003);\\nvD=-mvPosition.z;\\ngl_Position=projectionMatrix*mvPosition;');s.fragmentShader='uniform float uFade;\\nvarying float vD;\\n'+s.fragmentShader.replace('#include <opaque_fragment>','#include <opaque_fragment>\\ngl_FragColor.a*=clamp(uFade\/max(vD,0.001),0.3,1.0);')};edgeMats[l]=lm}return edgeMats[l]}\nfunction paint(o){var p=PAL[o.userData.layer],m=o.material;if(p){m.color.setHex(p.c);if('roughness' in m){m.roughness=p.r!=null?p.r:0.62;m.metalness=p.mt!=null?p.mt:0.05}if(p.em!=null&&m.emissive)m.emissive.setHex(p.em)}}\nfunction buildEdges(flt){FADE.value=R*1.8;var cosT0=Math.cos(Math.PI\/180*30),a=new THREE.Vector3(),b=new THREE.Vector3(),c=new THREE.Vector3();meshes.forEach(function(o){var u=o.userData,p=PAL[u.layer];if(!p||p.e==null||u.edge||(flt&&!flt(u.layer)))return;if(u.layer==='uniones'&&u.idx0.length>3e6)return;var cosT=p.ta?Math.cos(Math.PI\/180*p.ta):cosT0;var P=o.geometry.attributes.position,src=u.idx0,te=u.te,nf=src.length\/3;if(!nf)return;\nvar weld=new Int32Array(P.count).fill(-1),map=new Map(),W=0;for(var f=0;f<nf;f++){var e=te[f];for(var k=0;k<3;k++){var v=src[f*3+k];if(weld[v]>=0)continue;var key=e+'|'+P.getX(v)+'|'+P.getY(v)+'|'+P.getZ(v),w=map.get(key);if(w===undefined){w=W++;map.set(key,w)}weld[v]=w}}map=null;\nvar N=new Float32Array(nf*3);for(f=0;f<nf;f++){a.fromBufferAttribute(P,src[f*3]);b.fromBufferAttribute(P,src[f*3+1]).sub(a);c.fromBufferAttribute(P,src[f*3+2]).sub(a);b.cross(c);var L=b.length()||1;N[f*3]=b.x\/L;N[f*3+1]=b.y\/L;N[f*3+2]=b.z\/L}\nvar em=new Map(),seg=[],se=[];function push(id){var f0=(id\/3)|0,k0=id%3;seg.push(src[f0*3+k0],src[f0*3+(k0+1)%3]);se.push(te[f0])}\nfor(f=0;f<nf;f++)for(k=0;k<3;k++){var w1=weld[src[f*3+k]],w2=weld[src[f*3+(k+1)%3]];if(w1===w2)continue;var ky=w1<w2?w1*W+w2:w2*W+w1,g0=em.get(ky);if(g0===undefined){em.set(ky,f*3+k);continue}if(g0<0)continue;var f1=(g0\/3)|0;var dt=N[f1*3]*N[f*3]+N[f1*3+1]*N[f*3+1]+N[f1*3+2]*N[f*3+2];if(Math.abs(dt)<cosT)push(g0);em.set(ky,-1)}\nem.forEach(function(v){if(v>=0)push(v)});em=null;if(!seg.length)return;\nvar idx=new Uint32Array(seg),g=new THREE.BufferGeometry();g.setAttribute('position',P);g.setIndex(new THREE.BufferAttribute(idx.slice(),1));var ls=new THREE.LineSegments(g,edgeMat(u.layer));ls.raycast=function(){};ls.renderOrder=1;o.add(ls);u.edge={ls:ls,idx0:idx,se:new Uint32Array(se),buf:new Uint32Array(idx.length)}})}\n\nfunction size(){var w=cv.clientWidth,h=cv.clientHeight;if(!w||!h)return;r.setSize(w,h,false);pc.aspect=w\/h;pc.updateProjectionMatrix();var a=w\/h,s=oc.userData.s||R;oc.left=-s*a;oc.right=s*a;oc.top=s;oc.bottom=-s;oc.updateProjectionMatrix();need=true}\nnew ResizeObserver(size).observe(cv);\nctl.addEventListener('change',function(){need=true});\nfunction loop(){raf=requestAnimationFrame(loop);if(tween){var t=Math.min(1,(performance.now()-tween.t0)\/tween.d),e=t<.5?4*t*t*t:1-Math.pow(-2*t+2,3)\/2;cam.position.lerpVectors(tween.p0,tween.p1,e);ctl.target.lerpVectors(tween.t0v,tween.t1,e);if(cam.isOrthographicCamera){cam.zoom=tween.z0+(tween.z1-tween.z0)*e;cam.updateProjectionMatrix()}need=true;if(t>=1)tween=null}\nctl.autoRotate=spin;ctl.autoRotateSpeed=1.2;\nif(ctl.update()||need||spin){if(cam===pc){var nn=Math.max(R\/5000,cam.position.distanceTo(ctl.target)*0.02);if(Math.abs(pc.near-nn)>nn*0.1){pc.near=nn;pc.updateProjectionMatrix()}}r.render(sc,cam);need=false;drawLabels()}}\nfunction go(p,t,d){tween={p0:cam.position.clone(),p1:p,t0v:ctl.target.clone(),t1:t,t0:performance.now(),d:d===0?1:(d||650),z0:cam.zoom||1,z1:1}}\nfunction dirPos(az,el,dist,target){return new THREE.Vector3(target.x+dist*Math.cos(el)*Math.sin(az),target.y+dist*Math.sin(el),target.z+dist*Math.cos(el)*Math.cos(az))}\nfunction dist(){return R\/Math.sin(THREE.MathUtils.degToRad(16))*(cv.clientWidth\/cv.clientHeight<1.2?1.25:1.02)}\nfunction view(v,d){var t=C.clone(),D=dist(),p;if(v==='top')p=new THREE.Vector3(C.x,C.y+D,C.z+0.0001);else if(v==='front')p=new THREE.Vector3(C.x,C.y,C.z+D);else if(v==='side')p=new THREE.Vector3(C.x+D,C.y,C.z);else p=dirPos(-0.75,0.42,D,C);oc.userData.s=R*0.62;size();go(p,t,d)}\nfunction rebuild(){meshes.forEach(function(o){var u=o.userData,src=u.idx0,te=u.te,n=0,out=u.buf;if(layerOff[u.layer]){o.visible=false;return}o.visible=true;for(var i=0,f=0;i<src.length;i+=3,f++){if(!hidden[te[f]]){out[n++]=src[i];out[n++]=src[i+1];out[n++]=src[i+2]}}o.geometry.index.array.set(out.subarray(0,n));o.geometry.setDrawRange(0,n);o.geometry.index.needsUpdate=true;var E=u.edge;if(E){var m2=0,s0=E.idx0;for(var q=0,s=0;q<s0.length;q+=2,s++){if(!hidden[E.se[s]]){E.buf[m2++]=s0[q];E.buf[m2++]=s0[q+1]}}var gi=E.ls.geometry.index;gi.array.set(E.buf.subarray(0,m2));E.ls.geometry.setDrawRange(0,m2);gi.needsUpdate=true}});drawSel();status();need=true}\nfunction status(){var h=0;for(var i=0;i<nel;i++)if(hidden[i])h++;var hl=$('.smv__hid'),sa=$('.smv__showall');var any=h>0||Object.keys(layerOff).some(function(k){return layerOff[k]});hl.hidden=!h;hl.textContent=h+' '+T.hidden;sa.hidden=!any;syncTree()}\nfunction drawSel(){selMeshes.forEach(function(m){grp.remove(m);m.geometry.dispose()});selMeshes=[];if(!selected.size){info.hidden=true;syncTreeSel();return}\nmeshes.forEach(function(o){if(!o.visible)return;var u=o.userData,src=u.idx0,te=u.te,a=[];for(var i=0,f=0;i<src.length;i+=3,f++){var e=te[f];if(selected.has(e)&&!hidden[e])a.push(src[i],src[i+1],src[i+2])}if(!a.length)return;var g=new THREE.BufferGeometry();g.setAttribute('position',o.geometry.attributes.position);g.setIndex(a);var m=new THREE.Mesh(g,selMat);m.matrixAutoUpdate=false;m.matrix.copy(o.matrixWorld);m.renderOrder=2;grp.add(m);selMeshes.push(m)});\nshowInfo();syncTreeSel()}\nvar NMW={\nes:{cab:'Cable',om:'Gran omega',pil:'Pilar',vig:'Viga',uni:'Uni\u00f3n',pf:'Panel de fachada',pc:'Panel de cubierta',pt:'Panel tapa',pa:'Panel',pfo:'Panel de forjado',ten:'Tensor',tir:'Tirante',per:'Perfil',mad:'de madera laminada',bar:'Barra redonda',ref:'Refuerzo',ang:'Angular',can:'Canal\u00f3n',muro:'Muro de hormig\u00f3n',ph:'Pilar de hormig\u00f3n',pla:'Placa',suelo:'Suelo',rem:'Remate',unie:'Uni\u00f3n especial'},\nca:{cab:'Cable',om:'Gran omega',pil:'Pilar',vig:'Biga',uni:'Uni\u00f3',pf:'Panell de fa\u00e7ana',pc:'Panell de coberta',pt:'Panell tapa',pa:'Panell',pfo:'Panell de forjat',ten:'Tensor',tir:'Tirant',per:'Perfil',mad:'de fusta laminada',bar:'Barra rodona',ref:'Refor\u00e7',ang:'Angular',can:'Canal',muro:'Mur de formig\u00f3',ph:'Pilar de formig\u00f3',pla:'Placa',suelo:'Terra',rem:'Remat',unie:'Uni\u00f3 especial'},\nen:{cab:'Cable',om:'Large omega',pil:'Column',vig:'Beam',uni:'Joint',pf:'Wall panel',pc:'Roof panel',pt:'Cap panel',pa:'Panel',pfo:'Floor panel',ten:'Tension rod',tir:'Tie rod',per:'Profile',mad:'glulam',bar:'Round bar',ref:'Reinforcement',ang:'Angle',can:'Gutter',muro:'Concrete wall',ph:'Concrete column',pla:'Plate',suelo:'Floor',rem:'Flashing',unie:'Special joint'},\nfr:{cab:'C\u00e2ble',om:'Grand om\u00e9ga',pil:'Poteau',vig:'Poutre',uni:'Raccord',pf:'Panneau de fa\u00e7ade',pc:'Panneau de toiture',pt:'Panneau de rive',pa:'Panneau',pfo:'Panneau de plancher',ten:'Tirant',tir:'Tirant',per:'Profil\u00e9',mad:'en lamell\u00e9-coll\u00e9',bar:'Rond',ref:'Renfort',ang:'Corni\u00e8re',can:'Goutti\u00e8re',muro:'Mur en b\u00e9ton',ph:'Poteau en b\u00e9ton',pla:'Platine',suelo:'Sol',rem:'Bavette',unie:'Raccord sp\u00e9cial'},\nde:{cab:'Seil',om:'Gro\u00dfes Omega',pil:'St\u00fctze',vig:'Tr\u00e4ger',uni:'Verbinder',pf:'Wandpaneel',pc:'Dachpaneel',pt:'Abdeckpaneel',pa:'Paneel',pfo:'Bodenpaneel',ten:'Zugstange',tir:'Zugband',per:'Profil',mad:'aus Brettschichtholz',bar:'Rundstab',ref:'Verst\u00e4rkung',ang:'Winkel',can:'Dachrinne',muro:'Betonwand',ph:'Betonst\u00fctze',pla:'Platte',suelo:'Boden',rem:'Blechabdeckung',unie:'Sonderverbinder'},\nit:{cab:'Cavo',om:'Grande omega',pil:'Pilastro',vig:'Trave',uni:'Giunto',pf:'Pannello di facciata',pc:'Pannello di copertura',pt:'Pannello di testata',pa:'Pannello',pfo:'Pannello di solaio',ten:'Tirante',tir:'Tirante',per:'Profilo',mad:'in legno lamellare',bar:'Tondino',ref:'Rinforzo',ang:'Angolare',can:'Grondaia',muro:'Muro in calcestruzzo',ph:'Pilastro in calcestruzzo',pla:'Piastra',suelo:'Pavimento',rem:'Scossalina',unie:'Giunto speciale'},\npt:{cab:'Cabo',om:'Grande \u00f3mega',pil:'Pilar',vig:'Viga',uni:'Liga\u00e7\u00e3o',pf:'Painel de fachada',pc:'Painel de cobertura',pt:'Painel de remate',pa:'Painel',pfo:'Painel de laje',ten:'Tensor',tir:'Tirante',per:'Perfil',mad:'em madeira lamelada',bar:'Var\u00e3o',ref:'Refor\u00e7o',ang:'Cantoneira',can:'Caleira',muro:'Parede de bet\u00e3o',ph:'Pilar de bet\u00e3o',pla:'Chapa',suelo:'Pavimento',rem:'Remate',unie:'Liga\u00e7\u00e3o especial'}};\nfunction cleanName(raw,typ){var W=NMW[L]||NMW.es;var dec=L==='en'?'.':',';var s=String(raw||'').replace(\/-\\d{5,}\\b\/g,'').replace(\/\\s+\/g,' ').trim();\nvar parts=s.split(\/\\s*:\\s*\/);var a=parts[0]||'',b=parts.slice(1).join(' ')||'';var all=s;\nvar num=function(x){return String(x).replace(\/[.,]\/,dec)};var dim=function(x){return x.replace(\/\\s*[\\*xX\u00d7]\\s*\/g,'\u00d7')};\nvar m=all.match(\/(?:super|max)?omega(?:max)?\u00ae?\\s*(\\d{2,3})\\s*[xX\u00d7]\\s*(\\d+(?:[.,]\\d+)?)\/i)||all.match(\/\\bOM-?(\\d{2,3})\\s*[xX\u00d7]\\s*(\\d+(?:[.,]\\d+)?)\/);\nif(m)return W.om+' '+m[1]+' \u00d7 '+num(\/[.,]\/.test(m[2])?m[2]:m[2]+'.0');\nif(\/^omega\\b|^omega\\d*$\/i.test(a))return W.om;\nif(\/^\\d+$\/.test(all)||\/^(ninguno|column|ifc[a-z]+)$\/i.test(all)||\/^modelos? gen[e\u00e9]ric\/i.test(a))return '';\nvar cb=all.match(\/cable\\s*D?\\s*(\\d+)\/i);if(cb)return W.cab+' \u00d8'+cb[1];\nvar vm=all.match(\/\\bVM-?(\\d+)|\\bC\\.?\\s*D\\.?\\s*(\\d+)|\\bD(\\d+)\\s*mm\/i);if(vm)return W.bar+' \u00d8'+(vm[1]||vm[2]||vm[3]);\nvar ce=all.match(\/\\bCE-?(\\d+)\\s*[\\*xX\u00d7]\\s*(\\d+(?:[.,]\\d+)?)\/);if(ce)return W.per+' C '+ce[1]+'\u00d7'+num(ce[2]);\nif(\/kpl\\s*\\d\/i.test(all)){var kp=all.match(\/kpl\\s*(\\d+)\/i);return 'KPL'+kp[1]}\nif(\/glulam|madera|psl\/i.test(all)){var d=all.match(\/(\\d+)\\s*[xX\u00d7]\\s*(\\d+)\/);return (\/pilar\/i.test(all)?W.pil:W.vig)+' '+W.mad+(d?' '+d[1]+'\u00d7'+d[2]:'')}\nif(\/hormig\/i.test(all)){var d2=all.match(\/(\\d+)\\s*cm\/);var d3=all.match(\/(\\d{2,3})\\b\/);return \/muro\/i.test(all)?W.muro+(d2?' '+d2[1]+' cm':''):W.ph+(d3?' \u00d8'+d3[1]:'')}\nif(\/union especial\/i.test(all))return W.unie;\nvar h=all.match(\/\\b(HE[ABM]|IPE|UPN|IPN|UPE)\\s*(\\d{2,3})\/i)||all.match(\/\\bHE(\\d{3})([AB])\\b\/i);if(h){var pr=\/^\\d\/.test(h[1])?'HE'+h[2].toUpperCase()+' '+h[1]:h[1].toUpperCase()+' '+h[2];return (\/pilar\/i.test(all)?W.pil+' ':'')+pr}\nvar u=all.match(\/(?:^|[^0-9])((?:SERIE\\s*)?(\\d{4})-(\\d{1,3}[A-Za-z]?))(?![0-9])\/i)||all.match(\/\\b(SL\\d{2}-\\d{2}|UN-\\d{2})\\b\/i);\nif(u&&!\/pilar_|tub_\/i.test(all)&&!\/^(VIGAS|PILAR)\/i.test(a)){var code=u[2]?u[2]+'-'+u[3]:u[1];return W.uni+' '+code}\nif(\/tensor\/i.test(all))return W.ten;if(\/tirante\/i.test(all)){var tt=all.match(\/(\\d+)\/);return W.tir+(tt?' '+tt[1]:'')}\nvar t;if((t=all.match(\/(?:^|\\b)(VIGAS?|PILAR)\\b[^\\d]*?(\\d{2,}(?:\\s*[\\*xX\u00d7]\\s*\\d+){0,2})\/i))){var kind=\/pilar\/i.test(t[1])?W.pil:W.vig;var dd=dim(t[2]);if(\/tub_|pilar_\/i.test(all)&&dd.split('\u00d7').length===2){var q=dd.split('\u00d7');if(+q[1]<20)dd=q[0]+'\u00d7'+q[0]+'\u00d7'+q[1]}return \/^0\/.test(dd)?kind:kind+' '+dd}\nif(\/panel del sistema|^panel\/i.test(a)||\/fachada|cubierta|tapa|forjado\/i.test(b)){var mm=all.match(\/(\\d+)\\s*mm\/);var k=\/fachada\/i.test(all)?W.pf:\/cubierta|teja\/i.test(all)?W.pc:\/tapa\/i.test(all)?W.pt:\/forjado\/i.test(all)?W.pfo:W.pa;return k+(mm?' '+mm[1]+' mm':'')}\nif(\/barra|redond|c\\.?\\s*d\\.?\\s*\\d\/i.test(all)){var bb=all.match(\/(\\d+)\\s*mm\/);return W.bar+(bb?' \u00d8'+bb[1]:'')}\nif(\/refuerzo|refor\\d|^refesp\/i.test(all)){var rr=all.match(\/refuerzo\\s*-?\\s*(\\d+(?:-\\d+)?)\/i);return W.ref+(rr?' '+rr[1]:'')}\nif(\/oreja\/i.test(all)){var oo=all.match(\/(\\d+)\/);return 'Oreja'+(oo?' '+oo[1]:'')}\nif(\/platina|pletina\/i.test(all)){var pp=all.match(\/(\\d+(?:[.x\u00d7]\\d+)*)\/);return W.pla+(pp?' '+pp[1].replace(\/\\.\/g,'\u00d7'):'')}\nif(\/remate|imposta\/i.test(all))return W.rem;\nif(\/enrase|calibre delgado\/i.test(all)){var ce2=b.match(\/([A-Z]?\\d+(?:\\s*[xX\u00d7]\\s*\\d+)?)\/);return W.per+(ce2?' '+dim(ce2[1]):'')}\nif(\/angular|^L\\s*-|^L\\s*\\d+\\s*[xX\u00d7]\\s*\\d+\/i.test(all)){var lm=all.match(\/L\\s*(\\d+\\s*[xX\u00d7]\\s*\\d+(?:\\s*[xX\u00d7]\\s*\\d+)?)\/);return W.ang+(lm?' L '+dim(lm[1]):'')}\nif(\/canal[o\u00f3]n|canaleta|^canal\\b(?!es)\/i.test(all))return W.can;\nif(\/^forma directa\/i.test(a)&&b){var fd=b.match(\/(\\d+(?:\\s*[\\*xX\u00d7]\\s*\\d+){1,2})\/);if(fd)return W.per+' '+dim(fd[1]);if(\/pilar\/i.test(b))return W.pil}\nif(\/^\\d+\\s*[\\*xX\u00d7]\\s*\\d+\/.test(all))return W.per+' '+dim(all.match(\/\\d+(?:\\s*[\\*xX\u00d7]\\s*\\d+){1,2}\/)[0]);\nif(\/^suelo\/i.test(a))return W.suelo+(b&&!\/^suelo\/i.test(b)?' \u00b7 '+b:'');\nif(!a||a==='-'||\/^-+$\/.test(a))return '';\nvar bb2=b.replace(\/\\s+\\d$\/,'');if(\/^[A-Z]{1,5}[.\\-]?\\d+$\/.test(bb2))bb2='';a=a.replace(\/^\\w\/,function(c){return c.toUpperCase()});var sq=function(x){return x.toLowerCase().replace(\/[\\s_-]+\/g,'')};if(!bb2||sq(bb2)===sq(a)||sq(a).indexOf(sq(bb2))===0||sq(bb2).indexOf(sq(a))===0)return a.replace(\/[-_\\s]+$\/,'').replace(\/(\\d)\\*(?=\\d)\/g,'$1\u00d7');\nreturn (a+' \u00b7 '+bb2).replace(\/(\\d)\\*(?=\\d)\/g,'$1\u00d7')}\nfunction elName(e){var x=ud.el[e];return x?cleanName(ud.names[x[0]],ud.types[x[1]]):''}\nfunction elType(e){var x=ud.el[e];return x?(TY[ud.types[x[1]]]||''):''}\nfunction showInfo(){if(!selected.size){info.hidden=true;return}info.hidden=false;var arr=Array.from(selected);var e=arr[0];$('.smv__info-l').textContent=T.g[elLayer[e]]||'';if(arr.length===1){$('.smv__info-n').textContent=elName(e);$('.smv__info-c').textContent=elType(e)}else{$('.smv__info-n').textContent=arr.length+' '+T.items;var nm=elName(e),same=arr.every(function(x){return elName(x)===nm});$('.smv__info-c').textContent=same?nm:''}}\nfunction select(list,add){if(!add)selected.clear();list.forEach(function(e){if(add&&selected.has(e)&&list.length===1)selected.delete(e);else selected.add(e)});drawSel();need=true}\nfunction hideSel(){selected.forEach(function(e){hidden[e]=1});selected.clear();rebuild()}\nfunction isoSel(){if(!selected.size)return;for(var i=0;i<nel;i++)hidden[i]=selected.has(i)?0:1;Object.keys(layerOff).forEach(function(k){layerOff[k]=false});selected.clear();rebuild();fitVisible()}\nfunction showAll(){hidden.fill(0);Object.keys(layerOff).forEach(function(k){layerOff[k]=false});rebuild()}\nfunction fitBox(b,k){if(b.isEmpty())return;var c=b.getCenter(new THREE.Vector3()),rr=Math.max(b.getSize(new THREE.Vector3()).length()\/2,R*0.06);var dir=cam.position.clone().sub(ctl.target).normalize();go(c.clone().add(dir.multiplyScalar(rr\/Math.sin(THREE.MathUtils.degToRad(16))*k)),c)}\nfunction fitVisible(){var b=new THREE.Box3(),v=new THREE.Vector3();meshes.forEach(function(o){if(!o.visible)return;var g=o.geometry,p=g.attributes.position,ix=g.index.array,n=Math.min(ix.length,g.drawRange.count);for(var i=0;i<n;i++){v.fromBufferAttribute(p,ix[i]).applyMatrix4(o.matrixWorld);b.expandByPoint(v)}});fitBox(b,0.85)}\nfunction fitSel(){if(!selected.size)return fitVisible();var b=new THREE.Box3();selMeshes.forEach(function(m){m.geometry.computeBoundingBox();b.union(m.geometry.boundingBox.clone().applyMatrix4(m.matrix))});fitBox(b,1.1)}\nfunction mats(){meshes.forEach(function(o){var m=o.material,u=o.userData;if(!u.m0)u.m0={t:m.transparent,o:m.opacity,dw:m.depthWrite};var px=xray&&PANEL.indexOf(u.layer)>=0;m.transparent=px||u.m0.t;m.opacity=px?0.12:u.m0.o;m.depthWrite=px?false:u.m0.dw;m.clippingPlanes=clipOn?[clip]:[];m.needsUpdate=true;if(u.edge){var lm=u.edge.ls.material,pp=PAL[u.layer]||{};lm.clippingPlanes=clipOn?[clip]:[];lm.opacity=px?0.12:(pp.eo||0.6);lm.needsUpdate=true}});selMat.clippingPlanes=clipOn?[clip]:[];selMat.needsUpdate=true;need=true}\nfunction setClip(v){var mn=box.min[axis],mx=box.max[axis],x=mn+(mx-mn)*(v\/1000);var n=new THREE.Vector3();n[axis]=flip?1:-1;clip.normal.copy(n);clip.constant=flip?-x:x;need=true}\nfunction applyExplode(){meshes.forEach(function(o){var k=EXPL[o.userData.layer]||0;o.position.y=o.userData.y0+k*explode*(box.max.y-box.min.y)*1.6});if(model)model.updateMatrixWorld(true);drawSel();need=true}\nvar lineMat=new THREE.LineBasicMaterial({color:0x0D2148,depthTest:false}),dotMat=new THREE.MeshBasicMaterial({color:0xF39200,depthTest:false});\nfunction addDot(p){var d=new THREE.Mesh(new THREE.SphereGeometry(R*0.006,12,8),dotMat);d.position.copy(p);d.renderOrder=5;grp.add(d);return d}\nfunction measure(p){var d=addDot(p);mPts.push({p:p,d:d});if(mPts.length===2){var a=mPts[0].p,b=mPts[1].p;var g=new THREE.BufferGeometry().setFromPoints([a,b]);var ln=new THREE.Line(g,lineMat);ln.renderOrder=4;grp.add(ln);var el=document.createElement('div');el.className='smv__ml';el.textContent=a.distanceTo(b).toLocaleString(document.documentElement.lang||'es',{minimumFractionDigits:2,maximumFractionDigits:3})+' m';labels.appendChild(el);meas.push({a:a,b:b,objs:[mPts[0].d,mPts[1].d,ln],el:el});mPts=[];$('.smv__clrm').hidden=false}need=true}\nfunction clearMeas(){meas.forEach(function(m){m.objs.forEach(function(o){grp.remove(o);o.geometry.dispose()});m.el.remove()});mPts.forEach(function(m){grp.remove(m.d)});meas=[];mPts=[];$('.smv__clrm').hidden=true;need=true}\nfunction drawLabels(){if(!meas.length)return;var w=cv.clientWidth,h=cv.clientHeight,v=new THREE.Vector3();meas.forEach(function(m){v.copy(m.a).add(m.b).multiplyScalar(.5).project(cam);m.el.style.left=((v.x+1)\/2*w)+'px';m.el.style.top=((1-v.y)\/2*h)+'px';m.el.style.display=v.z>1?'none':''})}\nvar ray=new THREE.Raycaster(),ptr=new THREE.Vector2(),down=null;\nfunction pick(ev){var rc=cv.getBoundingClientRect();ptr.set(((ev.clientX-rc.left)\/rc.width)*2-1,-((ev.clientY-rc.top)\/rc.height)*2+1);ray.setFromCamera(ptr,cam);var hits=ray.intersectObjects(meshes.filter(function(o){return o.visible}),false);if(clipOn)hits=hits.filter(function(h){return clip.distanceToPoint(h.point)>=0});\nif(xray)hits.sort(function(a,b){var pa=PANEL.indexOf(a.object.userData.layer)>=0?1:0,pb=PANEL.indexOf(b.object.userData.layer)>=0?1:0;return (pa-pb)||(a.distance-b.distance)});return hits[0]}\ncv.addEventListener('pointerdown',function(e){down={x:e.clientX,y:e.clientY,b:e.button};if(spin){spin=false;$('[data-a=\"spin\"]').setAttribute('aria-pressed','false')}});\ncv.addEventListener('pointerup',function(e){if(!down||down.b!==0)return;var moved=Math.hypot(e.clientX-down.x,e.clientY-down.y)>5;down=null;if(moved||!model)return;var h=pick(e);\nif(mode==='meas'){if(h)measure(h.point.clone());return}\nif(!h){if(!e.shiftKey&&!e.ctrlKey&&!e.metaKey)select([]);return}var a=h.object.geometry.attributes.__eid;var eid=a?Math.round(a.getX(h.face.a)):0;select([eid],e.shiftKey||e.ctrlKey||e.metaKey)});\ncv.addEventListener('dblclick',function(e){if(mode!=='sel'||!model)return;var h=pick(e);if(!h)return;var p=h.point.clone(),dir=cam.position.clone().sub(ctl.target);go(p.clone().add(dir.multiplyScalar(0.45)),p)});\n\/* zoom con rueda: hacia el punto bajo el cursor, frena antes de la superficie y nunca la atraviesa (07\/11\/2026) *\/\n(function(){var v=new THREE.Vector3(),f=new THREE.Vector3();var host=cv.parentElement||cv;\nhost.addEventListener('wheel',function(e){if(e.target!==cv||!model||cam!==pc)return;e.preventDefault();e.stopImmediatePropagation();tween=null;\nvar dy=e.deltaY*(e.deltaMode===1?33:e.deltaMode===2?400:1);if(!dy)return;var s=Math.pow(0.86,Math.min(Math.abs(dy),240)\/100);\nvar minD=ctl.minDistance||Math.max(R*0.004,0.04),maxD=ctl.maxDistance||R*8;f.copy(ctl.target).sub(cam.position);var dist=f.length();if(dist<1e-9)return;f.normalize();\nif(dy<0){var h=pick(e);\nif(h){v.copy(h.point).sub(cam.position);var dh=v.length();v.normalize();var mv=dh-Math.max(minD,dh*s);if(mv>0){v.multiplyScalar(mv);cam.position.add(v);ctl.target.add(v)}\nvar dz=f.dot(v.copy(h.point).sub(cam.position));if(dz>=minD&&dz<dist)ctl.target.copy(cam.position).addScaledVector(f,dz)}\nelse{var nd=Math.max(minD,dist*s);if(dist-nd>1e-6)cam.position.addScaledVector(f,dist-nd);else{var st=Math.max(R*0.02,minD);cam.position.addScaledVector(f,st);ctl.target.addScaledVector(f,st)}}}\nelse cam.position.copy(ctl.target).addScaledVector(f,-Math.min(maxD,dist\/s));\nctl.update();need=true},{capture:true,passive:false})})();\n\nfunction buildTree(){treeEl.innerHTML='';var byL={};for(var e=0;e<nel;e++){var l=elLayer[e];if(!l)continue;var nm=elName(e)||elType(e)||'\u2014';(byL[l]=byL[l]||{});(byL[l][nm]=byL[l][nm]||[]).push(e)}\nORDER.forEach(function(G){var ls=(G==='paneles'?PANEL:[G]).filter(function(l){return byL[l]});if(!ls.length)return;\nvar li=node(G==='paneles'?T.gp.paneles:T.g[G],LAYERS[ls[0]],count(ls.map(function(l){return byL[l]})),{layers:ls},true);treeEl.appendChild(li);var ul=document.createElement('ul');ul.setAttribute('role','group');ul.hidden=true;li.appendChild(ul);\nif(G==='paneles')ls.forEach(function(l){var n=node(T.g[l],LAYERS[l],count([byL[l]]),{layers:[l]},true);var u2=document.createElement('ul');u2.setAttribute('role','group');u2.hidden=true;n.appendChild(u2);types(u2,byL[l],LAYERS[l]);ul.appendChild(n)});else types(ul,byL[ls[0]],LAYERS[ls[0]])});syncTree()}\nfunction count(maps){var n=0;maps.forEach(function(m){Object.keys(m).forEach(function(k){n+=m[k].length})});return n}\nfunction types(ul,map,col){Object.keys(map).sort(function(a,b){return map[b].length-map[a].length}).forEach(function(nm){ul.appendChild(node(nm,col,map[nm].length,{els:map[nm]},false))})}\nfunction node(label,col,n,data,expandable){var li=document.createElement('li');li.setAttribute('role','treeitem');li._d=data;var line=document.createElement('div');line.className='smv__line';\nvar tw=document.createElement('button');tw.type='button';tw.className='smv__tw';tw.innerHTML=CHEV;tw.setAttribute('aria-expanded','false');tw.setAttribute('aria-label',label);if(!expandable)tw.hidden=true;\nvar row=document.createElement('button');row.type='button';row.className='smv__row';row.style.setProperty('--c',col);row.innerHTML='<i><\/i><b><\/b><span><\/span>';row.querySelector('b').textContent=label;row.querySelector('span').textContent=n;row.title=label;\nvar eye=document.createElement('button');eye.type='button';eye.className='smv__eye';eye.innerHTML=EYE;eye.setAttribute('aria-label',T.hide+': '+label);\nline.appendChild(tw);line.appendChild(row);line.appendChild(eye);li.appendChild(line);\ntw.addEventListener('click',function(){var ul=li.querySelector(':scope>ul');if(!ul)return;var o=ul.hidden;ul.hidden=!o;tw.setAttribute('aria-expanded',String(o))});\nrow.addEventListener('click',function(e){select(elsOf(data),e.shiftKey||e.ctrlKey||e.metaKey);fitSel()});\neye.addEventListener('click',function(){var els=elsOf(data);var off=isOff(data,els);if(data.layers){data.layers.forEach(function(l){layerOff[l]=!off});if(off)els.forEach(function(x){hidden[x]=0})}else els.forEach(function(x){hidden[x]=off?0:1});if(!off)els.forEach(function(x){selected.delete(x)});rebuild()});\nreturn li}\nfunction elsOf(d){if(d.els)return d.els;var a=[];for(var e=0;e<nel;e++)if(d.layers.indexOf(elLayer[e])>=0)a.push(e);return a}\nfunction isOff(d,els){if(d.layers&&d.layers.every(function(l){return layerOff[l]}))return true;return els.length>0&&els.every(function(x){return hidden[x]||layerOff[elLayer[x]]})}\nfunction syncTree(){$$('[role=\"treeitem\"]',treeEl).forEach(function(li){var d=li._d,off=isOff(d,elsOf(d));var line=li.firstChild;line.classList.toggle('is-off',off);var eye=line.querySelector('.smv__eye');eye.innerHTML=off?EYEOFF:EYE;eye.setAttribute('aria-pressed',String(!off))})}\nfunction syncTreeSel(){$$('[role=\"treeitem\"]',treeEl).forEach(function(li){var d=li._d;if(!d.els)return;li.firstChild.classList.toggle('is-sel',d.els.some(function(x){return selected.has(x)}))})}\nfunction clear(){if(model){grp.remove(model);model.traverse(function(o){if(o.geometry)o.geometry.dispose();if(o.material&&!o.isLineSegments)o.material.dispose()})}model=null;meshes=[];selected.clear();drawSel();clearMeas();layerOff={};treeEl.innerHTML='';explode=0;var ex=$('.smv__rng[data-r=\"expl\"]');if(ex)ex.value=0}\nfunction load(m){clear();loadEl.hidden=false;$('.smv__load-t').textContent=T.load;$('.smv__spin').style.display='';\nld.load(m.g,function(g){model=g.scene;grp.add(model);model.updateMatrixWorld(true);ud=null;model.traverse(function(o){if(o.userData&&o.userData.sm3d)ud=o.userData});\nvar maxE=-1;model.traverse(function(o){if(!o.isMesh)return;var lay=o.parent&&LAYERS[o.parent.name]?o.parent.name:o.name.split('_')[0];o.userData.layer=lay;o.userData.y0=o.position.y;meshes.push(o);var a=o.geometry.attributes.__eid;var src=o.geometry.index.array;var te=new Uint32Array(src.length\/3);for(var i=0,f=0;i<src.length;i+=3,f++){var e=a?Math.round(a.getX(src[i])):0;te[f]=e;if(e>maxE)maxE=e}o.userData.idx0=src.slice();o.userData.te=te;o.userData.buf=new src.constructor(src.length);o.material.side=THREE.DoubleSide;paint(o)});\nif(!ud)ud={names:[],types:[],el:[]};nel=Math.max(ud.el.length,maxE+1);hidden=new Uint8Array(nel);elLayer=new Array(nel);meshes.forEach(function(o){var te=o.userData.te;for(var f=0;f<te.length;f++)elLayer[te[f]]=o.userData.layer});\nbox.setFromObject(model);var s=box.getSize(new THREE.Vector3());box.getCenter(C);R=s.length()\/2;ground.scale.setScalar(R*2.4);ground.position.set(C.x,box.min.y-0.02,C.z);pc.near=R\/200;pc.far=R*40;pc.updateProjectionMatrix();oc.near=-R*20;oc.far=R*20;ctl.maxDistance=R*8;ctl.minDistance=Math.max(R*0.012,0.08);\nxray=false;$('[data-a=\"xray\"]').setAttribute('aria-pressed','false');buildTree();mats();$('.smv__rng[data-r=\"sect\"]').value=1000;setClip(1000);status();\nview('3d',0);loadEl.hidden=true;need=true;setTimeout(function(){if(model!==g.scene)return;buildEdges(function(l){return l!=='uniones'});rebuild();mats();setTimeout(function(){if(model!==g.scene)return;buildEdges(function(l){return l==='uniones'});rebuild();mats()},60)},40)},undefined,function(){$('.smv__load-t').textContent=T.err;$('.smv__spin').style.display='none'})}\nfunction setOrtho(on){var p=cam.position.clone(),t=ctl.target.clone();cam=on?oc:pc;ctl.object=cam;cam.position.copy(p);if(on){oc.userData.s=p.distanceTo(t)*Math.tan(THREE.MathUtils.degToRad(16));oc.zoom=1}size();ctl.update();need=true}\nfunction shot(){r.render(sc,cam);var a=document.createElement('a');a.href=r.domElement.toDataURL('image\/png');a.download=(MODELS[cur]&&MODELS[cur].s||'modelo')+'.png';document.body.appendChild(a);a.click();a.remove()}\nreturn {load:load,start:function(){size();if(!raf)loop()},stop:function(){cancelAnimationFrame(raf);raf=0},\nact:function(a,btn){var o;switch(a){\ncase 'm-sel':case 'm-meas':mode=a==='m-sel'?'sel':'meas';$('[data-a=\"m-sel\"]').setAttribute('aria-pressed',String(mode==='sel'));$('[data-a=\"m-meas\"]').setAttribute('aria-pressed',String(mode==='meas'));dlg.classList.toggle('m-meas',mode==='meas');hint.textContent=mode==='meas'?T.hintM:T.hint;break;\ncase 'sect':clipOn=!clipOn;btn.setAttribute('aria-pressed',String(clipOn));$('.smv__sectp').hidden=!clipOn;if(clipOn){var rg=$('.smv__rng[data-r=\"sect\"]');if(+rg.value===1000)rg.value=600;setClip(+rg.value)}mats();break;\ncase 'ax-x':case 'ax-y':case 'ax-z':axis=a.slice(3);$$('[data-a^=\"ax-\"]').forEach(function(b){if(b.dataset.a!=='ax-f')b.setAttribute('aria-pressed',String(b.dataset.a===a))});setClip(+$('.smv__rng[data-r=\"sect\"]').value);break;\ncase 'ax-f':flip=!flip;setClip(+$('.smv__rng[data-r=\"sect\"]').value);break;\ncase 'expl':o=btn.getAttribute('aria-pressed')!=='true';btn.setAttribute('aria-pressed',String(o));$('.smv__explp').hidden=!o;if(o){explode=0.5;$('.smv__rng[data-r=\"expl\"]').value=50}else{explode=0;$('.smv__rng[data-r=\"expl\"]').value=0}applyExplode();break;\ncase 'v-3d':view('3d');break;case 'v-top':view('top');break;case 'v-front':view('front');break;case 'v-side':view('side');break;\ncase 'ortho':o=btn.getAttribute('aria-pressed')!=='true';btn.setAttribute('aria-pressed',String(o));setOrtho(o);break;\ncase 'spin':spin=!spin;btn.setAttribute('aria-pressed',String(spin));break;\ncase 'fit':selected.size?fitSel():fitVisible();break;\ncase 'shot':shot();break;\ncase 'hide':hideSel();break;case 'iso':isoSel();break;case 'desel':select([]);break;case 'showall':case 'p-all':showAll();break;case 'clrm':clearMeas();break;\ncase 'p-str':hidden.fill(0);Object.keys(LAYERS).forEach(function(l){layerOff[l]=['estructura','uniones'].indexOf(l)<0});selected.clear();rebuild();break;\ncase 'xray':xray=!xray;btn.setAttribute('aria-pressed',String(xray));mats();break}},\nrange:function(k,v){if(k==='sect')setClip(+v);if(k==='expl'){explode=v\/100;applyExplode()}},\nkey:function(e){if(e.key==='Escape'&&(selected.size||mPts.length)){select([]);mPts.forEach(function(m){grp.remove(m.d)});mPts=[];need=true;return true}\nvar k=(e.key||'').toLowerCase();if(k==='h'||e.key==='Delete'){hideSel();return true}if(k==='i'){isoSel();return true}if(k==='a'&&e.shiftKey){showAll();return true}if(k==='f'){selected.size?fitSel():fitVisible();return true}return false}}}\nfunction setHash(i){var s=MODELS[i]&&MODELS[i].s;if(!s)return;try{history.replaceState(null,'','#3d-'+s)}catch(e){}}\nfunction open(i,fromHash){if(!MODELS[i])return;cur=i;var m=MODELS[i];$('.smv__t').textContent=m.t;$('.smv__m').textContent=m.m||'';$('[data-a=\"prev\"]').disabled=i<=0;$('[data-a=\"next\"]').disabled=i>=MODELS.length-1;\nif(!dlg.open){if(typeof dlg.showModal==='function')dlg.showModal();else dlg.setAttribute('open','')}\nif(window.innerWidth<900){dlg.classList.add('no-tree');$('[data-a=\"tree\"]').setAttribute('aria-pressed','false')}\nloadEl.hidden=false;$('.smv__load-t').textContent=T.load;$('.smv__spin').style.display='';\nif(!fromHash)setHash(i);\n(V?Promise.resolve(V):libs().then(function(M){V=viewer(M);return V})).then(function(v){v.start();v.load(m)}).catch(function(){$('.smv__load-t').textContent=T.err;$('.smv__spin').style.display='none'})}\ngrid.addEventListener('click',function(e){var b=e.target.closest('.sm3d__card');if(!b)return;lastBtn=b;open(+b.dataset.i)});\ndlg.addEventListener('click',function(e){if(e.target===dlg){dlg.close();return}var b=e.target.closest('[data-a]');if(!b)return;var a=b.dataset.a;\nif(a==='close'){dlg.close();return}if(a==='prev'){open(cur-1);return}if(a==='next'){open(cur+1);return}\nif(a==='tree'){var on=dlg.classList.toggle('no-tree');b.setAttribute('aria-pressed',String(!on));return}\nif(a==='full'){if(document.fullscreenElement)document.exitFullscreen();else if(dlg.requestFullscreen)dlg.requestFullscreen();return}\nif(a==='share'){setHash(cur);var t0=b.title;var done=function(){b.title=T.copied;b.setAttribute('aria-label',T.copied);setTimeout(function(){b.title=t0;b.setAttribute('aria-label',t0)},1800)};if(navigator.clipboard)navigator.clipboard.writeText(location.href).then(done,function(){});return}\nif(V)V.act(a,b)});\ndlg.addEventListener('input',function(e){var r=e.target.closest('[data-r]');if(r&&V)V.range(r.dataset.r,r.value)});\ndlg.addEventListener('keydown',function(e){if(e.target.closest('input'))return;if(V&&V.key(e))e.preventDefault()});\ndlg.addEventListener('cancel',function(e){if(document.fullscreenElement){e.preventDefault();document.exitFullscreen()}});\ndlg.addEventListener('close',function(){if(V)V.stop();if(document.fullscreenElement)document.exitFullscreen();if(\/^#3d-\/.test(location.hash)){try{history.replaceState(null,'',location.pathname+location.search)}catch(e){}}if(lastBtn)lastBtn.focus()});\nfunction fromHash(){var m=location.hash.match(\/^#3d-(.+)$\/);if(!m)return;var i=MODELS.findIndex(function(x){return x.s===decodeURIComponent(m[1])});if(i>=0){lastBtn=grid.children[i];open(i,true)}}\nwindow.addEventListener('hashchange',fromHash);fromHash();\n})();<\/script><script>(function(){var w=document.currentScript.closest(\".sm3f\");if(!w)return;var M=window.SM3D_MODELS||[];w.addEventListener(\"click\",function(e){var b=e.target.closest(\".sm3f__c\");if(!b)return;var k=b.dataset.f;var g=w.querySelector(\".sm3d__grid\");[].forEach.call(g.children,function(c,i){var m=M[i];c.hidden=!!(k!==\"all\"&&m&&m.k!==k)});[].forEach.call(w.querySelectorAll(\".sm3f__c\"),function(x){x.setAttribute(\"aria-pressed\",String(x===b))})})})();<\/script><\/div><!--smr--><style>.smv .smv__body{position:relative}\n.smv .smr-ic{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}\n.smv__tabs{display:flex;gap:2px;padding:4px;border-radius:12px;background:#EEF2F6;margin-left:auto;flex:none}\n.smv .smv__tabs .smv__tab{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px!important;margin:0!important;border:0!important;border-radius:9px!important;background:transparent!important;box-shadow:none!important;font:700 15px\/1 Barlow,system-ui,sans-serif!important;color:#0D2148!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,color .15s ease}\n.smv .smv__tabs .smv__tab:hover{background:rgba(255,255,255,.75)!important}\n.smv .smv__tabs .smv__tab[aria-selected=true]{background:#0D2148!important;color:#fff!important;box-shadow:0 1px 2px rgba(13,33,72,.25),0 4px 10px -4px rgba(13,33,72,.45)!important}\n.smv .smv__tabs .smv__tab:active{transform:scale(.97)}\n.smv__tab:focus-visible{outline:3px solid #F39200!important;outline-offset:2px}\n.smv__tab[hidden],.smv__tabs[hidden]{display:none!important}\n.smv__tab .smr-n{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#F39200;color:#0D2148;font:700 12px\/1 Barlow,system-ui,sans-serif;font-variant-numeric:tabular-nums}\n.smv__pane{position:absolute;inset:0;z-index:40;background:#F5F7FA;overflow:auto;padding:16px 20px 14px;display:flex;flex-direction:column;gap:12px}\n.smv__pane[hidden]{display:none}\n.smr-wrap{display:flex;flex-direction:column;gap:12px;width:100%;max-width:1500px;margin:0 auto;flex:1;min-height:0}\n.smr-view{position:relative;flex:1;min-height:280px;border-radius:14px;overflow:hidden;background:#24324F;isolation:isolate}\n.smr-view .smr-bg{position:absolute;inset:-60px;width:calc(100% + 120px);height:calc(100% + 120px);object-fit:cover;filter:blur(32px) saturate(1.1);opacity:.7;z-index:-1}\n.smr-view .smr-main{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;cursor:zoom-in;transition:opacity .25s cubic-bezier(.23,1,.32,1)}\n.smr-view .smr-main.is-in{opacity:0}\n.smv .smr-nb,.smv .smr-zb,.smr-zoom .smr-nb,.smr-zoom .smr-x{all:unset;box-sizing:border-box;position:absolute;display:grid!important;place-items:center;width:44px!important;height:44px!important;padding:0!important;border-radius:999px!important;background:rgba(255,255,255,.94)!important;color:#0D2148!important;border:0!important;box-shadow:0 6px 18px -8px rgba(0,0,0,.45)!important;cursor:pointer;transition:background-color .15s ease,transform .15s ease}\n.smv .smr-nb:hover,.smv .smr-zb:hover,.smr-zoom .smr-nb:hover,.smr-zoom .smr-x:hover{background:#fff!important}\n.smv .smr-nb:active,.smv .smr-zb:active,.smr-zoom .smr-nb:active,.smr-zoom .smr-x:active{transform:scale(.94)}\n.smv .smr-nb:focus-visible,.smv .smr-zb:focus-visible,.smr-zoom .smr-nb:focus-visible,.smr-zoom .smr-x:focus-visible{outline:3px solid #F39200;outline-offset:2px}\n.smv .smr-nb .smr-ic,.smv .smr-zb .smr-ic,.smr-zoom .smr-ic{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}\n.smv .smr-prev,.smr-zoom .smr-prev{left:14px;top:50%;margin-top:-22px}\n.smv .smr-next,.smr-zoom .smr-next{right:14px;top:50%;margin-top:-22px}\n.smv .smr-zb{right:14px;top:14px}\n.smv .smr-nb[hidden],.smr-zoom .smr-nb[hidden]{display:none!important}\n.smr-cap{position:absolute;left:14px;bottom:14px;display:flex;align-items:center;gap:10px;margin:0!important;padding:9px 14px;border-radius:999px;background:rgba(13,33,72,.86);color:#fff;font:600 14px\/1.2 Barlow,system-ui,sans-serif;pointer-events:none}\n.smr-cap span{color:#C7D2E3;font-weight:500;font-variant-numeric:tabular-nums}\n.smr-thumbs{display:flex;gap:10px;flex:none;overflow-x:auto;scrollbar-width:none;padding:2px}\n.smr-thumbs::-webkit-scrollbar{display:none}\n.smv .smr-th{all:unset;box-sizing:border-box;display:flex!important;flex-direction:column;gap:6px;width:168px;flex:none;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#475569!important;font:600 13px\/1.2 Barlow,system-ui,sans-serif!important;text-transform:none!important;cursor:pointer}\n.smv .smr-th img{display:block;width:100%;aspect-ratio:16\/10;object-fit:cover;border-radius:10px;outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 1px rgba(13,33,72,.08);transition:outline-color .15s ease,opacity .15s ease;opacity:.78}\n.smv .smr-th:hover img{opacity:1}\n.smv .smr-th[aria-selected=true]{color:#0D2148!important}\n.smv .smr-th[aria-selected=true] img{outline-color:#F39200;opacity:1}\n.smv .smr-th:focus-visible{outline:none}\n.smv .smr-th:focus-visible img{outline-color:#0D2148}\n.smr-note{margin:0!important;color:#475569;font:400 13px\/1.45 Barlow,system-ui,sans-serif;text-wrap:pretty}\n.smr-ph{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;border-radius:14px;background:#fff;box-shadow:0 0 0 1px rgba(13,33,72,.06),0 4px 14px -8px rgba(13,33,72,.25)}\n.smr-pi{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:12px;background:#FFF4E5;color:#C46F00}\n.smr-pi .smr-ic{width:24px;height:24px}\n.smr-pt{flex:1 1 240px;min-width:0}\n.smr-pt .smr-t1{margin:0!important;color:#0D2148;font:700 22px\/1.1 \"Barlow Condensed\",\"Arial Narrow\",sans-serif}\n.smr-pt .smr-t2{margin:3px 0 0!important;color:#475569;font:500 14px\/1.35 Barlow,system-ui,sans-serif}\n.smr-acts{display:flex;gap:8px;flex-wrap:wrap}\n.smv a.smr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:10px;background:#F39200!important;color:#0D2148!important;font:700 15px\/1 Barlow,system-ui,sans-serif!important;text-decoration:none!important;border:0!important;box-shadow:none!important;transition:background-color .15s ease}\n.smv a.smr-btn:hover{background:#FFA51F!important}\n.smv a.smr-btn--g{background:#EEF2F6!important}\n.smv a.smr-btn--g:hover{background:#E2E8F0!important}\n.smv a.smr-btn:focus-visible{outline:3px solid #0D2148;outline-offset:2px}\n.smr-pdf{display:block;flex:1;width:100%;min-height:420px;border:0;border-radius:14px;background:#fff;box-shadow:0 0 0 1px rgba(13,33,72,.06)}\n.smr-pm{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px rgba(13,33,72,.06),0 4px 14px -8px rgba(13,33,72,.25)}\n.smr-pm .smr-cov{position:relative;display:block;aspect-ratio:16\/10;background:#E2E8F0}\n.smr-pm .smr-cov img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\n.smr-pm .smr-cov span{position:absolute;left:12px;top:12px;padding:6px 10px;border-radius:999px;background:#0D2148;color:#fff;font:700 12px\/1 Barlow,system-ui,sans-serif}\n.smr-pm .smr-pb{display:flex;flex-direction:column;gap:12px;padding:16px}\n.smr-pm .smr-pt{flex:none}\n.smr-pm .smr-acts{flex-direction:column}\n.smr-pm a.smr-btn{width:100%}\n.smr-zoom{position:fixed;inset:0;z-index:2147483000;background:rgba(8,22,51,.96);display:flex;align-items:center;justify-content:center;padding:56px 16px 64px;cursor:zoom-out}\n.smr-zoom img{max-width:100%;max-height:100%;border-radius:6px;box-shadow:0 20px 60px -20px rgba(0,0,0,.6)}\n.smr-zoom .smr-x{right:16px;top:16px}\n.smr-zoom .smr-zc{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);margin:0;color:#fff;font:600 14px\/1.2 Barlow,system-ui,sans-serif;white-space:nowrap}\n.smr-zoom .smr-zc span{color:#C7D2E3;font-weight:500;margin-left:10px;font-variant-numeric:tabular-nums}\n.sm3d .smr-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}\n.sm3d .sm3d__ct .smr-chip{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 10px 6px 8px;border-radius:999px;background:#F1F4F8;color:#0D2148;font:600 13px\/1 Barlow,system-ui,sans-serif;transition:background-color .15s ease,color .15s ease}\n.sm3d .smr-chip .smr-ic{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}\n@media (hover:hover){.sm3d .sm3d__ct .smr-chip:hover{background:#0D2148;color:#fff}}\n@media (max-width:1180px) and (min-width:761px){.smv .smv__tabs .smv__tab{padding:0 12px!important}.smv__tab .smr-ic{display:none}}\n@media (max-width:760px){\n.smv__top{flex-wrap:wrap}\n.smv__tabs{order:9;width:100%;margin:2px 0 0}\n.smv .smv__tabs .smv__tab{flex:1;min-height:44px;padding:0 8px!important;gap:6px;font-size:14px!important}\n.smv__pane{padding:12px;gap:10px}\n.smr-wrap{flex:none}\n.smr-view{flex:none;min-height:0;aspect-ratio:16\/10}\n.smv .smr-nb{width:40px!important;height:40px!important}\n.smv .smr-prev{left:8px;margin-top:-20px}.smv .smr-next{right:8px;margin-top:-20px}\n.smv .smr-zb{display:none!important}\n.smr-cap{left:8px;bottom:8px;padding:7px 11px;font-size:13px}\n.smv .smr-th{width:128px}\n.smr-zoom{padding:56px 8px 64px}\n.smr-zoom .smr-prev{left:8px}.smr-zoom .smr-next{right:8px}\n}\n@media (prefers-reduced-motion:reduce){.smv .smv__tabs .smv__tab,.smr-view .smr-main,.smv .smr-th img,.smv .smr-nb,.sm3d .smr-chip{transition:none}}<\/style><script>(function(){\nvar B=[\"vivienda-3d-casa-dos-plantas-cambrils\",\"vivienda-3d-casa-dos-plantas-llagostera\",\"vivienda-3d-casa-una-planta-oleiros\",\"vivienda-3d-casa-dos-plantas-premia\",\"vivienda-3d-casa-dos-plantas-turis\",\"vivienda-3d-casa-dos-plantas-la-adrada\",\"vivienda-3d-casa-dos-plantas-la-roca-del-valles\",\"vivienda-3d-casa-dos-plantas\",\"vivienda-3d-casa-dos-plantas-2\",\"vivienda-3d-casa-dos-plantas-3\",\"vivienda-3d-casa-dos-plantas-4\",\"vivienda-3d-casa-tres-plantas-sitges\",\"vivienda-3d-vivienda-unifamiliar-el-brull\",\"vivienda-3d-vivienda-unifamiliar-altorricon\",\"vivienda-3d-vivienda-unifamiliar-ugena\",\"vivienda-3d-vivienda-unifamiliar-girona\",\"vivienda-3d-vivienda-unifamiliar-almenar\",\"vivienda-3d-vivienda-unifamiliar-alicante\",\"vivienda-3d-vivienda-unifamiliar-santa-agnes-de-malanyanes\",\"vivienda-3d-vivienda-unifamiliar-palafrugell\",\"vivienda-3d-vivienda-unifamiliar-madrid\",\"vivienda-3d-vivienda-unifamiliar-almacelles\",\"vivienda-3d-vivienda-unifamiliar\",\"vivienda-3d-vivienda-unifamiliar-2\",\"vivienda-3d-vivienda-unifamiliar-3\",\"vivienda-3d-casa-una-planta-albacete\",\"vivienda-3d-casa-una-planta-cabra-del-camp\",\"vivienda-3d-casa-una-planta-tordera\",\"vivienda-3d-casa-una-planta-parbayon\",\"vivienda-3d-casa-una-planta-alsasua\",\"vivienda-3d-casa-una-planta-sant-antoni-de-vilamajor\",\"vivienda-3d-casa-una-planta-la-roca-del-valles\",\"vivienda-3d-casa-una-planta-laciana\",\"vivienda-3d-casa-una-planta-torreserona\",\"vivienda-3d-casa-una-planta-santa-agnes-de-malanyanes\",\"vivienda-3d-casa-una-planta-guadalajara\",\"vivienda-3d-casa-una-planta-villalonga\",\"vivienda-3d-casa-una-planta-vallromanes\",\"vivienda-3d-casa-una-planta-urrea\",\"vivienda-3d-casa-una-planta-la-roca-del-valles-2\",\"vivienda-3d-casa-una-planta-la-roca-del-valles-3\",\"vivienda-3d-casa-una-planta-tagamanent\",\"vivienda-3d-casa-una-planta-terrassa\",\"vivienda-3d-casa-una-planta-el-paso\",\"vivienda-3d-casa-una-planta\",\"vivienda-3d-casa-una-planta-2\",\"vivienda-3d-casa-una-planta-3\",\"vivienda-3d-conjunto-viviendas\",\"vivienda-3d-estructura-vivienda-sant-cugat-del-valles\",\"vivienda-3d-estructura-vivienda-fuerteventura\",\"vivienda-3d-estructura-vivienda-fuerteventura-2\",\"vivienda-3d-estructura-vivienda-alcobendas\",\"vivienda-3d-estructura-vivienda\",\"nave-torreserona\",\"nave-jerez-dos-aguas\",\"nave-jerez-cubierta-plana\",\"aulas-cardoner\",\"estructura-edificio-b166\",\"modulo-montcada\",\"edificio-tenerife\",\"nave-terrassa\",\"edificio-canarias\",\"oficinas-copa-america\",\"edificio-santa-cruz\",\"nave-dos-aguas\",\"nave-gava\",\"porche-terrassa\",\"nave-mollerussa\",\"nave-gabon\",\"porche-bellots\",\"almacen-os-de-balaguer\",\"estructura-fira-lleida\",\"almacen-portico\",\"edificio-pirineo\",\"estructura-castelloli\",\"edificio-murcia\",\"estructura-nave-andosana\"],I=[\"vivienda-3d-casa-dos-plantas-cambrils\",\"vivienda-3d-casa-dos-plantas-llagostera\",\"vivienda-3d-casa-una-planta-oleiros\",\"vivienda-3d-casa-dos-plantas-premia\",\"vivienda-3d-casa-dos-plantas-turis\",\"vivienda-3d-casa-dos-plantas-la-adrada\",\"vivienda-3d-casa-dos-plantas-la-roca-del-valles\",\"vivienda-3d-casa-dos-plantas\",\"vivienda-3d-casa-dos-plantas-2\",\"vivienda-3d-casa-dos-plantas-3\",\"vivienda-3d-casa-dos-plantas-4\",\"vivienda-3d-casa-tres-plantas-sitges\",\"vivienda-3d-vivienda-unifamiliar-el-brull\",\"vivienda-3d-vivienda-unifamiliar-altorricon\",\"vivienda-3d-vivienda-unifamiliar-ugena\",\"vivienda-3d-vivienda-unifamiliar-girona\",\"vivienda-3d-vivienda-unifamiliar-almenar\",\"vivienda-3d-vivienda-unifamiliar-alicante\",\"vivienda-3d-vivienda-unifamiliar-santa-agnes-de-malanyanes\",\"vivienda-3d-vivienda-unifamiliar-palafrugell\",\"vivienda-3d-vivienda-unifamiliar-madrid\",\"vivienda-3d-vivienda-unifamiliar-almacelles\",\"vivienda-3d-vivienda-unifamiliar\",\"vivienda-3d-vivienda-unifamiliar-2\",\"vivienda-3d-vivienda-unifamiliar-3\",\"vivienda-3d-casa-una-planta-albacete\",\"vivienda-3d-casa-una-planta-cabra-del-camp\",\"vivienda-3d-casa-una-planta-tordera\",\"vivienda-3d-casa-una-planta-parbayon\",\"vivienda-3d-casa-una-planta-alsasua\",\"vivienda-3d-casa-una-planta-sant-antoni-de-vilamajor\",\"vivienda-3d-casa-una-planta-la-roca-del-valles\",\"vivienda-3d-casa-una-planta-laciana\",\"vivienda-3d-casa-una-planta-torreserona\",\"vivienda-3d-casa-una-planta-santa-agnes-de-malanyanes\",\"vivienda-3d-casa-una-planta-guadalajara\",\"vivienda-3d-casa-una-planta-villalonga\",\"vivienda-3d-casa-una-planta-vallromanes\",\"vivienda-3d-casa-una-planta-urrea\",\"vivienda-3d-casa-una-planta-la-roca-del-valles-2\",\"vivienda-3d-casa-una-planta-la-roca-del-valles-3\",\"vivienda-3d-casa-una-planta-tagamanent\",\"vivienda-3d-casa-una-planta-terrassa\",\"vivienda-3d-casa-una-planta-el-paso\",\"vivienda-3d-casa-una-planta\",\"vivienda-3d-casa-una-planta-2\",\"vivienda-3d-casa-una-planta-3\",\"vivienda-3d-conjunto-viviendas\"],TT={\"es\":[\"Modelo 3D\",\"Renders\",\"Planos\",\"Vista desde la calle\",\"Vista a\u00e9rea\",\"Interior del sal\u00f3n\",\"Descargar planos (PDF)\",\"Renders y planos orientativos generados a partir del modelo 3D. La distribuci\u00f3n interior y las ventanas pueden ser orientativas.\"],\"ar\":[\"Modelo 3D\",\"Renders\",\"Planos\",\"Vista desde la calle\",\"Vista a\u00e9rea\",\"Interior del living\",\"Descarg\u00e1 los planos (PDF)\",\"Renders y planos orientativos generados a partir del modelo 3D. La distribuci\u00f3n interior y las aberturas pueden ser orientativas.\"],\"ca\":[\"Model 3D\",\"Renders\",\"Pl\u00e0nols\",\"Vista des del carrer\",\"Vista a\u00e8ria\",\"Interior de la sala d\u2019estar\",\"Descarregar pl\u00e0nols (PDF, en castell\u00e0)\",\"Renders i pl\u00e0nols orientatius generats a partir del model 3D. La distribuci\u00f3 interior i les finestres poden ser orientatives.\"],\"en\":[\"3D model\",\"Renders\",\"Plans\",\"Street view\",\"Aerial view\",\"Living room interior\",\"Download plans (PDF, in Spanish)\",\"Indicative renders and plans generated from the 3D model. The interior layout and windows may be indicative.\"],\"fr\":[\"Mod\u00e8le 3D\",\"Rendus\",\"Plans\",\"Vue depuis la rue\",\"Vue a\u00e9rienne\",\"Int\u00e9rieur du s\u00e9jour\",\"T\u00e9l\u00e9charger les plans (PDF, en espagnol)\",\"Rendus et plans indicatifs g\u00e9n\u00e9r\u00e9s \u00e0 partir du mod\u00e8le 3D. L\u2019am\u00e9nagement int\u00e9rieur et les fen\u00eatres peuvent \u00eatre indicatifs.\"],\"de\":[\"3D-Modell\",\"Renderings\",\"Pl\u00e4ne\",\"Stra\u00dfenansicht\",\"Luftansicht\",\"Wohnzimmer innen\",\"Pl\u00e4ne herunterladen (PDF, auf Spanisch)\",\"Unverbindliche Renderings und Pl\u00e4ne, erstellt aus dem 3D-Modell. Innenaufteilung und Fenster k\u00f6nnen beispielhaft sein.\"],\"it\":[\"Modello 3D\",\"Render\",\"Piante\",\"Vista dalla strada\",\"Vista aerea\",\"Interno del soggiorno\",\"Scarica le piante (PDF, in spagnolo)\",\"Render e piante indicativi generati dal modello 3D. La distribuzione interna e le finestre possono essere indicative.\"],\"pt\":[\"Modelo 3D\",\"Renders\",\"Plantas\",\"Vista da rua\",\"Vista a\u00e9rea\",\"Interior da sala\",\"Descarregar plantas (PDF, em espanhol)\",\"Renders e plantas indicativos gerados a partir do modelo 3D. A distribui\u00e7\u00e3o interior e as janelas podem ser indicativas.\"]},TX={\"es\":[\"Abrir PDF\",\"Vista 3D, planta y alzados\",\"Imagen anterior\",\"Imagen siguiente\",\"Ampliar imagen\",\"Cerrar\",\"de\",\"Ver planos\"],\"ar\":[\"Abrir PDF\",\"Vista 3D, planta y vistas\",\"Imagen anterior\",\"Imagen siguiente\",\"Ampliar imagen\",\"Cerrar\",\"de\",\"Ver planos\"],\"ca\":[\"Obrir PDF\",\"Vista 3D, planta i al\u00e7ats\",\"Imatge anterior\",\"Imatge seg\u00fcent\",\"Ampliar imatge\",\"Tancar\",\"de\",\"Veure pl\u00e0nols\"],\"en\":[\"Open PDF\",\"3D view, floor plan and elevations\",\"Previous image\",\"Next image\",\"Enlarge image\",\"Close\",\"of\",\"View plans\"],\"fr\":[\"Ouvrir le PDF\",\"Vue 3D, plan et \u00e9l\u00e9vations\",\"Image pr\u00e9c\u00e9dente\",\"Image suivante\",\"Agrandir l\u2019image\",\"Fermer\",\"sur\",\"Voir les plans\"],\"de\":[\"PDF \u00f6ffnen\",\"3D-Ansicht, Grundriss und Ansichten\",\"Vorheriges Bild\",\"N\u00e4chstes Bild\",\"Bild vergr\u00f6\u00dfern\",\"Schlie\u00dfen\",\"von\",\"Pl\u00e4ne ansehen\"],\"it\":[\"Apri PDF\",\"Vista 3D, pianta e prospetti\",\"Immagine precedente\",\"Immagine successiva\",\"Ingrandisci immagine\",\"Chiudi\",\"di\",\"Vedi le piante\"],\"pt\":[\"Abrir PDF\",\"Vista 3D, planta e al\u00e7ados\",\"Imagem anterior\",\"Imagem seguinte\",\"Ampliar imagem\",\"Fechar\",\"de\",\"Ver plantas\"]},U='\/wp-content\/uploads\/2026\/10\/';\nvar hl=(document.documentElement.lang||'es').toLowerCase(),L=\/es-ar\/.test(hl)?'ar':hl.slice(0,2);var T=TT[L]||TT.es,X=TX[L]||TX.es;\nvar P={cube:'<path d=\"M12 3l8 4.5v9L12 21l-8-4.5v-9z\"\/><path d=\"M4 7.5l8 4.5 8-4.5M12 12v9\"\/>',img:'<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\/><circle cx=\"8.5\" cy=\"10\" r=\"1.5\"\/><path d=\"M21 16l-5-5-9 8\"\/>',plan:'<rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"1.5\"\/><path d=\"M4 12h6v8M10 4v4M14 12h6M14 12v3\"\/>',dl:'<path d=\"M12 4v11M7 10l5 5 5-5M5 20h14\"\/>',ext:'<path d=\"M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 01-1 1H5a1 1 0 01-1-1V7a1 1 0 011-1h5\"\/>',prev:'<path d=\"M15 6l-6 6 6 6\"\/>',next:'<path d=\"M9 6l6 6-6 6\"\/>',exp:'<path d=\"M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5\"\/>',x:'<path d=\"M6 6l12 12M18 6L6 18\"\/>'};\nfunction ic(k){return '<svg class=\"smr-ic\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">'+P[k]+'<\/svg>';}\nfunction el(t,c,h){var e=document.createElement(t);if(c)e.className=c;if(h!=null)e.innerHTML=h;return e;}\nfunction norm(s){return (s||'').replace(\/\u00a0\/g,' ').trim();}\nfunction base(m){if(!m)return null;var s=m.s;if(B.indexOf('vivienda-3d-'+s)>=0)return 'vivienda-3d-'+s;if(B.indexOf(s)>=0)return s;var g=(m.g||'').split('\/').pop().replace(\/\\.glb$\/,'');if(B.indexOf(g)>=0)return g;return null;}\nfunction shots(b){var v=[['render-calle',T[3]],['render-aerea',T[4]]];if(I.indexOf(b)>=0)v.push(['render-salon',T[5]]);return v.map(function(x){return {src:U+b+'-'+x[0]+'.webp',cap:x[1]};});}\nvar pending=null;\ndocument.addEventListener('click',function(e){var c=e.target.closest&&e.target.closest('[data-smr-open]');pending=c?c.getAttribute('data-smr-open'):null;},true);\nfunction chips(){var M=window.SM3D_MODELS||[];[].forEach.call(document.querySelectorAll('.sm3d__card'),function(c){if(c.dataset.smrc)return;var m=M[+c.dataset.i];if(!m||!base(m))return;c.dataset.smrc=1;var ct=c.querySelector('.sm3d__ct');if(!ct)return;\n var w=el('span','smr-chips');w.innerHTML='<span class=\"smr-chip\" data-smr-open=\"3d\">'+ic('cube')+T[0]+'<\/span><span class=\"smr-chip\" data-smr-open=\"r\">'+ic('img')+T[1]+'<\/span><span class=\"smr-chip\" data-smr-open=\"p\">'+ic('plan')+T[2]+'<\/span>';ct.appendChild(w);});}\nfunction init(){\nvar dlg=document.querySelector('dialog.smv');if(!dlg||dlg.dataset.smr)return;dlg.dataset.smr='2';\nchips();var gr=document.querySelector('.sm3d__grid');if(gr)new MutationObserver(chips).observe(gr,{childList:true});\nvar top=dlg.querySelector('.smv__top'),body=dlg.querySelector('.smv__body'),nav=dlg.querySelector('.smv__nav'),ttl=dlg.querySelector('.smv__t');\nvar tabs=el('div','smv__tabs');tabs.setAttribute('role','tablist');\nvar names=['3d','r','p'],icn={'3d':'cube',r:'img',p:'plan'},btn={};\nnames.forEach(function(k,i){var b=el('button','smv__tab',ic(icn[k])+'<span>'+T[i]+'<\/span>'+(k=='r'?'<span class=\"smr-n\"><\/span>':''));b.type='button';b.setAttribute('role','tab');b.dataset.smr=k;b.setAttribute('aria-selected',k=='3d'?'true':'false');tabs.appendChild(b);btn[k]=b;});\ntop.insertBefore(tabs,nav);\nvar pane=el('div','smv__pane');pane.hidden=true;pane.setAttribute('role','tabpanel');body.appendChild(pane);\nvar cur=null,list=[],idx=0,mainImg=null,bgImg=null,capEl=null,thumbs=[],pv=null,nx=null;\nfunction model(){var t=norm(ttl.textContent),M=window.SM3D_MODELS||[];for(var i=0;i<M.length;i++){if(norm(M[i].t)==t)return M[i];}return null;}\nfunction show(i,focus){if(!list.length)return;idx=(i+list.length)%list.length;var s=list[idx];\n mainImg.classList.add('is-in');var n=new Image();n.onload=n.onerror=function(){mainImg.src=s.src;mainImg.alt=norm(ttl.textContent)+' \u00b7 '+s.cap;bgImg.src=s.src;requestAnimationFrame(function(){mainImg.classList.remove('is-in');});};n.src=s.src;\n capEl.innerHTML='<b><\/b><span><\/span>';capEl.firstChild.textContent=s.cap;capEl.lastChild.textContent=(idx+1)+' '+X[6]+' '+list.length;\n thumbs.forEach(function(t,j){t.setAttribute('aria-selected',j==idx?'true':'false');t.tabIndex=j==idx?0:-1;});\n pv.hidden=nx.hidden=list.length<2;if(focus)thumbs[idx].focus();}\nfunction renders(){var w=el('div','smr-wrap');var v=el('div','smr-view');bgImg=el('img','smr-bg');bgImg.alt='';bgImg.setAttribute('aria-hidden','true');mainImg=el('img','smr-main');mainImg.decoding='async';\n pv=el('button','smr-nb smr-prev',ic('prev'));nx=el('button','smr-nb smr-next',ic('next'));var zb=el('button','smr-zb',ic('exp'));[pv,nx,zb].forEach(function(b){b.type='button';});\n pv.setAttribute('aria-label',X[2]);nx.setAttribute('aria-label',X[3]);zb.setAttribute('aria-label',X[4]);pv.title=X[2];nx.title=X[3];zb.title=X[4];\n capEl=el('p','smr-cap');v.appendChild(bgImg);v.appendChild(mainImg);v.appendChild(pv);v.appendChild(nx);v.appendChild(zb);v.appendChild(capEl);\n pv.onclick=function(){show(idx-1);};nx.onclick=function(){show(idx+1);};zb.onclick=mainImg.onclick=function(){zoom(idx);};\n var sx=null;v.addEventListener('pointerdown',function(e){if(e.pointerType!='mouse')sx=e.clientX;});v.addEventListener('pointerup',function(e){if(sx==null)return;var d=e.clientX-sx;sx=null;if(Math.abs(d)>40)show(idx+(d<0?1:-1));});\n var th=el('div','smr-thumbs');th.setAttribute('role','tablist');th.setAttribute('aria-label',T[1]);thumbs=[];\n list.forEach(function(s,j){var b=el('button','smr-th');b.type='button';b.setAttribute('role','tab');var im=new Image();im.src=s.src;im.alt='';im.loading='lazy';im.decoding='async';im.width=320;im.height=200;\n  im.onerror=function(){var k=list.indexOf(s);if(k<0)return;list.splice(k,1);thumbs.splice(thumbs.indexOf(b),1);b.remove();upCount();if(!list.length){w.innerHTML='';}else show(Math.min(idx,list.length-1));};\n  var c=el('span');c.textContent=s.cap;b.appendChild(im);b.appendChild(c);b.onclick=function(){show(thumbs.indexOf(b));};th.appendChild(b);thumbs.push(b);});\n w.appendChild(v);w.appendChild(th);var n=el('p','smr-note');n.textContent=T[7];w.appendChild(n);pane.appendChild(w);show(0);}\nfunction plans(){var pdf=U+cur+'-planos.pdf',t=norm(ttl.textContent),mob=!window.matchMedia('(min-width:761px)').matches;var w=el('div','smr-wrap');\n var open='<a class=\"smr-btn smr-btn--g\" href=\"'+pdf+'\" target=\"_blank\" rel=\"noopener\">'+ic('ext')+'<span>'+(mob?X[7]:X[0])+'<\/span><\/a>',dl='<a class=\"smr-btn\" href=\"'+pdf+'\" download>'+ic('dl')+'<span><\/span><\/a>';\n if(mob){var c=el('div','smr-pm');c.innerHTML='<a class=\"smr-cov\" href=\"'+pdf+'\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" alt=\"\" loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"500\"><span>PDF<\/span><\/a><div class=\"smr-pb\"><div class=\"smr-pt\"><p class=\"smr-t1\"><\/p><p class=\"smr-t2\"><\/p><\/div><div class=\"smr-acts\">'+open+dl+'<\/div><\/div>';\n  var im=c.querySelector('img');im.src=U+cur+'-render-aerea.webp';im.alt=t;im.onerror=function(){c.querySelector('.smr-cov').remove();};w.appendChild(c);}\n else{var h=el('div','smr-ph');h.innerHTML='<span class=\"smr-pi\">'+ic('plan')+'<\/span><div class=\"smr-pt\"><p class=\"smr-t1\"><\/p><p class=\"smr-t2\"><\/p><\/div><div class=\"smr-acts\">'+open+dl+'<\/div>';w.appendChild(h);\n  var fr=el('iframe','smr-pdf');fr.src=pdf+'#view=FitH';fr.title=T[2]+' \u00b7 '+t;fr.loading='lazy';w.appendChild(fr);}\n w.querySelector('.smr-t1').textContent=T[2];w.querySelector('.smr-t2').textContent=X[1]+' \u00b7 PDF';w.querySelector('a[download] span').textContent=T[6];\n var n=el('p','smr-note');n.textContent=T[7];w.appendChild(n);pane.appendChild(w);}\nfunction sel(k){curTab=k;names.forEach(function(n){btn[n].setAttribute('aria-selected',n==k?'true':'false');btn[n].tabIndex=n==k?0:-1;});\n pane.innerHTML='';if(k=='3d'||!cur){pane.hidden=true;return;}pane.hidden=false;pane.scrollTop=0;\n if(k=='r'){list=shots(cur);renders();}else plans();}\nfunction upCount(){var c=btn.r.querySelector('.smr-n');c.textContent=list.length||shots(cur||'').length;}\nfunction zoom(i){var z=el('div','smr-zoom');z.setAttribute('role','dialog');z.setAttribute('aria-modal','true');z.setAttribute('aria-label',T[1]);var im=new Image();var cp=el('p','smr-zc');\n var x=el('button','smr-x',ic('x')),a=el('button','smr-nb smr-prev',ic('prev')),b=el('button','smr-nb smr-next',ic('next'));[x,a,b].forEach(function(q){q.type='button';});x.setAttribute('aria-label',X[5]);a.setAttribute('aria-label',X[2]);b.setAttribute('aria-label',X[3]);a.hidden=b.hidden=list.length<2;\n var j=i;function put(){var s=list[j];im.src=s.src;im.alt=norm(ttl.textContent)+' \u00b7 '+s.cap;cp.innerHTML='<b><\/b><span><\/span>';cp.firstChild.textContent=s.cap;cp.lastChild.textContent=(j+1)+' '+X[6]+' '+list.length;}\n function go(d){j=(j+d+list.length)%list.length;put();show(j);}\n function close(){z.remove();document.removeEventListener('keydown',k,true);mainImg&&mainImg.focus&&dlg.querySelector('.smr-zb')&&dlg.querySelector('.smr-zb').focus();}\n function k(e){if(e.key=='Escape'){e.stopPropagation();e.preventDefault();close();}else if(e.key=='ArrowRight'||e.key=='ArrowLeft'){e.stopPropagation();e.preventDefault();go(e.key=='ArrowRight'?1:-1);}}\n z.onclick=function(e){if(e.target==z||e.target==im)close();};x.onclick=close;a.onclick=function(){go(-1);};b.onclick=function(){go(1);};\n z.appendChild(im);z.appendChild(x);z.appendChild(a);z.appendChild(b);z.appendChild(cp);put();document.addEventListener('keydown',k,true);dlg.appendChild(z);x.focus();}\nvar curTab='3d',lastT=null;\nfunction upd(){var t=norm(ttl.textContent);if(t===lastT)return;lastT=t;var m=model();cur=base(m);var ok=!!cur;btn.r.hidden=!ok;btn.p.hidden=!ok;tabs.hidden=!ok;list=ok?shots(cur):[];upCount();sel(ok?curTab:'3d');}\ntabs.addEventListener('click',function(e){var b=e.target.closest('.smv__tab');if(b&&cur)sel(b.dataset.smr);});\ntabs.addEventListener('keydown',function(e){if(e.key!='ArrowRight'&&e.key!='ArrowLeft')return;e.stopPropagation();e.preventDefault();var v=names.filter(function(n){return !btn[n].hidden;}),i=v.indexOf(document.activeElement.dataset.smr);if(i<0)return;var j=(i+(e.key=='ArrowRight'?1:-1)+v.length)%v.length;btn[v[j]].focus();sel(v[j]);});\npane.addEventListener('keydown',function(e){if(e.target.closest('input'))return;if(e.key=='ArrowRight'||e.key=='ArrowLeft'){if(mainImg&&list.length&&pane.contains(mainImg)){e.stopPropagation();e.preventDefault();show(idx+(e.key=='ArrowRight'?1:-1),e.target.classList.contains('smr-th'));}}else e.stopPropagation();});\nnew MutationObserver(upd).observe(ttl,{childList:true,characterData:true,subtree:true});\ndlg.addEventListener('close',function(){sel('3d');var z=dlg.querySelector('.smr-zoom');if(z)z.remove();});\ndocument.addEventListener('click',function(){var p=pending;pending=null;if(p&&p!='3d')setTimeout(function(){if(dlg.open&&cur)sel(p);},0);});\nupd();\n}\nif(document.readyState!='loading')init();else document.addEventListener('DOMContentLoaded',init);\n})();<\/script><!--\/smr-->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4b530f6 smd-sec elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4b530f6\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-extended\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-6dd61be\" data-id=\"6dd61be\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-54e7d0b elementor-widget elementor-widget-text-editor\" data-id=\"54e7d0b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2 style=\"margin:0;color:#0D2148;font-size:33px;line-height:1.14;font-weight:800;\">Com fer servir el visor<\/h2><div style=\"height:16px\"><\/div><ol style=\"margin:0;padding-left:22px;color:#334155;font-size:16px;line-height:1.7;\"><li style=\"margin-bottom:10px;\">Fes clic en un projecte per obrir-lo i prem <b>Pantalla completa<\/b>.<\/li><li style=\"margin-bottom:10px;\">A <b>Capes<\/b>, l&#8217;ull de <b>Panells i subestructura<\/b> deixa a la vista l&#8217;estructura i les unions.<\/li><li style=\"margin-bottom:10px;\">Fes clic en una pe\u00e7a per veure qu\u00e8 \u00e9s; amb <b>Amagar<\/b> o <b>A\u00efllar<\/b> treballes pe\u00e7a a pe\u00e7a, com en un visor BIM.<\/li><li style=\"margin-bottom:10px;\">Fes servir <b>Mesurar<\/b>, el <b>pla de tall<\/b> i les vistes de planta i al\u00e7at per revisar el projecte.<\/li><\/ol>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dee3938b smd-inl-w elementor-widget elementor-widget-html\" data-id=\"dee3938b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<figure class=\"smd-fig smd-inl\"><img loading=\"lazy\" src=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-industrial-panel-sandwich-starmodul-valls-48-1250x938.webp\" srcset=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-industrial-panel-sandwich-starmodul-valls-48-300x225.webp 300w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-industrial-panel-sandwich-starmodul-valls-48-600x450.webp 600w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-industrial-panel-sandwich-starmodul-valls-48-768x576.webp 768w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-industrial-panel-sandwich-starmodul-valls-48-1250x938.webp 1250w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-industrial-panel-sandwich-starmodul-valls-48-1536x1152.webp 1536w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-industrial-panel-sandwich-starmodul-valls-48.webp 1600w\" sizes=\"auto, (max-width:767px) 100vw, 50vw\" width=\"1250\" height=\"938\" alt=\"Nau industrial acabada amb tancament de panell sandvitx i estructura StarModul a Valls (Tarragona)\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/figure>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-fa2d6e4\" data-id=\"fa2d6e4\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7a2b67a elementor-widget elementor-widget-text-editor\" data-id=\"7a2b67a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2 style=\"margin:0;color:#0D2148;font-size:33px;line-height:1.14;font-weight:800;\">Preguntes freq\u00fcents<\/h2><div style=\"height:16px\"><\/div><h3 style=\"margin:0;color:#0D2148;font-size:18px;line-height:1.3;font-weight:700;\">Qu\u00e8 mostren aquests models?<\/h3><div style=\"height:6px\"><\/div><p style=\"margin:0;color:#334155;font-size:15px;line-height:1.65;\">S\u00f3n models de projectes reals calculats i fabricats per StarModul: l&#8217;estructura d&#8217;acer galvanitzat, les unions cargolades i, quan el projecte els inclou, els panells de tancament.<\/p><div style=\"height:18px\"><\/div><h3 style=\"margin:0;color:#0D2148;font-size:18px;line-height:1.3;font-weight:700;\">Puc veure nom\u00e9s l&#8217;estructura?<\/h3><div style=\"height:6px\"><\/div><p style=\"margin:0;color:#334155;font-size:15px;line-height:1.65;\">S\u00ed. Prem \u00abNom\u00e9s estructura\u00bb o apaga l&#8217;ull de \u00abPanells i subestructura\u00bb al panell de capes.<\/p><div style=\"height:18px\"><\/div><h3 style=\"margin:0;color:#0D2148;font-size:18px;line-height:1.3;font-weight:700;\">Cal instal\u00b7lar res?<\/h3><div style=\"height:6px\"><\/div><p style=\"margin:0;color:#334155;font-size:15px;line-height:1.65;\">No. El visor funciona al navegador de l&#8217;ordinador, la tauleta o el m\u00f2bil.<\/p><div style=\"height:18px\"><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t<div class=\"elementor-element elementor-element-fxnzpc0 e-con-full smd-sec e-flex e-con e-parent\" data-id=\"fxnzpc0\" data-element_type=\"container\" data-e-type=\"container\" id=\"ejemplos-reales\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-fxnzpc1 e-flex e-con-boxed e-con e-child\" data-id=\"fxnzpc1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-fxnzpc2 e-con-full e-flex e-con e-child\" data-id=\"fxnzpc2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fxnzpw1 elementor-widget elementor-widget-text-editor\" data-id=\"fxnzpw1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"margin:0 auto;color:#F39200;font-weight:800;text-transform:uppercase;letter-spacing:.5px;\">EXEMPLES REALS<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fxnzpw2 elementor-widget elementor-widget-text-editor\" data-id=\"fxnzpw2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2 style=\"margin: 0; color: #0d2148; font-weight: 800; line-height: 1.08; font-size: inherit;\">Fotos d&#8217;obres reals amb <span style=\"color: #f39200;\">StarModul<\/span><\/h2>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fxnzpw3 elementor-widget elementor-widget-text-editor\" data-id=\"fxnzpw3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"margin:0 auto;\">Fotos d&#8217;obres muntades amb el sistema d&#8217;unions cargolades StarModul. Fes clic en una foto per veure-la en gran.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fxnzpw4 elementor-widget elementor-widget-html\" data-id=\"fxnzpw4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>.smfx{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0}.smfx figure{margin:0;background:#fff;border:1px solid #E3E7ED;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.smfx a{display:block;line-height:0;overflow:hidden}.smfx img{display:block;width:100%;height:auto;aspect-ratio:4\/3;object-fit:cover;transition:transform .3s ease}.smfx a:hover img{transform:scale(1.03)}.smfx figcaption{padding:10px 12px;color:#0D2148;font-size:16px;font-weight:700;line-height:1.35}@media (max-width:1024px){.smfx{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:767px){.smfx{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.smfx figcaption{padding:8px 10px;font-size:16px}}@media (prefers-reduced-motion:reduce){.smfx img{transition:none}.smfx a:hover img{transform:none}}<\/style><div class=\"smfx\"><figure><a href=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-ipe-atornillada-terminada-puente-grua-torre-serona-23.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"smfx-31093\" data-elementor-lightbox-title=\"Nau IPE acabada \u00b7 Torre-serona\"><img loading=\"lazy\" src=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-ipe-atornillada-terminada-puente-grua-torre-serona-23-768x576.webp\" srcset=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-ipe-atornillada-terminada-puente-grua-torre-serona-23-300x225.webp 300w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-ipe-atornillada-terminada-puente-grua-torre-serona-23-768x576.webp 768w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-ipe-atornillada-terminada-puente-grua-torre-serona-23-1250x938.webp 1250w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-ipe-atornillada-terminada-puente-grua-torre-serona-23.webp 1600w\" sizes=\"auto, (max-width: 767px) 50vw, (max-width: 1024px) 33vw, 330px\" width=\"768\" height=\"576\" alt=\"Interior de nau IPE acabada amb pont grua a Torre-serona (Lleida)\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Nau IPE acabada \u00b7 Torre-serona<\/figcaption><\/figure><figure><a href=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/cubierta-desmontable-recinto-ferial-estructura-metalica-lleida-67.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"smfx-31093\" data-elementor-lightbox-title=\"Coberta firal \u00b7 Lleida\"><img loading=\"lazy\" src=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/cubierta-desmontable-recinto-ferial-estructura-metalica-lleida-67-768x461.webp\" srcset=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/cubierta-desmontable-recinto-ferial-estructura-metalica-lleida-67-300x180.webp 300w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/cubierta-desmontable-recinto-ferial-estructura-metalica-lleida-67-768x461.webp 768w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/cubierta-desmontable-recinto-ferial-estructura-metalica-lleida-67-1250x750.webp 1250w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/cubierta-desmontable-recinto-ferial-estructura-metalica-lleida-67.webp 1600w\" sizes=\"auto, (max-width: 767px) 50vw, (max-width: 1024px) 33vw, 330px\" width=\"768\" height=\"461\" alt=\"Gran coberta desmuntable sobre estructura met\u00e0l\u00b7lica en un recinte firal a Lleida \u2013 vista general\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Coberta firal \u00b7 Lleida<\/figcaption><\/figure><figure><a href=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/cubierta-desmontable-recinto-ferial-estructura-metalica-lleida-62-limpia.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"smfx-31093\" data-elementor-lightbox-title=\"Coberta firal \u00b7 Lleida\"><img loading=\"lazy\" src=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/cubierta-desmontable-recinto-ferial-estructura-metalica-lleida-62-limpia-768x576.webp\" srcset=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/cubierta-desmontable-recinto-ferial-estructura-metalica-lleida-62-limpia-300x225.webp 300w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/cubierta-desmontable-recinto-ferial-estructura-metalica-lleida-62-limpia-768x576.webp 768w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/cubierta-desmontable-recinto-ferial-estructura-metalica-lleida-62-limpia-1250x938.webp 1250w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/cubierta-desmontable-recinto-ferial-estructura-metalica-lleida-62-limpia.webp 1600w\" sizes=\"auto, (max-width: 767px) 50vw, (max-width: 1024px) 33vw, 330px\" width=\"768\" height=\"576\" alt=\"Gran coberta desmuntable sobre estructura met\u00e0l\u00b7lica en un recinte firal a Lleida \u2013 una altra vista\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Coberta firal \u00b7 Lleida<\/figcaption><\/figure><figure><a href=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-estructura-starmodul-obra-lleida-51.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"smfx-31093\" data-elementor-lightbox-title=\"Edifici en obra \u00b7 Lleida\"><img loading=\"lazy\" src=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-estructura-starmodul-obra-lleida-51-768x576.webp\" srcset=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-estructura-starmodul-obra-lleida-51-300x225.webp 300w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-estructura-starmodul-obra-lleida-51-768x576.webp 768w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-estructura-starmodul-obra-lleida-51-1250x938.webp 1250w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/edificio-estructura-starmodul-obra-lleida-51.webp 1600w\" sizes=\"auto, (max-width: 767px) 50vw, (max-width: 1024px) 33vw, 330px\" width=\"768\" height=\"576\" alt=\"Edifici amb estructura StarModul en obra a Lleida\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Edifici en obra \u00b7 Lleida<\/figcaption><\/figure><figure><a href=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-industrial-panel-sandwich-starmodul-faura-1096.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"smfx-31093\" data-elementor-lightbox-title=\"Nau acabada \u00b7 Faura\"><img loading=\"lazy\" src=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-industrial-panel-sandwich-starmodul-faura-1096-768x576.webp\" srcset=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-industrial-panel-sandwich-starmodul-faura-1096-300x225.webp 300w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-industrial-panel-sandwich-starmodul-faura-1096-768x576.webp 768w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-industrial-panel-sandwich-starmodul-faura-1096-1250x938.webp 1250w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-industrial-panel-sandwich-starmodul-faura-1096.webp 1600w\" sizes=\"auto, (max-width: 767px) 50vw, (max-width: 1024px) 33vw, 330px\" width=\"768\" height=\"576\" alt=\"Nau industrial acabada amb tancament de panell sandvitx i estructura StarModul a Faura (Valencia)\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Nau acabada \u00b7 Faura<\/figcaption><\/figure><figure><a href=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/cubierta-aparcamiento-estructura-metalica-starmodul-castelloli-1206.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"smfx-31093\" data-elementor-lightbox-title=\"Coberta d'aparcament \u00b7 Castellol\u00ed\"><img loading=\"lazy\" src=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/cubierta-aparcamiento-estructura-metalica-starmodul-castelloli-1206-768x576.webp\" srcset=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/cubierta-aparcamiento-estructura-metalica-starmodul-castelloli-1206-300x225.webp 300w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/cubierta-aparcamiento-estructura-metalica-starmodul-castelloli-1206-768x576.webp 768w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/cubierta-aparcamiento-estructura-metalica-starmodul-castelloli-1206-1250x938.webp 1250w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/cubierta-aparcamiento-estructura-metalica-starmodul-castelloli-1206.webp 1600w\" sizes=\"auto, (max-width: 767px) 50vw, (max-width: 1024px) 33vw, 330px\" width=\"768\" height=\"576\" alt=\"Coberta d&#039;aparcament amb estructura met\u00e0l\u00b7lica StarModul a Castellol\u00ed (Barcelona)\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Coberta d'aparcament \u00b7 Castellol\u00ed<\/figcaption><\/figure><figure><a href=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-vivienda-tubo-galvanizado-starmodul-montaje-girona-1283.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"smfx-31093\" data-elementor-lightbox-title=\"Estructura en muntatge \u00b7 Girona\"><img loading=\"lazy\" src=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-vivienda-tubo-galvanizado-starmodul-montaje-girona-1283-768x576.webp\" srcset=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-vivienda-tubo-galvanizado-starmodul-montaje-girona-1283-300x225.webp 300w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-vivienda-tubo-galvanizado-starmodul-montaje-girona-1283-768x576.webp 768w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-vivienda-tubo-galvanizado-starmodul-montaje-girona-1283-1250x938.webp 1250w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/estructura-vivienda-tubo-galvanizado-starmodul-montaje-girona-1283.webp 1600w\" sizes=\"auto, (max-width: 767px) 50vw, (max-width: 1024px) 33vw, 330px\" width=\"768\" height=\"576\" alt=\"Estructura de tub galvanitzat d&#039;un habitatge StarModul en muntatge sobre la llosa a Girona\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Estructura en muntatge \u00b7 Girona<\/figcaption><\/figure><figure><a href=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/aulas-terminadas-estructura-starmodul-1036.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"smfx-31093\" data-elementor-lightbox-title=\"Aules acabades\"><img loading=\"lazy\" src=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/aulas-terminadas-estructura-starmodul-1036-768x576.webp\" srcset=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/aulas-terminadas-estructura-starmodul-1036-300x225.webp 300w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/aulas-terminadas-estructura-starmodul-1036-768x576.webp 768w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/aulas-terminadas-estructura-starmodul-1036.webp 800w\" sizes=\"auto, (max-width: 767px) 50vw, (max-width: 1024px) 33vw, 330px\" width=\"768\" height=\"576\" alt=\"Aules acabades amb estructura interior StarModul\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Aules acabades<\/figcaption><\/figure><figure><a href=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-faura-1098.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"smfx-31093\" data-elementor-lightbox-title=\"Nau amb encavallades \u00b7 Faura\"><img loading=\"lazy\" src=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-faura-1098-768x576.webp\" srcset=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-faura-1098-300x225.webp 300w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-faura-1098-768x576.webp 768w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-faura-1098-1250x938.webp 1250w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-faura-1098.webp 1600w\" sizes=\"auto, (max-width: 767px) 50vw, (max-width: 1024px) 33vw, 330px\" width=\"768\" height=\"576\" alt=\"Interior de nau amb encavallades de tub galvanitzat cargolades StarModul a Faura (Valencia)\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Nau amb encavallades \u00b7 Faura<\/figcaption><\/figure><figure><a href=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/porche-vestuarios-estructura-metalica-starmodul-alcover-1059.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"smfx-31093\" data-elementor-lightbox-title=\"Porxo en camp de futbol \u00b7 Alcover\"><img loading=\"lazy\" src=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/porche-vestuarios-estructura-metalica-starmodul-alcover-1059-768x576.webp\" srcset=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/porche-vestuarios-estructura-metalica-starmodul-alcover-1059-300x225.webp 300w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/porche-vestuarios-estructura-metalica-starmodul-alcover-1059-768x576.webp 768w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/porche-vestuarios-estructura-metalica-starmodul-alcover-1059-1250x938.webp 1250w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/porche-vestuarios-estructura-metalica-starmodul-alcover-1059.webp 1600w\" sizes=\"auto, (max-width: 767px) 50vw, (max-width: 1024px) 33vw, 330px\" width=\"768\" height=\"576\" alt=\"Porxo i vestidors amb estructura met\u00e0l\u00b7lica StarModul al costat d&#039;un camp de futbol a Alcover (Tarragona)\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Porxo en camp de futbol \u00b7 Alcover<\/figcaption><\/figure><figure><a href=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-valls-46.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"smfx-31093\" data-elementor-lightbox-title=\"Nau amb encavallades \u00b7 Valls\"><img loading=\"lazy\" src=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-valls-46-768x576.webp\" srcset=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-valls-46-300x225.webp 300w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-valls-46-600x450.webp 600w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-valls-46-768x576.webp 768w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-valls-46-1250x938.webp 1250w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-valls-46.webp 1600w\" sizes=\"auto, (max-width: 767px) 50vw, (max-width: 1024px) 33vw, 330px\" width=\"768\" height=\"576\" alt=\"Interior de nau amb encavallades de tub galvanitzat cargolades StarModul a Valls (Tarragona) \u2013 vista general\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Nau amb encavallades \u00b7 Valls<\/figcaption><\/figure><figure><a href=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-faura-140.webp\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"smfx-31093\" data-elementor-lightbox-title=\"Nau amb encavallades \u00b7 Faura\"><img loading=\"lazy\" src=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-faura-140-768x576.webp\" srcset=\"https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-faura-140-300x225.webp 300w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-faura-140-600x450.webp 600w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-faura-140-768x576.webp 768w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-faura-140-1250x938.webp 1250w, https:\/\/starmodul.com\/wp-content\/uploads\/2026\/10\/nave-cerchas-tubo-galvanizado-atornilladas-starmodul-faura-140.webp 1600w\" sizes=\"auto, (max-width: 767px) 50vw, (max-width: 1024px) 33vw, 330px\" width=\"768\" height=\"576\" alt=\"Interior de nau amb encavallades de tub galvanitzat cargolades StarModul a Faura (Valencia) \u2013 vista general\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Nau amb encavallades \u00b7 Faura<\/figcaption><\/figure><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7dda291 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7dda291\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-extended\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-47b7752\" data-id=\"47b7752\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-cb6e7dd elementor-widget elementor-widget-html\" data-id=\"cb6e7dd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div style=\"display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;\"><div style=\"max-width:640px\"><h2 style=\"margin:0;color:#fff;font-size:33px;line-height:1.14;font-weight:800;\">Tens un projecte semblant?<\/h2><div style=\"height:10px\"><\/div><p style=\"margin:0;color:#CBD5E1;font-size:17px;line-height:1.6;\">Et preparem l'estructura a mida amb unions cargolades i els pl\u00e0nols de muntatge.<\/p><\/div><div style=\"display:flex;flex-wrap:wrap;gap:12px\"><a href=\"\/ca\/configurador-3d-estructura-metallica\/\" style=\"display:inline-flex;align-items:center;min-height:48px;padding:12px 22px;border-radius:10px;font-weight:700;font-size:16px;text-decoration:none;background:#F39200;color:#0D2148;\">Dissenyar al configurador 3D<\/a><a href=\"\/ca\/contacte\/\" style=\"display:inline-flex;align-items:center;min-height:48px;padding:12px 22px;border-radius:10px;font-weight:700;font-size:16px;text-decoration:none;background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.6);\">Demanar pressupost<\/a><\/div><\/div><script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Qu\u00e8 mostren aquests models?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"S\u00f3n models de projectes reals calculats i fabricats per StarModul: l'estructura d'acer galvanitzat, les unions cargolades i, quan el projecte els inclou, els panells de tancament.\"}},{\"@type\":\"Question\",\"name\":\"Puc veure nom\u00e9s l'estructura?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"S\u00ed. Prem \u00abNom\u00e9s estructura\u00bb o apaga l'ull de \u00abPanells i subestructura\u00bb al panell de capes.\"}},{\"@type\":\"Question\",\"name\":\"Cal instal\u00b7lar res?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. El visor funciona al navegador de l'ordinador, la tauleta o el m\u00f2bil.\"}}]}<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t<\/div><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1197,"featured_media":31095,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-31094","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/starmodul.com\/ca\/wp-json\/wp\/v2\/pages\/31094","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/starmodul.com\/ca\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/starmodul.com\/ca\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/starmodul.com\/ca\/wp-json\/wp\/v2\/users\/1197"}],"replies":[{"embeddable":true,"href":"https:\/\/starmodul.com\/ca\/wp-json\/wp\/v2\/comments?post=31094"}],"version-history":[{"count":1,"href":"https:\/\/starmodul.com\/ca\/wp-json\/wp\/v2\/pages\/31094\/revisions"}],"predecessor-version":[{"id":31096,"href":"https:\/\/starmodul.com\/ca\/wp-json\/wp\/v2\/pages\/31094\/revisions\/31096"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/starmodul.com\/ca\/wp-json\/wp\/v2\/media\/31095"}],"wp:attachment":[{"href":"https:\/\/starmodul.com\/ca\/wp-json\/wp\/v2\/media?parent=31094"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}