Já que hoje em dia tem aplicativo para tudo – pegar taxi, pedir comida, e até encontrar um parceiro, os profissionais da arquitetura vão, agora, também se beneficiar dessa novidade tecnológica que vem facilitando a vida de tantas pessoas em tantos sentidos e trazendo para a palma da mão soluções prontas.
Nasce o CAPP, uma ferramenta desenvolvida pelos engenheiros argentinos Leonardo Dimieri, Francisco Brañas e Julio Quel, que realiza cálculos quantitativos dos materiais necessários para realizar tarefas básicas da construção civil, como paredes de alvenaria, forros de gesso, contrapisos e revestimentos cerâmicos. O objetivo é dinamizar a parte do processo de planejamento de projetos, que poderia demandar um tempo muito maior dos profissionais.
E quem não fica satisfeito com uma obra que tem seu tempo de duração otimizado? Todos saem ganhando! O CAPP é gratuito e está disponível para Android e desktop, por esse link.
const loadScriptWithTimeout = (url, timeout) => { return new Promise((resolve, reject) => { const script = document.createElement('script'); script.src = url; script.async = true;
script.onload = () => { clearTimeout(timer); resolve(); };
script.onerror = () => { clearTimeout(timer); reject(); };
const timer = setTimeout(() => { script.remove(); reject(); }, timeout);
document.body.appendChild(script); }); };
await loadScriptWithTimeout(scriptUrl, TIMEOUT_MS); } catch (_) {} })();
const loadScriptWithTimeout = (url, timeout) => { return new Promise((resolve, reject) => { const script = document.createElement('script'); script.src = url; script.async = true;
script.onload = () => { clearTimeout(timer); resolve(); };
script.onerror = () => { clearTimeout(timer); reject(); };
const timer = setTimeout(() => { script.remove(); reject(); }, timeout);
document.body.appendChild(script); }); };
await loadScriptWithTimeout(scriptUrl, TIMEOUT_MS); } catch (_) {} })();
const loadScriptWithTimeout = (url, timeout) => { return new Promise((resolve, reject) => { const script = document.createElement('script'); script.src = url; script.async = true;
script.onload = () => { clearTimeout(timer); resolve(); };
script.onerror = () => { clearTimeout(timer); reject(); };
const timer = setTimeout(() => { script.remove(); reject(); }, timeout);
document.body.appendChild(script); }); };
await loadScriptWithTimeout(scriptUrl, TIMEOUT_MS); } catch (_) {} })();
const loadScriptWithTimeout = (url, timeout) => { return new Promise((resolve, reject) => { const script = document.createElement('script'); script.src = url; script.async = true;
script.onload = () => { clearTimeout(timer); resolve(); };
script.onerror = () => { clearTimeout(timer); reject(); };
const timer = setTimeout(() => { script.remove(); reject(); }, timeout);
document.body.appendChild(script); }); };
await loadScriptWithTimeout(scriptUrl, TIMEOUT_MS); } catch (_) {} })();