Olá!
tenho um software de desenho que se chama topsolid.
DESENHAMOS Móveis como por exemplo armário guarda roupas.
No momento de fabricar os móveis projetados, é gerada em .Txt uma lista (bom) de produtos e materiais e suas hierarquias para formar a engenharia de montagem do
produto.Antes da importação deste arquivo em nosso sistema de gestão (erp) precisamos de um script no vba do excel para fazer um tratamento nessa lista reorganizando algumas informações e criando novos registros.
Etapas da personalização
1 - criar uma nova linha serviço de corte para cada registro que atenda critérios descritos mais à frente;
2 - criar uma nova linha serviço de filetação para cada registro que atenda critérios descritos mais à frente ;
3 - criar uma nova linha serviço de usinagem para cada registro que atenda critérios descritos mais à frente ;4 - criar uma linha "filho" para mdf cortado que estejam sem "pai" adicionando um código único para o pai conforme descrito mais à frente;5 - agrupar em uma mesma linha e somar as quantidades de materiais com mesmo código na mesma posição da hierarquia;
informações sobre a lista
- formato de tabela em txt;
- cada linha é um produto, componente, material, ou serviço;- cada coluna é um campo específico (código, largura, altura, descrição, quantidade, etc);
- a ordem das linhas é de acordo com a hierarquia da engenharia do produto;
- a primeira coluna é o nível, que indica também a hierarquia da engenharia;
ex simplificado:
nivel 0: nicho de madeira com 2 prateleiras (produto)nível 1: nicho (componente)nível 2: madeira mdf (material)nível 2: fita de borda (material)nível 2: corte (serviço)nível 1: prateleira "a" (componente)nível 2: madeira mdf (material)nível 2: fita de borda (material)nível 2: corte (serviço)nível 1: prateleira "b" (componente)nível 2: madeira mdf (material)nível 2: fita de borda (material)
nível 2: corte (serviço)
1. Rotina para criar serviço de corte:
- criar 1 nova linha ref a serviço de corte logo abaixo cada linha contendo "peca" ou "seccionadora" na coluna k (tipo);- preencher em cada linha criada:level: copiar o mesmo valor do registro original acima do que está sendo criadoreference: "corte"designation: "serviço de corte"count: "1"demais campos deixar em branco
2. Rotina para criar serviço de filetação:
- criar 1 nova linha referente ao serviço de filetação logo abaixo de cada linha contendo "fita de borda" ou "edge shape" na coluna k (tipo);
- preencher em cada nova linha criada:level: copiar o mesmo valor do registro original acima do que está sendo criadoreference: "filetação"
designation: "serviço de filetação"count: "1"demais campos deixar em branco
3. Rotina para criar serviço de usinagem:
- criar uma nova linha referente ao serviço de filetação logo abaixo de cada linha contendo "usinagem" na coluna k (usinagem_a);
- preencher em cada nova linha criada:level: copiar o mesmo valor do registro original acima do que está sendo criadoreference: "usinagem"
designation: "serviço de usinagem"count: "1"demais campos deixar em branco- criar outra nova linha referente ao serviço de filetação logo abaixo de cada linha contendo "usinagem" na coluna k (usinagem_b);
- preencher em cada nova linha criada:reference: "usinagem"
designation: "serviço de usinagem"count: "1"demais campos deixar em branco
4. Criar linha filho:- considerar como "pai" de um material a primeira linha acima da linha "filho" que tenha na coluna a (level) um número a menos que a coluna "filho"- para cada linha cujo pai não tenha "panel process" ou "processo de painel" na coluna k (tipo), criar uma nova linha logo acima;- nessa nova linha preencher:- level: copiar o mesmo da linha original- reference: copiar o valor do pai e concatenar um "." E concatenar com a coluna P (ELEMENT_IDENTIFIER)- DESIGNATION: Copiar da linha original- type: "peca / processo de painel / panel process"- demais campos: copiar da linha original
5. COMPACTAR LINHAS
- ENCONTRAR LINHAS QUE SÃO EXATAMENTE IGUAIS EM TODOS OS CAMPOS COM EXCEÇÃO DO "ELEMENT_IDENTIFIER" E JUNTAR EM UMA MESMA LINHA SOMANDO OS VALORES DO CAMPO "COUNT"
EM ANEXO LISTA TXT GERADA PELO TOPSOLID
Plazo de Entrega: 07 Marzo, 2023