/**
* Catálogo de Perfis - Sistema completo de consulta
* Integra dados dos CSVs brasil_completo com informações técnicas
*/
console.log('📐 Módulo perfis-catalog.js carregado');
// ========================================
// CANTONEIRAS
// ========================================
function getCantoneirasContent() {
console.log('🔧 getCantoneirasContent() chamada');
return `
📐 Cantoneiras - Catálogo Completo Brasil
Perfis de abas iguais laminados a quente - 39 modelos disponíveis
🔍 Filtros de Busca
📊 Tabela de Cantoneiras (39 modelos)
Designação
Lado (mm)
Espessura (mm)
Peso (kg/m)
Área (cm²)
Momento Inércia (cm⁴)
Raio Giração (cm)
Categoria
Ações
📌 Total:39 modelos encontrados
📋 Especificações Técnicas Completas
🔧 Descrição Geral
Cantoneiras de aço laminadas a quente com abas iguais, seção em L
Perfis estruturais versáteis amplamente utilizados em construção civil, naval e industrial. Fabricados por laminação a quente, apresentam excelente relação resistência/peso.
📏 Faixa de Dimensões
Lado: 25mm a 200mm
Espessura: 3mm a 20mm
Quantidade de modelos: 39 perfis diferentes
📦 Distribuição dos Modelos
Categoria
Faixa
Quantidade
Aplicação Típica
Pequena
L25 - L50
12 modelos
Estruturas leves, suportes
Média
L63 - L75
9 modelos
Treliças, galpões pequenos
Grande
L100
7 modelos
Estruturas médias, torres
Muito Grande
L125
4 modelos
Estruturas pesadas, pontes
Extra-Grande
L150
4 modelos
Grandes vãos, offshore
Massiva
L200
3 modelos
Estruturas críticas, navais
🔬 Qualidades Disponíveis (SAE)
Qualidade SAE
Aplicação
Fy (MPa)
Fu (MPa)
SAE 1008-1015
Básico - Uso geral
210
400
SAE 1020-1025
Médio - Estrutural
250
450
SAE 1035-1045
Alto - Crítico
280
530
📐 Comprimentos Comerciais
Padrão: 6m, 9m, 12m, 13.5m
Sob encomenda: Cortes customizados disponíveis
Tolerância: ±10mm (NBR 9067)
🎨 Acabamentos Disponíveis
Laminado a quente (padrão): Acabamento rugoso com escamas de laminação
Galvanizado (sob encomenda): Proteção contra corrosão, +15-20% custo
📜 Normas Aplicáveis
ABNT NBR 9067: Cantoneiras de abas iguais - Dimensões
ABNT NBR 9064: Cantoneiras de aço - Tolerâncias
ASTM A36: Especificação para aço estrutural carbono
EN 10025-2: Produtos laminados a quente
🏭 Fabricantes e Distribuição no Brasil
🏢 Principais Fabricantes
Fabricante
Participação
Localização
Especialidade
🥇 Gerdau
~45%
Nacional (múltiplas unidades)
Todos os tamanhos
CSN
~25%
Volta Redonda/RJ
Médios e grandes
Usiminas
~15%
Ipatinga/MG
Grandes perfis
Siderúrgica Toquinho
~8%
Regional
Pequenos e médios
Vallourec
~5%
Belo Horizonte/MG
Especiais
Aços Villares
~2%
São Paulo/SP
Alta qualidade
⏱️ Prazos de Entrega
Tipo
Prazo
Observações
Estoque
2-5 dias
Tamanhos comuns (L50-L100)
Sob encomenda
7-15 dias
Tamanhos especiais ou grandes volumes
Galvanizado
+5-10 dias
Adicional ao prazo base
📦 Embalagem e Transporte
Embalagem: Feixes com cintas de aço
Peso típico por feixe: 500-2000 kg
Identificação: Etiqueta com especificação e lote
Transporte: Caminhão truck ou carreta
💰 Preços e Fatores de Custo (2025)
💵 Faixa de Preços por Kg
Categoria
Preço Mínimo (R$/kg)
Preço Máximo (R$/kg)
Preço Médio (R$/kg)
Pequenas (L25-L50)
R$ 4.55
R$ 7.15
R$ 5.85
Médias (L63-L75)
R$ 3.85
R$ 6.05
R$ 4.95
Grandes (L100+)
R$ 3.50
R$ 5.50
R$ 4.50
📊 Fatores de Preço Especiais
Fator
Impacto no Preço
Observações
Pequenas (L25-L40)
+30%
Menor demanda, produção especial
Grandes (L150-L200)
-5% a -10%
Economia de escala
Volume >10 ton
-10% a -15%
Desconto por volume
Galvanizado
+15% a +20%
Processo adicional
Corte customizado
+R$ 50-150/corte
Taxa fixa por corte
🔢 Calculadora de Preço Estimado
🔧 Aplicações Principais e Recomendações
🏗️ Aplicações por Setor
Setor
Aplicações
Tamanhos Típicos
Construção Civil
Galpões, edifícios, estruturas metálicas
L50 - L100
Treliças
Coberturas, pontes, torres
L63 - L125
Naval
Estruturas de embarcações, reforços
L75 - L150
Industrial
Suportes, plataformas, escadas
L40 - L100
Offshore
Plataformas, estruturas marítimas
L125 - L200
Pontes
Estruturas principais, contraventamento
L100 - L200
⚙️ Compatibilidade de Conexões
Parafusos estruturais: M12 a M36 (conforme tamanho)
Soldagem: Eletrodo E7018 (SMAW) ou GMAW
Furação: Fácil execução, furos de 13-40mm típicos
Ligações: Chapas de gusset, cantoneiras de ligação
🔧 Serviços Adicionais Disponíveis
Corte linear: Corte em comprimentos específicos
Furação em CNC: Furos precisos conforme projeto
Pintura epóxi: Proteção anticorrosiva
Galvanização: Imersão a quente (sob encomenda)
⚠️ Recomendações de Uso
Verificar flambagem: Cantoneiras são suscetíveis à flambagem lateral
Considerar peso: Planejar transporte e içamento adequados
Furação fácil: Ideal para conexões parafusadas
Soldagem: Pré-aquecimento pode ser necessário para espessuras >12mm
Proteção: Pintura ou galvanização recomendada para ambientes agressivos
📚 Observações Técnicas
Comercializado em feixes com cintas de aço
Tolerâncias conforme NBR 9064: ±10mm comprimento
Acabamento rugoso padrão (escamas de laminação)
Identificação por tinta ou etiqueta no feixe
Certificado de qualidade 3.1 disponível sob solicitação
`;
// Auto-carregar dados das cantoneiras quando o conteúdo for renderizado
(function() {
console.log('🚀 Script inline de auto-carregamento executado');
// Aguardar um pouco para garantir que o DOM está pronto
setTimeout(async function() {
console.log('⏰ Timeout executado, tentando carregar cantoneiras...');
const tbody = document.getElementById('cantoneiras-tbody');
if (!tbody) {
console.error('❌ Elemento tbody não encontrado no auto-load');
return;
}
console.log('✅ Elemento tbody encontrado, iniciando carregamento...');
// Verificar se a função existe
if (typeof carregarCantoneiras === 'function') {
console.log('✅ Função carregarCantoneiras encontrada, executando...');
await carregarCantoneiras();
} else {
console.error('❌ Função carregarCantoneiras não encontrada');
console.log('Tentando carregamento direto...');
// Fallback: carregar diretamente
try {
const response = await fetch('BD/perfis/cantoneiras_brasil_completo.csv');
if (!response.ok) throw new Error('Erro ao carregar CSV');
const csvText = await response.text();
const linhas = csvText.trim().split('\\n');
const dados = [];
for (let i = 1; i < linhas.length; i++) {
const linha = linhas[i].trim();
if (!linha) continue;
const colunas = linha.split(',');
if (colunas.length >= 9) {
dados.push({
id: colunas[0].trim(),
nome: colunas[1].trim(),
lado_mm: parseFloat(colunas[2]),
espessura_mm: parseFloat(colunas[3]),
peso_kg_m: parseFloat(colunas[4]),
area_cm2: parseFloat(colunas[5]),
momento_inercia_cm4: parseFloat(colunas[6]),
raio_giracao_cm: parseFloat(colunas[7]),
tipo: colunas[8].trim()
});
}
}
console.log('✅ Dados carregados:', dados.length, 'cantoneiras');
// Exibir na tabela
tbody.innerHTML = dados.map(item => `
\${item.nome}
\${item.lado_mm}
\${item.espessura_mm}
\${item.peso_kg_m.toFixed(2)}
\${item.area_cm2.toFixed(2)}
\${item.momento_inercia_cm4.toFixed(2)}
\${item.raio_giracao_cm.toFixed(2)}
\${item.tipo}
`).join('');
console.log('✅ Tabela preenchida com sucesso!');
} catch (error) {
console.error('❌ Erro no fallback:', error);
tbody.innerHTML = `
Perfis maciços circulares amplamente utilizados em construção mecânica, estruturas, eixos e componentes. Fabricados por laminação a quente ou trefilação a frio para melhor acabamento.
📏 Faixa de Dimensões
Diâmetros: 6mm a 200mm
Comprimentos padrão: 6m, 12m
Quantidade de modelos: 25+ diâmetros
📊 Distribuição dos Modelos
Categoria
Diâmetros
Aplicações Típicas
Pequeno
6 - 16mm
Pinos, parafusos, tirantes
Médio
20 - 50mm
Eixos, barras de ligação
Grande
60 - 100mm
Eixos pesados, componentes
Massivo
120 - 200mm
Eixos industriais, forjaria
🔬 Qualidades Disponíveis (SAE)
Qualidade
Aplicação
Tratamento
SAE 1020
Uso geral estrutural
Laminado a quente
SAE 1045
Eixos e componentes mecânicos
Normalizado ou T&R
SAE 4140
Alta resistência
Temperado e revenido
🏭 Fabricantes no Brasil
Fabricante
Localização
Gama de Produtos
Especialidade
Gerdau
Múltiplas plantas
Completa (6-200mm)
Principal fornecedor
ArcelorMittal
Juiz de Fora (MG)
Média (20-100mm)
Qualidades especiais
Villares Metals
Sumaré (SP)
Especiais
Aços liga
Aços Nobre
São Paulo (SP)
Pequena a Média
Trefilados
📦 Comprimentos Comerciais
Padrão: 6m, 12m
Especiais: Sob consulta
⏱️ Prazos de Entrega
Estoque: 2-3 dias
Sob encomenda: 5-10 dias
Especiais: 15-30 dias
💰 Preços 2025
⚠️ Preços de Referência: Valores médios de mercado. Consulte fornecedores para cotação atualizada.
✓ Soldagem requer pré-aquecimento em diâmetros >50mm
✓ Acabamento superficial: laminado (rugoso) ou trefilado (liso)
✓ Verificar retidão (máx 3mm/m)
`;
}
function getTubosCircularesContent() {
return `
⭕ Tubos Circulares
Catálogo completo de tubos circulares estruturais
📊 Tubos Circulares Disponíveis
Total: - perfis
Designação
Diâmetro (mm)
Espessura (mm)
Peso (kg/m)
Área (cm²)
Categoria
Ações
⏳
Carregando tubos circulares...
📋 Especificações Técnicas Completas
🔧 Descrição Geral
Tubos estruturais circulares sem costura e soldados
Perfis tubulares versáteis com excelente resistência à compressão e torção. Fabricados por soldagem longitudinal ou processo sem costura para aplicações críticas.
📏 Faixa de Dimensões
Diâmetros: 21mm (3/4") a 610mm (24")
Espessuras: 2mm a 25mm
Quantidade de modelos: 40+ perfis
📊 Distribuição dos Modelos
Categoria
Diâmetros
Aplicações Típicas
Pequeno
21 - 60mm
Estruturas leves, guarda-corpos
Médio
76 - 114mm
Colunas, treliças
Grande
140 - 273mm
Torres, estruturas pesadas
Massivo
323 - 610mm
Estacas, pilares principais
🔬 Qualidades Disponíveis
Qualidade
Fy (MPa)
Fu (MPa)
Aplicação
ASTM A53 Gr.B
240
415
Uso geral estrutural
ASTM A500 Gr.B
290
400
Estruturas soldadas
API 5L Gr.B
245
415
Transporte e estruturas
🏭 Fabricantes no Brasil
Fabricante
Localização
Gama de Produtos
Especialidade
Vallourec
Belo Horizonte (MG)
Completa
Sem costura premium
Gerdau
Múltiplas plantas
Pequena a Média
Soldados estruturais
Confab
Pindamonhangaba (SP)
Média a Grande
Tubos industriais
V&M do Brasil
Belo Horizonte (MG)
Especiais
Alta pressão
Tupy
Joinville (SC)
Média
Fundidos especiais
📦 Comprimentos Comerciais
Padrão: 6m, 12m
Especiais: Sob consulta (até 18m)
⏱️ Prazos de Entrega
Estoque: 3-5 dias
Sob encomenda: 10-15 dias
Sem costura: 20-30 dias
💰 Preços 2025
⚠️ Preços de Referência: Valores médios de mercado. Consulte fornecedores para cotação atualizada.
💵 Faixa de Preços
Soldados: R$ 6,00 - R$ 9,00 por kg
Sem costura: R$ 10,00 - R$ 15,00 por kg
Variação por região: ±10-15%
📊 Fatores de Preço
Situação
Variação
Observação
Sem costura
+50%
Processo premium
Diâmetros pequenos (<60mm)
+15%
Menor demanda
Paredes grossas (>12mm)
+10%
Processo especial
Quantidade >15 toneladas
-18%
Desconto volume
Teste hidrostático
+taxa
Serviço adicional
📋 Normas Aplicáveis
ABNT NBR 5580 - Tubos de aço carbono
ASTM A53 - Tubos soldados e sem costura
ASTM A500 - Tubos estruturais formados a frio
API 5L - Tubos para transporte
EN 10210-1 - Perfis estruturais acabados a quente
🔧 Aplicações Principais
🏗️ Construção Civil
Colunas estruturais
Torres e mastros
Treliças espaciais
Guarda-corpos
🌉 Infraestrutura
Estacas metálicas
Pontes e passarelas
Postes de iluminação
Estruturas de sinalização
🏭 Industrial
Tubulações estruturais
Suportes de equipamentos
Plataformas industriais
Estruturas de máquinas
⚓ Offshore
Plataformas marítimas
Jaquetas estruturais
Risers estruturais
Estruturas submarinas
✅ Recomendações de Uso
✓ Excelente resistência à compressão e torção
✓ Sem costura para aplicações críticas (alta pressão)
✓ Soldados para estruturas gerais (mais econômico)
✓ Teste hidrostático recomendado para aplicações críticas
✓ Verificar flambagem local em paredes finas (D/t > 50)
`;
}
function getPerfisIContent() {
return `
🏛️ Perfis I (IPE)
Catálogo completo de perfis I europeus
📊 Perfis I Disponíveis
Total: - perfis
Designação
Altura (mm)
Largura Mesa (mm)
Esp. Alma (mm)
Esp. Mesa (mm)
Peso (kg/m)
Categoria
Ações
⏳
Carregando perfis I...
📋 Especificações Técnicas Completas
🔧 Descrição Geral
Perfis I laminados a quente padrão europeu (IPE)
Perfis estruturais com seção em "I" otimizada para flexão. Mesas paralelas e alma esbelta proporcionam excelente relação resistência/peso. Padrão europeu amplamente utilizado no Brasil.
📏 Faixa de Dimensões
Alturas: 80mm (IPE 80) a 600mm (IPE 600)
Pesos: 6kg/m a 122kg/m
Quantidade de modelos: 18 perfis padrão
📊 Distribuição dos Modelos
Categoria
Perfis
Aplicações Típicas
Leve
IPE 80 - IPE 140
Vigas secundárias, estruturas leves
Médio
IPE 160 - IPE 240
Vigas principais, galpões
Pesado
IPE 270 - IPE 360
Vigas de grande vão, pontes
Muito Pesado
IPE 400 - IPE 600
Estruturas críticas, grandes vãos
🔬 Qualidades Disponíveis
Qualidade
Fy (MPa)
Fu (MPa)
Aplicação
EN S235JR
235
360
Uso geral estrutural
EN S275JR
275
430
Estruturas médias
EN S355J2
355
490
Alta resistência
📐 Características Geométricas
Mesas: Paralelas, largura constante
Alma: Esbelta, otimizada para flexão
Raio de concordância: 15mm (padrão)
Inclinação das mesas: 0° (paralelas)
🏭 Fabricantes no Brasil
Fabricante
Localização
Gama de Produtos
Especialidade
Gerdau
Múltiplas plantas
IPE 80 - IPE 600
Linha completa
ArcelorMittal
Juiz de Fora (MG)
IPE 100 - IPE 400
Perfis médios
CSN
Volta Redonda (RJ)
IPE 160 - IPE 600
Perfis pesados
Usiminas
Ipatinga (MG)
IPE 120 - IPE 360
Qualidades especiais
📦 Comprimentos Comerciais
Padrão: 12m, 13.5m
Especiais: 6m, 9m, 15m (sob consulta)
⏱️ Prazos de Entrega
Estoque (IPE 100-300): 5-7 dias
Sob encomenda: 10-15 dias
Perfis grandes (>400): 20-30 dias
💰 Preços 2025
⚠️ Preços de Referência: Valores médios de mercado. Consulte fornecedores para cotação atualizada.
💵 Faixa de Preços
Preço base: R$ 7,00 - R$ 9,50 por kg
Variação por região: ±10-12%
📊 Fatores de Preço
Situação
Variação
Observação
Perfis pequenos (IPE 80-120)
+12%
Menor demanda
Perfis grandes (IPE 500-600)
+15%
Produção especial
Qualidade S355J2
+8%
Aço de maior resistência
Quantidade >25 toneladas
-15%
Desconto por volume
Corte e furação
+taxa
Serviços adicionais
📋 Normas Aplicáveis
ABNT NBR 5884 - Perfil I estrutural de aço soldado
EN 10025 - Produtos laminados a quente
EN 10034 - Perfis I e H estruturais
ASTM A992 - Perfis estruturais (equivalente)
🔧 Aplicações Principais
🏗️ Construção Civil
Vigas principais e secundárias
Estruturas de galpões
Mezaninos e pisos
Coberturas metálicas
🌉 Pontes e Viadutos
Vigas principais de pontes
Longarinas
Transversinas
Estruturas de passarelas
🏭 Industrial
Estruturas de máquinas
Suportes de equipamentos
Plataformas industriais
Pontes rolantes
🏢 Edifícios
Vigas de piso
Estruturas de cobertura
Suportes de fachada
Estruturas mistas
✅ Recomendações de Uso
✓ Otimizado para flexão em torno do eixo forte
✓ Mesas paralelas facilitam ligações
✓ Verificar flambagem lateral com torção (FLT)
✓ Enrijecedores necessários em apoios concentrados
Tolerâncias dimensionais segundo ASTM A6/NBR correlatas.
Uso típico: chapas de base, reforços, espaçadores e peças usinadas.
🏭 Fabricantes
Fabricante
Participação
Local
Especialidade
Gerdau
~40%
Nacional
Série completa
Usiminas
~30%
MG
Larguras grandes
CSN
~20%
RJ
Disponibilidade sob encomenda
AÇO Minas
~10%
MG
Especiais
💰 Preços 2025
Categoria
Preço kg (R$)
Observações
Leve
3.10 – 3.60
Uso geral
Média
3.40 – 4.00
Estrutural padrão
Pesada/Muito Pesada
4.10 – 5.20
Base, reforços
🔧 Aplicações
Chaparias de base, reforços de ligações e chapas de travamento.
Peças usinadas, espaçadores e conectores planos.
Preferir galvanização/pintura em ambientes agressivos.
`;
}
console.log('✅ Funções placeholder dos perfis registradas');
// ========================================
// FUNÇÃO PARA TROCAR TABS
// ========================================
/**
* Troca entre as tabs de um perfil
*/
function switchPerfilTab(index) {
console.log('🔄 Trocando para tab', index);
// Atualizar botões
document.querySelectorAll('.tab-btn').forEach((btn, i) => {
if (i === index) {
btn.classList.add('active');
} else {
btn.classList.remove('active');
}
});
// Atualizar conteúdo
document.querySelectorAll('.tab-content').forEach((content, i) => {
if (i === index) {
content.classList.add('active');
} else {
content.classList.remove('active');
}
});
}
console.log('✅ Função switchPerfilTab registrada');
// Exportar versão final para escopo global
window.switchPerfilTab = switchPerfilTab;
/**
* Calcula preço estimado de cantoneiras
*/
function calcularPrecoCantoneira() {
const peso = parseFloat(document.getElementById('calc-peso')?.value) || 0;
const comprimento = parseFloat(document.getElementById('calc-comprimento')?.value) || 0;
const quantidade = parseInt(document.getElementById('calc-quantidade')?.value) || 0;
const precoKg = parseFloat(document.getElementById('calc-preco-kg')?.value) || 0;
if (peso === 0 || comprimento === 0 || quantidade === 0 || precoKg === 0) {
alert('Por favor, preencha todos os campos');
return;
}
const pesoTotal = peso * comprimento * quantidade;
const precoTotal = pesoTotal * precoKg;
const precoPorPeca = precoTotal / quantidade;
const resultado = document.getElementById('calc-resultado');
if (resultado) {
resultado.innerHTML = `
💰 Resultado do Cálculo
Peso Total
${pesoTotal.toFixed(2)} kg
Preço Total
R$ ${precoTotal.toFixed(2)}
Preço por Peça
R$ ${precoPorPeca.toFixed(2)}
`;
}
}
console.log('✅ Função calcularPrecoCantoneira registrada');
// ========================================
// FUNÇÃO DE CARREGAMENTO FORÇADO
// ========================================
/**
* Força o carregamento dos dados das cantoneiras
* Botão de emergência para o usuário
* VERSÃO ROBUSTA: Usa dados embutidos como prioridade
*/
async function forcarCarregamentoCantoneiras() {
console.log('🚨 CARREGAMENTO FORÇADO INICIADO PELO USUÁRIO');
const tbody = document.getElementById('cantoneiras-tbody');
if (!tbody) {
alert('❌ Erro: Elemento da tabela não encontrado!');
console.error('❌ Elemento tbody não encontrado');
return;
}
// Mostrar loading
tbody.innerHTML = `
⏳
Carregando dados...
Aguarde alguns segundos
`;
try {
// PRIORIDADE 1: Usar dados embutidos (sempre funciona)
if (typeof obterDadosPerfil === 'function') {
console.log('✅ Usando dados embutidos (solução robusta)');
const dados = obterDadosPerfil('cantoneiras');
if (dados && dados.length > 0) {
// Exibir na tabela
tbody.innerHTML = dados.map(item => `
${item.nome}
${item.lado_mm}
${item.espessura_mm}
${item.peso_kg_m.toFixed(2)}
${item.area_cm2.toFixed(2)}
${item.momento_inercia_cm4.toFixed(2)}
${item.raio_giracao_cm.toFixed(2)}
${item.tipo}
`).join('');
// Atualizar contador
const totalEl = document.getElementById('cant-total');
if (totalEl) {
totalEl.textContent = dados.length;
}
// Armazenar globalmente
window.cantoneirasData = dados;
console.log('🎉 CARREGAMENTO CONCLUÍDO (dados embutidos)');
return;
}
}
// PRIORIDADE 2: Tentar carregar CSV (se estiver em servidor)
console.log('📥 Tentando carregar CSV...');
const response = await fetch('BD/perfis/cantoneiras_brasil_completo.csv');
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
}
const csvText = await response.text();
const linhas = csvText.trim().split('\n');
console.log(`📊 CSV carregado: ${linhas.length} linhas`);
// Processar dados
const dados = [];
for (let i = 1; i < linhas.length; i++) {
const linha = linhas[i].trim();
if (!linha) continue;
const colunas = linha.split(',');
if (colunas.length >= 9) {
dados.push({
id: colunas[0].trim(),
nome: colunas[1].trim(),
lado_mm: parseFloat(colunas[2]),
espessura_mm: parseFloat(colunas[3]),
peso_kg_m: parseFloat(colunas[4]),
area_cm2: parseFloat(colunas[5]),
momento_inercia_cm4: parseFloat(colunas[6]),
raio_giracao_cm: parseFloat(colunas[7]),
tipo: colunas[8].trim()
});
}
}
console.log(`✅ Processados: ${dados.length} cantoneiras`);
if (dados.length === 0) {
throw new Error('Nenhum dado encontrado no CSV');
}
// Exibir na tabela
tbody.innerHTML = dados.map(item => `