{"id":31100,"date":"2026-10-18T02:21:40","date_gmt":"2026-10-18T00:21:40","guid":{"rendered":"https:\/\/starmodul.com\/?page_id=31100"},"modified":"2026-11-07T14:45:05","modified_gmt":"2026-11-07T13:45:05","slug":"projets-3d","status":"publish","type":"page","link":"https:\/\/starmodul.com\/fr\/projets-3d\/","title":{"rendered":"Projets en 3D"},"content":{"rendered":"<div class=\"product\"><div class=\"product\">\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"31100\" class=\"elementor elementor-31100 elementor-31093 elementor-bc-flex-widget\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4454a54 e-con-full sm-dh-wrap smd-dh e-flex e-con e-parent\" data-id=\"4454a54\" 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=\"Int\u00e9rieur d&#039;un hangar IPE termin\u00e9 avec pont roulant \u00e0 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\">Projets r\u00e9els en 3D<\/p><h1>Hangars et structures m\u00e9talliques <span style=\"color:#F39200;\">en 3D<\/span><\/h1><p class=\"sm-dh__p\">Faites tourner, zoomez et d\u00e9montez des projets r\u00e9els de StarModul. Masquez les panneaux pour voir la structure et les assemblages boulonn\u00e9s, isolez une pi\u00e8ce, mesurez des distances ou coupez le mod\u00e8le \u00e9tage par \u00e9tage.<\/p><div class=\"btns\"><a class=\"sm-btn sm-btn--pri\" href=\"https:\/\/starmodul.com\/fr\/configurateur-3d-structure-metallique\/\">Concevez votre structure 3D<\/a><a class=\"sm-btn sm-btn--sec\" href=\"https:\/\/starmodul.com\/fr\/contact\/\">Demander un devis<\/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-851858a smd-al elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"851858a\" 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-31934e6\" data-id=\"31934e6\" 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> mod\u00e8les<\/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>Assemblages boulonn\u00e9s<\/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>Aucune soudure sur chantier<\/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-16beaed elementor-widget elementor-widget-html\" data-id=\"16beaed\" 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\":\"Hangar industriel de 830\u00a0m\u00b2 \u00b7 Torreserona (Lleida)\",\"m\":\"Emprise 16,6 \u00d7 49,5\u00a0m \u00b7 hauteur 7,1\u00a0m\",\"d\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s. Mod\u00e8le sans bardage.\",\"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\":\"Hangar industriel de 830\u00a0m\u00b2 \u00b7 Torreserona (Lleida)\",\"k\":\"nave\"},{\"s\":\"nave-jerez-dos-aguas\",\"t\":\"Hangar industriel de 440\u00a0m\u00b2 \u00b7 Jerez de la Frontera (C\u00e1diz)\",\"m\":\"Emprise 12,4 \u00d7 35,3\u00a0m \u00b7 hauteur 5,3\u00a0m\",\"d\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s. Toiture \u00e0 deux pans et fa\u00e7ades en panneaux sandwich.\",\"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\":\"Hangar industriel de 440\u00a0m\u00b2 \u00b7 Jerez de la Frontera (C\u00e1diz)\",\"k\":\"nave\"},{\"s\":\"nave-jerez-cubierta-plana\",\"t\":\"Hangar industriel de 270\u00a0m\u00b2 \u00b7 Jerez de la Frontera (C\u00e1diz)\",\"m\":\"Emprise 10,4 \u00d7 25,4\u00a0m \u00b7 hauteur 3,7\u00a0m\",\"d\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s. Toiture et fa\u00e7ades en panneaux sandwich.\",\"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\":\"Hangar industriel de 270\u00a0m\u00b2 \u00b7 Jerez de la Frontera (C\u00e1diz)\",\"k\":\"nave\"},{\"s\":\"aulas-cardoner\",\"t\":\"Salles de classe modulaires de 290\u00a0m\u00b2 \u00b7 Cardoner (Barcelona)\",\"m\":\"Emprise 13,9 \u00d7 21\u00a0m \u00b7 hauteur 3,8\u00a0m\",\"d\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e de plain-pied. Toiture plate en panneaux sandwich.\",\"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\":\"Salles de classe modulaires de 290\u00a0m\u00b2 \u00b7 Cardoner (Barcelona)\",\"k\":\"edif\"},{\"s\":\"estructura-edificio-b166\",\"t\":\"Structure m\u00e9tallique de 510\u00a0m\u00b2\",\"m\":\"Emprise 16,3 \u00d7 30,6\u00a0m \u00b7 hauteur 6,9\u00a0m\",\"d\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e de plain-pied. Mod\u00e8le sans bardage.\",\"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\":\"Structure m\u00e9tallique de 510\u00a0m\u00b2\",\"k\":\"est\"},{\"s\":\"modulo-montcada\",\"t\":\"Module \u00e0 structure m\u00e9tallique de 40\u00a0m\u00b2 \u00b7 Montcada i Reixac (Barcelona)\",\"m\":\"Emprise 5 \u00d7 7,4\u00a0m \u00b7 hauteur 3,5\u00a0m\",\"d\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e de plain-pied. Mod\u00e8le sans bardage.\",\"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\":\"Module \u00e0 structure m\u00e9tallique de 40\u00a0m\u00b2 \u00b7 Montcada i Reixac (Barcelona)\",\"k\":\"edif\"},{\"s\":\"edificio-tenerife\",\"t\":\"B\u00e2timent \u00e0 structure m\u00e9tallique de 240\u00a0m\u00b2 \u00b7 Tenerife\",\"m\":\"Emprise 7,3 \u00d7 32,3\u00a0m \u00b7 hauteur 6,6\u00a0m\",\"d\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e de plain-pied. Toiture plate et fa\u00e7ades en panneaux sandwich.\",\"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\":\"B\u00e2timent \u00e0 structure m\u00e9tallique de 240\u00a0m\u00b2 \u00b7 Tenerife\",\"k\":\"edif\"},{\"s\":\"nave-terrassa\",\"t\":\"Hangar industriel de 510\u00a0m\u00b2 \u00b7 Terrassa (Barcelona)\",\"m\":\"Emprise 17,2 \u00d7 29,7\u00a0m \u00b7 hauteur 5,8\u00a0m\",\"d\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s. Mod\u00e8le sans bardage.\",\"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\":\"Hangar industriel de 510\u00a0m\u00b2 \u00b7 Terrassa (Barcelona)\",\"k\":\"nave\"},{\"s\":\"edificio-canarias\",\"t\":\"B\u00e2timent \u00e0 structure m\u00e9tallique de 390\u00a0m\u00b2 \u00b7 Canaries\",\"m\":\"Emprise 20,3 \u00d7 25,1\u00a0m \u00b7 hauteur 6,4\u00a0m\",\"d\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e de plain-pied. Toiture plate et fa\u00e7ades en panneaux sandwich.\",\"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\":\"B\u00e2timent \u00e0 structure m\u00e9tallique de 390\u00a0m\u00b2 \u00b7 Canaries\",\"k\":\"edif\"},{\"s\":\"oficinas-copa-america\",\"t\":\"Bureaux modulaires de 130\u00a0m\u00b2 \u00b7 Barcelona\",\"m\":\"Emprise 5,2 \u00d7 24,1\u00a0m \u00b7 hauteur 3,5\u00a0m\",\"d\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e de plain-pied. Toiture plate et fa\u00e7ades en panneaux sandwich.\",\"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\":\"Bureaux modulaires de 130\u00a0m\u00b2 \u00b7 Barcelona\",\"k\":\"edif\"},{\"s\":\"edificio-santa-cruz\",\"t\":\"B\u00e2timent \u00e0 structure m\u00e9tallique de 820\u00a0m\u00b2 \u00b7 Santa Cruz de Tenerife\",\"m\":\"Emprise 21,4 \u00d7 38,2\u00a0m \u00b7 hauteur 5,4\u00a0m\",\"d\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e de plain-pied. Toiture plate et fa\u00e7ades en panneaux sandwich.\",\"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\":\"B\u00e2timent \u00e0 structure m\u00e9tallique de 820\u00a0m\u00b2 \u00b7 Santa Cruz de Tenerife\",\"k\":\"edif\"},{\"s\":\"nave-dos-aguas\",\"t\":\"Hangar industriel de 330\u00a0m\u00b2\",\"m\":\"Emprise 10,5 \u00d7 30,2\u00a0m \u00b7 hauteur 6,5\u00a0m\",\"d\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s. Toiture \u00e0 deux pans et fa\u00e7ades en panneaux sandwich.\",\"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\":\"Hangar industriel de 330\u00a0m\u00b2\",\"k\":\"nave\"},{\"s\":\"nave-gava\",\"t\":\"Hangar industriel de 290\u00a0m\u00b2 \u00b7 Gav\u00e0 (Barcelona)\",\"m\":\"Emprise 7,6 \u00d7 12,6\u00a0m \u00b7 hauteur 11,8\u00a0m \u00b7 3 niveaux\",\"d\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s, sur trois niveaux. Toiture et fa\u00e7ades en panneaux sandwich.\",\"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\":\"Hangar industriel de 290\u00a0m\u00b2 \u00b7 Gav\u00e0 (Barcelona)\",\"k\":\"nave\"},{\"s\":\"porche-terrassa\",\"t\":\"Auvent m\u00e9tallique de 160\u00a0m\u00b2 \u00b7 Terrassa (Barcelona)\",\"m\":\"Emprise 7,3 \u00d7 21,4\u00a0m \u00b7 hauteur 4,3\u00a0m\",\"d\":\"Poteaux et poutres en acier galvanis\u00e9 boulonn\u00e9s. Toiture \u00e0 un pan en panneaux sandwich.\",\"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\":\"Auvent m\u00e9tallique de 160\u00a0m\u00b2 \u00b7 Terrassa (Barcelona)\",\"k\":\"porche\"},{\"s\":\"nave-mollerussa\",\"t\":\"Hangar industriel de 610\u00a0m\u00b2 \u00b7 Mollerussa (Lleida)\",\"m\":\"Emprise 30,5 \u00d7 46,2\u00a0m \u00b7 hauteur 7\u00a0m\",\"d\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s. Toiture et fa\u00e7ades en panneaux sandwich.\",\"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\":\"Hangar industriel de 610\u00a0m\u00b2 \u00b7 Mollerussa (Lleida)\",\"k\":\"nave\"},{\"s\":\"nave-gabon\",\"t\":\"Hangar industriel de 1\u202f050\u00a0m\u00b2 \u00b7 Gabon\",\"m\":\"Emprise 30,9 \u00d7 31,3\u00a0m \u00b7 hauteur 10,3\u00a0m \u00b7 2 niveaux\",\"d\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s, sur deux niveaux. Toiture et fa\u00e7ades en panneaux sandwich.\",\"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\":\"Hangar industriel de 1\u202f050\u00a0m\u00b2 \u00b7 Gabon\",\"k\":\"nave\"},{\"s\":\"porche-bellots\",\"t\":\"Auvent m\u00e9tallique de 240\u00a0m\u00b2 \u00b7 Terrassa (Barcelona)\",\"m\":\"Emprise 7,4 \u00d7 31,7\u00a0m \u00b7 hauteur 3,9\u00a0m\",\"d\":\"Poteaux et poutres en acier galvanis\u00e9 boulonn\u00e9s. Toiture plate et fa\u00e7ades en panneaux sandwich.\",\"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\":\"Auvent m\u00e9tallique de 240\u00a0m\u00b2 \u00b7 Terrassa (Barcelona)\",\"k\":\"porche\"},{\"s\":\"almacen-os-de-balaguer\",\"t\":\"Entrep\u00f4t \u00e0 structure m\u00e9tallique de 220\u00a0m\u00b2 \u00b7 Os de Balaguer (Lleida)\",\"m\":\"Emprise 10,3 \u00d7 20,4\u00a0m \u00b7 hauteur 5,1\u00a0m\",\"d\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s. Toiture et fa\u00e7ades en panneaux sandwich.\",\"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\":\"Entrep\u00f4t \u00e0 structure m\u00e9tallique de 220\u00a0m\u00b2 \u00b7 Os de Balaguer (Lleida)\",\"k\":\"nave\"},{\"s\":\"estructura-fira-lleida\",\"t\":\"Structure m\u00e9tallique de 420\u00a0m\u00b2 \u00b7 Fira de Lleida\",\"m\":\"Emprise 12,8 \u00d7 30,3\u00a0m \u00b7 hauteur 6,8\u00a0m \u00b7 2 niveaux\",\"d\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e sur deux niveaux. Toiture plate en panneaux sandwich.\",\"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\":\"Structure m\u00e9tallique de 420\u00a0m\u00b2 \u00b7 Fira de Lleida\",\"k\":\"est\"},{\"s\":\"almacen-portico\",\"t\":\"Entrep\u00f4t \u00e0 structure m\u00e9tallique de 85\u00a0m\u00b2\",\"m\":\"Emprise 9 \u00d7 9,4\u00a0m \u00b7 hauteur 5,7\u00a0m\",\"d\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s. Toiture \u00e0 deux pans et fa\u00e7ades en panneaux sandwich.\",\"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\":\"Entrep\u00f4t \u00e0 structure m\u00e9tallique de 85\u00a0m\u00b2\",\"k\":\"nave\"},{\"s\":\"edificio-pirineo\",\"t\":\"B\u00e2timent \u00e0 structure m\u00e9tallique de 150\u00a0m\u00b2 \u00b7 Pyr\u00e9n\u00e9es\",\"m\":\"Emprise 6,1 \u00d7 12,9\u00a0m \u00b7 hauteur 8\u00a0m \u00b7 2 niveaux\",\"d\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e sur deux niveaux. Toiture plate et fa\u00e7ades en panneaux sandwich.\",\"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\":\"B\u00e2timent \u00e0 structure m\u00e9tallique de 150\u00a0m\u00b2 \u00b7 Pyr\u00e9n\u00e9es\",\"k\":\"edif\"},{\"s\":\"estructura-castelloli\",\"t\":\"Structure m\u00e9tallique de 300\u00a0m\u00b2 \u00b7 Circuit de Castellol\u00ed (Barcelona)\",\"m\":\"Emprise 12,2 \u00d7 25,3\u00a0m \u00b7 hauteur 5,7\u00a0m\",\"d\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e de plain-pied. Mod\u00e8le sans bardage.\",\"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\":\"Structure m\u00e9tallique de 300\u00a0m\u00b2 \u00b7 Circuit de Castellol\u00ed (Barcelona)\",\"k\":\"est\"},{\"s\":\"edificio-murcia\",\"t\":\"B\u00e2timent \u00e0 structure m\u00e9tallique de 260\u00a0m\u00b2 \u00b7 Murcia\",\"m\":\"Emprise 9,9 \u00d7 15,5\u00a0m \u00b7 hauteur 9,5\u00a0m \u00b7 2 niveaux\",\"d\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e sur deux niveaux. Toiture plate et fa\u00e7ades en panneaux sandwich.\",\"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\":\"B\u00e2timent \u00e0 structure m\u00e9tallique de 260\u00a0m\u00b2 \u00b7 Murcia\",\"k\":\"edif\"},{\"s\":\"estructura-nave-andosana\",\"t\":\"Hangar industriel de 550\u00a0m\u00b2\",\"m\":\"Emprise 12,2 \u00d7 44,5\u00a0m \u00b7 hauteur 5,4\u00a0m\",\"d\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s. Mod\u00e8le sans bardage.\",\"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\":\"Hangar industriel de 550\u00a0m\u00b2\",\"k\":\"nave\"},{\"s\":\"garaje-6x6-un-agua\",\"t\":\"Garage de 36 m\u00b2 \u00b7 mod\u00e8le type\",\"m\":\"Emprise 6 \u00d7 6 m \u00b7 hauteur 3,4 m\",\"d\":\"Garage monopente pour deux voitures, avec porte de 4,5 m. Tube de 100 \u00d7 100 avec raccords boulonn\u00e9s, toiture et fa\u00e7ades en panneau sandwich. Mod\u00e8le type indicatif.\",\"a\":\"Garage de 36 m\u00b2 \u00b7 mod\u00e8le type\",\"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\":\"Carport deux voitures de 30 m\u00b2 \u00b7 mod\u00e8le type\",\"m\":\"Emprise 5,5 \u00d7 5,5 m \u00b7 hauteur 2,8 m\",\"d\":\"Carport autoportant monopente, ouvert sur les quatre c\u00f4t\u00e9s, avec toiture en panneau sandwich. Mod\u00e8le type indicatif.\",\"a\":\"Carport deux voitures de 30 m\u00b2 \u00b7 mod\u00e8le type\",\"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\":\"Auvent adoss\u00e9 de 18 m\u00b2 \u00b7 mod\u00e8le type\",\"m\":\"Emprise 6 \u00d7 3 m \u00b7 hauteur 2,9 m\",\"d\":\"Auvent monopente adoss\u00e9 \u00e0 la fa\u00e7ade de la maison, avec toiture en panneau sandwich. Les poutres sont fix\u00e9es au mur par des raccords boulonn\u00e9s. Mod\u00e8le type indicatif.\",\"a\":\"Auvent adoss\u00e9 de 18 m\u00b2 \u00b7 mod\u00e8le type\",\"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\":\"Pergola de 16 m\u00b2 \u00b7 mod\u00e8le type\",\"m\":\"Emprise 4 \u00d7 4 m \u00b7 hauteur 2,5 m\",\"d\":\"Pergola autoportante \u00e0 toit plat avec 4 poteaux, une poutre centrale et des pannes en tube, sans panneaux. Mod\u00e8le type indicatif.\",\"a\":\"Pergola de 16 m\u00b2 \u00b7 mod\u00e8le type\",\"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\":\"Pergola photovolta\u00efque de 50 m\u00b2 \u00b7 mod\u00e8le type\",\"m\":\"Emprise 10 \u00d7 5 m \u00b7 hauteur 3,2 m\",\"d\":\"Structure monopente pour panneaux solaires, ouverte pour se garer dessous, avec des pannes en tube pour fixer les modules photovolta\u00efques. Mod\u00e8le type indicatif.\",\"a\":\"Pergola photovolta\u00efque de 50 m\u00b2 \u00b7 mod\u00e8le type\",\"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\":\"Bungalow de 18 m\u00b2 \u00b7 mod\u00e8le type\",\"m\":\"Emprise 6 \u00d7 3 m \u00b7 hauteur 3 m\",\"d\":\"Module monopente avec plancher sur\u00e9lev\u00e9, toiture et fa\u00e7ades en panneau sandwich, une porte et deux fen\u00eatres. Mod\u00e8le type indicatif.\",\"a\":\"Bungalow de 18 m\u00b2 \u00b7 mod\u00e8le type\",\"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\":\"Entrep\u00f4t d\u00e9montable de 48 m\u00b2 \u00b7 mod\u00e8le type\",\"m\":\"Emprise 8 \u00d7 6 m \u00b7 hauteur 4,4 m\",\"d\":\"Entrep\u00f4t \u00e0 deux pentes avec fermes, toiture et fa\u00e7ades en panneau sandwich et porte de 3 \u00d7 3 m. Il se monte et se d\u00e9monte gr\u00e2ce aux raccords boulonn\u00e9s. Mod\u00e8le type indicatif.\",\"a\":\"Entrep\u00f4t d\u00e9montable de 48 m\u00b2 \u00b7 mod\u00e8le type\",\"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\":\"B\u00e2timent de 240 m\u00b2 \u00b7 mod\u00e8le type\",\"m\":\"Emprise 20 \u00d7 12 m \u00b7 hauteur 6,2 m\",\"d\":\"B\u00e2timent \u00e0 deux pentes de 12 m de port\u00e9e avec fermes, toiture et fa\u00e7ades en panneau sandwich et porte de 4 \u00d7 4 m. Mod\u00e8le type indicatif.\",\"a\":\"B\u00e2timent de 240 m\u00b2 \u00b7 mod\u00e8le type\",\"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\":\"B\u00e2timent IPE de 480 m\u00b2 \u00b7 mod\u00e8le type\",\"m\":\"Emprise 30 \u00d7 16 m \u00b7 hauteur 7 m\",\"d\":\"B\u00e2timent \u00e0 deux pentes de 16 m de port\u00e9e avec portiques en profil\u00e9 IPE boulonn\u00e9s, pannes, toiture et fa\u00e7ades en panneau sandwich et porte. Mod\u00e8le type indicatif.\",\"a\":\"B\u00e2timent IPE de 480 m\u00b2 \u00b7 mod\u00e8le type\",\"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\":\"Maison de 96 m\u00b2 \u00b7 mod\u00e8le type\",\"m\":\"Emprise 12 \u00d7 8 m \u00b7 hauteur 4,4 m\",\"d\":\"Maison de plain-pied \u00e0 deux pentes avec ossature en tube et raccords boulonn\u00e9s, tube p\u00e9riph\u00e9rique, fermes, toiture et fa\u00e7ades en panneau sandwich, une porte et des fen\u00eatres. Mod\u00e8le type indicatif.\",\"a\":\"Maison de 96 m\u00b2 \u00b7 mod\u00e8le type\",\"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\":\"Projets en 3D\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"3DModel\",\"name\":\"Hangar industriel de 830\u00a0m\u00b2 \u00b7 Torreserona (Lleida)\",\"description\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s. Mod\u00e8le sans bardage. Emprise 16,6 \u00d7 49,5\u00a0m \u00b7 hauteur 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\":\"Hangar industriel de 440\u00a0m\u00b2 \u00b7 Jerez de la Frontera (C\u00e1diz)\",\"description\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s. Toiture \u00e0 deux pans et fa\u00e7ades en panneaux sandwich. Emprise 12,4 \u00d7 35,3\u00a0m \u00b7 hauteur 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\":\"Hangar industriel de 270\u00a0m\u00b2 \u00b7 Jerez de la Frontera (C\u00e1diz)\",\"description\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s. Toiture et fa\u00e7ades en panneaux sandwich. Emprise 10,4 \u00d7 25,4\u00a0m \u00b7 hauteur 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\":\"Salles de classe modulaires de 290\u00a0m\u00b2 \u00b7 Cardoner (Barcelona)\",\"description\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e de plain-pied. Toiture plate en panneaux sandwich. Emprise 13,9 \u00d7 21\u00a0m \u00b7 hauteur 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\":\"Structure m\u00e9tallique de 510\u00a0m\u00b2\",\"description\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e de plain-pied. Mod\u00e8le sans bardage. Emprise 16,3 \u00d7 30,6\u00a0m \u00b7 hauteur 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\":\"Module \u00e0 structure m\u00e9tallique de 40\u00a0m\u00b2 \u00b7 Montcada i Reixac (Barcelona)\",\"description\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e de plain-pied. Mod\u00e8le sans bardage. Emprise 5 \u00d7 7,4\u00a0m \u00b7 hauteur 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\":\"B\u00e2timent \u00e0 structure m\u00e9tallique de 240\u00a0m\u00b2 \u00b7 Tenerife\",\"description\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e de plain-pied. Toiture plate et fa\u00e7ades en panneaux sandwich. Emprise 7,3 \u00d7 32,3\u00a0m \u00b7 hauteur 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\":\"Hangar industriel de 510\u00a0m\u00b2 \u00b7 Terrassa (Barcelona)\",\"description\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s. Mod\u00e8le sans bardage. Emprise 17,2 \u00d7 29,7\u00a0m \u00b7 hauteur 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\":\"B\u00e2timent \u00e0 structure m\u00e9tallique de 390\u00a0m\u00b2 \u00b7 Canaries\",\"description\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e de plain-pied. Toiture plate et fa\u00e7ades en panneaux sandwich. Emprise 20,3 \u00d7 25,1\u00a0m \u00b7 hauteur 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\":\"Bureaux modulaires de 130\u00a0m\u00b2 \u00b7 Barcelona\",\"description\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e de plain-pied. Toiture plate et fa\u00e7ades en panneaux sandwich. Emprise 5,2 \u00d7 24,1\u00a0m \u00b7 hauteur 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\":\"B\u00e2timent \u00e0 structure m\u00e9tallique de 820\u00a0m\u00b2 \u00b7 Santa Cruz de Tenerife\",\"description\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e de plain-pied. Toiture plate et fa\u00e7ades en panneaux sandwich. Emprise 21,4 \u00d7 38,2\u00a0m \u00b7 hauteur 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\":\"Hangar industriel de 330\u00a0m\u00b2\",\"description\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s. Toiture \u00e0 deux pans et fa\u00e7ades en panneaux sandwich. Emprise 10,5 \u00d7 30,2\u00a0m \u00b7 hauteur 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\":\"Hangar industriel de 290\u00a0m\u00b2 \u00b7 Gav\u00e0 (Barcelona)\",\"description\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s, sur trois niveaux. Toiture et fa\u00e7ades en panneaux sandwich. Emprise 7,6 \u00d7 12,6\u00a0m \u00b7 hauteur 11,8\u00a0m \u00b7 3 niveaux\",\"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\":\"Auvent m\u00e9tallique de 160\u00a0m\u00b2 \u00b7 Terrassa (Barcelona)\",\"description\":\"Poteaux et poutres en acier galvanis\u00e9 boulonn\u00e9s. Toiture \u00e0 un pan en panneaux sandwich. Emprise 7,3 \u00d7 21,4\u00a0m \u00b7 hauteur 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\":\"Hangar industriel de 610\u00a0m\u00b2 \u00b7 Mollerussa (Lleida)\",\"description\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s. Toiture et fa\u00e7ades en panneaux sandwich. Emprise 30,5 \u00d7 46,2\u00a0m \u00b7 hauteur 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\":\"Hangar industriel de 1\u202f050\u00a0m\u00b2 \u00b7 Gabon\",\"description\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s, sur deux niveaux. Toiture et fa\u00e7ades en panneaux sandwich. Emprise 30,9 \u00d7 31,3\u00a0m \u00b7 hauteur 10,3\u00a0m \u00b7 2 niveaux\",\"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\":\"Auvent m\u00e9tallique de 240\u00a0m\u00b2 \u00b7 Terrassa (Barcelona)\",\"description\":\"Poteaux et poutres en acier galvanis\u00e9 boulonn\u00e9s. Toiture plate et fa\u00e7ades en panneaux sandwich. Emprise 7,4 \u00d7 31,7\u00a0m \u00b7 hauteur 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\":\"Entrep\u00f4t \u00e0 structure m\u00e9tallique de 220\u00a0m\u00b2 \u00b7 Os de Balaguer (Lleida)\",\"description\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s. Toiture et fa\u00e7ades en panneaux sandwich. Emprise 10,3 \u00d7 20,4\u00a0m \u00b7 hauteur 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\":\"Structure m\u00e9tallique de 420\u00a0m\u00b2 \u00b7 Fira de Lleida\",\"description\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e sur deux niveaux. Toiture plate en panneaux sandwich. Emprise 12,8 \u00d7 30,3\u00a0m \u00b7 hauteur 6,8\u00a0m \u00b7 2 niveaux\",\"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\":\"Entrep\u00f4t \u00e0 structure m\u00e9tallique de 85\u00a0m\u00b2\",\"description\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s. Toiture \u00e0 deux pans et fa\u00e7ades en panneaux sandwich. Emprise 9 \u00d7 9,4\u00a0m \u00b7 hauteur 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\":\"B\u00e2timent \u00e0 structure m\u00e9tallique de 150\u00a0m\u00b2 \u00b7 Pyr\u00e9n\u00e9es\",\"description\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e sur deux niveaux. Toiture plate et fa\u00e7ades en panneaux sandwich. Emprise 6,1 \u00d7 12,9\u00a0m \u00b7 hauteur 8\u00a0m \u00b7 2 niveaux\",\"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\":\"Structure m\u00e9tallique de 300\u00a0m\u00b2 \u00b7 Circuit de Castellol\u00ed (Barcelona)\",\"description\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e de plain-pied. Mod\u00e8le sans bardage. Emprise 12,2 \u00d7 25,3\u00a0m \u00b7 hauteur 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\":\"B\u00e2timent \u00e0 structure m\u00e9tallique de 260\u00a0m\u00b2 \u00b7 Murcia\",\"description\":\"Structure en acier galvanis\u00e9 boulonn\u00e9e sur deux niveaux. Toiture plate et fa\u00e7ades en panneaux sandwich. Emprise 9,9 \u00d7 15,5\u00a0m \u00b7 hauteur 9,5\u00a0m \u00b7 2 niveaux\",\"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\":\"Hangar industriel de 550\u00a0m\u00b2\",\"description\":\"Portiques en acier galvanis\u00e9 boulonn\u00e9s. Mod\u00e8le sans bardage. Emprise 12,2 \u00d7 44,5\u00a0m \u00b7 hauteur 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=\"Filtrer les projets\"><button type=\"button\" class=\"sm3f__c\" data-f=\"all\" aria-pressed=\"true\">Tous <span>32<\/span><\/button><button type=\"button\" class=\"sm3f__c\" data-f=\"nave\" aria-pressed=\"false\">B\u00e2timents industriels et entrep\u00f4ts <span>11<\/span><\/button><button type=\"button\" class=\"sm3f__c\" data-f=\"edif\" aria-pressed=\"false\">B\u00e2timents et modules <span>8<\/span><\/button><button type=\"button\" class=\"sm3f__c\" data-f=\"porche\" aria-pressed=\"false\">Auvents <span>2<\/span><\/button><button type=\"button\" class=\"sm3f__c\" data-f=\"est\" aria-pressed=\"false\">Structures <span>3<\/span><\/button><button type=\"button\" class=\"sm3f__c\" data-f=\"tipo\" aria-pressed=\"false\">Mod\u00e8les types <span>8<\/span><\/button><\/div><p class=\"sm3f__apps\"><b>Par application :<\/b><a href=\"\/fr\/structures-en-acier-pour-les-batiments-industriels\/\">B\u00e2timents industriels<\/a><a href=\"\/fr\/structures-metalliques-sur-mesure\/\">Structures sur mesure<\/a><a href=\"\/fr\/pergolas-auvents-metalliques\/\">Pergolas et auvents<\/a><a href=\"\/fr\/structures-metalliques-pour-bungalows\/\">Bungalows et modules<\/a><a href=\"\/fr\/structures-en-acier-pour-les-maisons\/\">Structures pour maisons<\/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-80bf752 smd-sec elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"80bf752\" 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-07af22a\" data-id=\"07af22a\" 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-2029b3b elementor-widget elementor-widget-text-editor\" data-id=\"2029b3b\" 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;\">Comment utiliser la visionneuse<\/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;\">Cliquez sur un projet pour l&rsquo;ouvrir puis sur <b>Plein \u00e9cran<\/b>.<\/li><li style=\"margin-bottom:10px;\">Dans <b>Calques<\/b>, l&rsquo;\u0153il de <b>Panneaux et ossature<\/b> laisse voir la structure et les assemblages.<\/li><li style=\"margin-bottom:10px;\">Cliquez sur une pi\u00e8ce pour savoir ce que c&rsquo;est ; avec <b>Masquer<\/b> ou <b>Isoler<\/b>, vous travaillez pi\u00e8ce par pi\u00e8ce, comme dans une visionneuse BIM.<\/li><li style=\"margin-bottom:10px;\">Utilisez <b>Mesurer<\/b>, le <b>plan de coupe<\/b> et les vues en plan et en \u00e9l\u00e9vation pour examiner le projet.<\/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-dae8bcd1 smd-inl-w elementor-widget elementor-widget-html\" data-id=\"dae8bcd1\" 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=\"B\u00e2timent industriel termin\u00e9 avec bardage en panneaux sandwich et structure StarModul \u00e0 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-a9caaa9\" data-id=\"a9caaa9\" 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-013c79b elementor-widget elementor-widget-text-editor\" data-id=\"013c79b\" 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;\">Questions fr\u00e9quentes<\/h2><div style=\"height:16px\"><\/div><h3 style=\"margin:0;color:#0D2148;font-size:18px;line-height:1.3;font-weight:700;\">Que montrent ces mod\u00e8les ?<\/h3><div style=\"height:6px\"><\/div><p style=\"margin:0;color:#334155;font-size:15px;line-height:1.65;\">Ce sont des projets r\u00e9els calcul\u00e9s et fabriqu\u00e9s par StarModul : la structure en acier galvanis\u00e9, les assemblages boulonn\u00e9s et, lorsque le projet en comporte, les panneaux de bardage.<\/p><div style=\"height:18px\"><\/div><h3 style=\"margin:0;color:#0D2148;font-size:18px;line-height:1.3;font-weight:700;\">Puis-je voir seulement la structure ?<\/h3><div style=\"height:6px\"><\/div><p style=\"margin:0;color:#334155;font-size:15px;line-height:1.65;\">Oui. Appuyez sur \u00ab Structure seule \u00bb ou \u00e9teignez l&rsquo;\u0153il de \u00ab Panneaux et ossature \u00bb dans le panneau des calques.<\/p><div style=\"height:18px\"><\/div><h3 style=\"margin:0;color:#0D2148;font-size:18px;line-height:1.3;font-weight:700;\">Faut-il installer quelque chose ?<\/h3><div style=\"height:6px\"><\/div><p style=\"margin:0;color:#334155;font-size:15px;line-height:1.65;\">Non. La visionneuse fonctionne dans le navigateur de l&rsquo;ordinateur, de la tablette ou du t\u00e9l\u00e9phone.<\/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 R\u00c9ELS<\/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;\">Photos de r\u00e9alisations avec <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;\">Photos de chantiers mont\u00e9s avec le syst\u00e8me d&rsquo;assemblages boulonn\u00e9s StarModul. Cliquez sur une photo pour l&rsquo;agrandir.<\/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=\"Hangar IPE termin\u00e9 \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=\"Int\u00e9rieur d&#039;un hangar IPE termin\u00e9 avec pont roulant \u00e0 Torre-serona (Lleida)\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Hangar IPE termin\u00e9 \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=\"Couverture de salon \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=\"Grande couverture d\u00e9montable sur structure m\u00e9tallique dans un parc des expositions \u00e0 Lleida \u2013 vue d\u2019ensemble\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Couverture de salon \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=\"Couverture de salon \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=\"Grande couverture d\u00e9montable sur structure m\u00e9tallique dans un parc des expositions \u00e0 Lleida \u2013 autre vue\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Couverture de salon \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=\"B\u00e2timent en chantier \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=\"B\u00e2timent \u00e0 structure StarModul en chantier \u00e0 Lleida\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>B\u00e2timent en chantier \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=\"Hangar termin\u00e9 \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=\"B\u00e2timent industriel termin\u00e9 avec bardage en panneaux sandwich et structure StarModul \u00e0 Faura (Valencia)\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Hangar termin\u00e9 \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=\"Abri de parking \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=\"Abri de parking \u00e0 structure m\u00e9tallique StarModul \u00e0 Castellol\u00ed (Barcelona)\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Abri de parking \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=\"Ossature en montage \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=\"Ossature en tube galvanis\u00e9 d&#039;une maison StarModul en montage sur la dalle \u00e0 Girona\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Ossature en montage \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=\"Salles de classe termin\u00e9es\"><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=\"Salles de classe termin\u00e9es avec structure int\u00e9rieure StarModul\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Salles de classe termin\u00e9es<\/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=\"Hangar \u00e0 fermes \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=\"Int\u00e9rieur de hangar avec fermes en tube galvanis\u00e9 boulonn\u00e9es StarModul \u00e0 Faura (Valencia)\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Hangar \u00e0 fermes \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=\"Auvent de terrain de foot \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=\"Auvent et vestiaires \u00e0 structure m\u00e9tallique StarModul pr\u00e8s d&#039;un terrain de football \u00e0 Alcover (Tarragona)\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Auvent de terrain de foot \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=\"Hangar \u00e0 fermes \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=\"Int\u00e9rieur de hangar avec fermes en tube galvanis\u00e9 boulonn\u00e9es StarModul \u00e0 Valls (Tarragona) \u2013 vue d\u2019ensemble\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Hangar \u00e0 fermes \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=\"Hangar \u00e0 fermes \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=\"Int\u00e9rieur de hangar avec fermes en tube galvanis\u00e9 boulonn\u00e9es StarModul \u00e0 Faura (Valencia) \u2013 vue d\u2019ensemble\" loading=\"lazy\" decoding=\"async\" title=\"\"><\/a><figcaption>Hangar \u00e0 fermes \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-18535e8 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"18535e8\" 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-a099ada\" data-id=\"a099ada\" 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-86574bf elementor-widget elementor-widget-html\" data-id=\"86574bf\" 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;\">Vous avez un projet similaire ?<\/h2><div style=\"height:10px\"><\/div><p style=\"margin:0;color:#CBD5E1;font-size:17px;line-height:1.6;\">Nous pr\u00e9parons la structure sur mesure avec assemblages boulonn\u00e9s et plans de montage.<\/p><\/div><div style=\"display:flex;flex-wrap:wrap;gap:12px\"><a href=\"\/fr\/configurateur-3d-structure-metallique\/\" 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;\">Concevoir dans le configurateur 3D<\/a><a href=\"\/fr\/contact\/\" 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);\">Demander un devis<\/a><\/div><\/div><script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Que montrent ces mod\u00e8les ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Ce sont des projets r\u00e9els calcul\u00e9s et fabriqu\u00e9s par StarModul : la structure en acier galvanis\u00e9, les assemblages boulonn\u00e9s et, lorsque le projet en comporte, les panneaux de bardage.\"}},{\"@type\":\"Question\",\"name\":\"Puis-je voir seulement la structure ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Oui. Appuyez sur \u00ab Structure seule \u00bb ou \u00e9teignez l'\u0153il de \u00ab Panneaux et ossature \u00bb dans le panneau des calques.\"}},{\"@type\":\"Question\",\"name\":\"Faut-il installer quelque chose ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Non. La visionneuse fonctionne dans le navigateur de l'ordinateur, de la tablette ou du t\u00e9l\u00e9phone.\"}}]}<\/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":31028,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-31100","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/starmodul.com\/fr\/wp-json\/wp\/v2\/pages\/31100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/starmodul.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/starmodul.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/starmodul.com\/fr\/wp-json\/wp\/v2\/users\/1197"}],"replies":[{"embeddable":true,"href":"https:\/\/starmodul.com\/fr\/wp-json\/wp\/v2\/comments?post=31100"}],"version-history":[{"count":1,"href":"https:\/\/starmodul.com\/fr\/wp-json\/wp\/v2\/pages\/31100\/revisions"}],"predecessor-version":[{"id":31101,"href":"https:\/\/starmodul.com\/fr\/wp-json\/wp\/v2\/pages\/31100\/revisions\/31101"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/starmodul.com\/fr\/wp-json\/wp\/v2\/media\/31028"}],"wp:attachment":[{"href":"https:\/\/starmodul.com\/fr\/wp-json\/wp\/v2\/media?parent=31100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}