Você está na página 1de 85

Proposta de Otimização na Fabricação de Guarda Corpos para

Plataformas de Petróleo

Stephan Daniel Lima Kulina

Projeto de Graduação apresentado ao Curso de


Engenharia Mecânica da Escola Politécnica,
Universidade Federal do Rio de Janeiro, como
parte dos requisitos necessários à obtenção do
título de Engenheiro.

Orientador: Armando Carlos de Pina Filho

Rio de Janeiro

Março de 2018
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO

Departamento de Engenharia Mecânica

DEM/POLI/UFRJ

Proposta de Otimização na Fabricação de Guarda Corpos para


Plataformas de Petróleo

STEPHAN DANIEL LIMA KULINA

PROJETO FINAL SUBMETIDO AO CORPO DOCENTE DO DEPARTAMENTO DE


ENGENHARIA MECÂNICA DA ESCOLA POLITÉCNICA DA UNIVERSIDADE
FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS NECESSÁRIOS
PARA A OBTENÇÃO DO GRAU DE ENGENHEIRO MECÂNICO.

Aprovado por:

________________________________________________

Prof. Armando Carlos de Pina Filho, D.Sc.

________________________________________________

Prof. Jules Ghislain Slama, D.Sc.

________________________________________________

Prof. Fábio Luiz Zamberlan, D.Sc.

RIO DE JANEIRO, RJ - BRASIL

MARÇO DE 2018
Kulina, Stephan Daniel Lima

Proposta de Otimização na Fabricação de Guarda Corpos para


Plataformas de Petróleo / Stephan Daniel Lima Kulina. – Rio de
Janeiro: UFRJ / Escola Politécnica, 2018.

XI, 74p.: il. ; 29,7cm.

Orientador: Armando Carlos de Pina Filho

Projeto de Graduação – UFRJ / Escola Politécnica / Curso de


Engenharia Mecânica, 2018.

Referências Bibliográficas: p. 53-54.

1. API. 2. Fabricação. 3. Otimização. I. Pina Filho, Armando Carlos


de. II. Universidade Federal do Rio de Janeiro, Escola Politécnica,
Departamento de Engenharia Mecânica. III. Proposta de Otimização na
Fabricação de Guarda Corpos para Plataformas de Petróleo.

iii
AGRADECIMENTOS

A Deus, que sempre esteve comigo, me guiando e me dando discernimento nos momentos mais
difíceis.

À mulher mais importante da minha vida, minha mãe Da Guia. Não sei como descrever tudo
que fez e ainda faz por mim, me dando suporte a cada dia não importando a distância.

À minha madrinha Eunice e à minha irmã Vera, que sempre estiveram presentes, me apoiando,
ajudando a me educar e sempre me proporcionando momentos muito especiais.

Aos meus melhores amigos Caetano, Carnevale e Weiss, por estarem sempre por perto tanto
nas alegrias como nos momentos que precisei da ajuda deles. E aos amigos que fiz durante a
faculdade e que tenho certeza que também levarei pra vida toda, Luiz, Baiano, Laurinha,
Galvão, Brandão, Carqueija e Guibu.

À Prof.ª Anna Carla e ao Prof. Armando, principalmente pela paciência ao lidar com a minha
casualidade e pela orientação durante o curso.

iv
Resumo do Projeto de Graduação apresentado à Escola Politécnica/UFRJ como parte dos
requisitos necessários para a obtenção do grau de Engenheiro Mecânico.

Proposta de Otimização na Fabricação de Guarda Corpos para


Plataformas de Petróleo

Stephan Daniel Lima Kulina


Março/2018

Orientador: Prof. Armando Carlos de Pina Filho

Curso:. Engenharia Mecânica

A tecnologia tem evoluído cada vez mais aceleradamente com o passar dos anos, de modo que
é possível prever uma nova revolução industrial para a próxima década. Para que esta previsão
se torne realidade, já se tem uma base do que deve ser implementado na manufatura e como
deve se dar esse processo. É necessário que haja uma otimização, principalmente na automação
de etapas relacionadas aos processos de fabricação. Dessa forma, o presente projeto visa a
implementação de um código e uma interface visual escritos em VB (Visual Basic), usando-se
o API (Application Programming Interface) do SolidWorks, com a finalidade de acelerar a
preparação de desenhos de uma empresa manufatureira que tinha um gargalo nessa etapa do
processo. Após a implementação, pôde-se observar uma melhoria expressiva no tempo médio
para execução de desenhos de guarda corpos para uma plataforma de petróleo de grande porte,
otimizando-se a fabricação, com redução de custos no processo.

Palavras-chave: API, Fabricação, Otimização.

v
Abstract of Undergraduate Project presented to POLI/UFRJ as a partial fulfillment of the
requirements for the degree of Mechanical Engineer.

Guard Rails Manufacturing Optimization Proposal for Oil Platforms

Stephan Daniel Lima Kulina


March/2018

Advisor: Armando Carlos de Pina Filho

Course: Mechanical Engineering

Technology has evolved more and more rapidly over the years, so that it is possible to predict
a new industrial revolution for the next decade. For this forecast to become a reality, there is
already a basis for what must be implemented in manufacturing and how this process should
take place. There must be an optimization, mainly in the automation of steps related to the
manufacturing processes. In this way, the present project aims at the implementation of a code
and a visual interface written in VB (Visual Basic), using the SolidWorks API (Application
Programming Interface), in order to accelerate the preparation of drawings of a manufacturing
company which had a bottleneck at this stage of the process. After the implementation it was
possible to observe an expressive improvement in the average execution time of drawings of
guard rails for a large oil platform, optimizing the manufacturing, with cost reduction in the
process.

Keywords: API, Manufacturing, Optimization.

vi
SUMÁRIO

1 ORGANIZAÇÃO DO TRABALHO ...................................................................................... 1

2 MOTIVAÇÃO E OBJETIVOS ............................................................................................... 2

3 INTRODUÇÃO ....................................................................................................................... 6

3.1 Guarda corpos para plataformas de petróleo .................................................................... 6

3.2 Materiais do futuro: fibras naturais, de carbono e de vidro .............................................. 7

3.3 Principais métodos de fabricação destes materiais ......................................................... 11

3.3.1 Pultrusão ...................................................................................................................... 11

3.3.2 Injeção .......................................................................................................................... 12

3.3.3 Laminação manual ....................................................................................................... 13

3.3.4 Impressão 3D ............................................................................................................... 16

4 PROJETO .............................................................................................................................. 18

4.1 Otimização de processos - integração CAD, CAM, CAE e ERP via API ...................... 18

4.2 API, big data e internet das coisas .................................................................................. 19

4.3 SolidWorks e o mercado em que está inserido ............................................................... 19

4.4 Habilitando a interface de programação no SolidWorks ................................................ 20

4.5 Bugs comuns e tratamento de erros ................................................................................ 35

4.6 Interagindo com a interface de programação no SolidWorks ......................................... 41

5 CONCLUSÃO ....................................................................................................................... 49

5.1 Conclusões gerais ........................................................................................................... 49

5.2 Sugestões de trabalhos futuros ........................................................................................ 49

6. REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................. 51

APÊNDICE A - Códigos .......................................................................................................... 53

APÊNDICE B - Formatação .................................................................................................... 61

vii
LISTA DE FIGURAS
Figura 1: Plástico reforçado em fibra de carbono [1] ................................................................. 3
Figura 2: Impressora 3D muito semelhante ao módulo de injeção de grades de piso de fibra de
vidro [2] .............................................................................................................................. 4
Figura 3: Impressão 3D de uma ponte de aço [3] ....................................................................... 5
Figura 4: Passarela com guarda corpos [4] ................................................................................. 6
Figura 5: Guarda corpo de vidro [5] ........................................................................................... 7
Figura 6: Cabana da Idade da Pedra, paredes baixas de pedras sobrepostas e cobertura de
compósito de argila e palha [6] .......................................................................................... 8
Figura 7: Confecção de piso industrial em concreto armado [7] ................................................ 9
Figura 8: Máquina pultrusora [9] ............................................................................................. 11
Figura 9: Fabricação por injeção [10] ...................................................................................... 12
Figura 10: Fabricação por laminação manual [11] ................................................................... 13
Figura 11: Junção de dois perfis U em fibra de vidro por cantoneira laminada e parafusos em
aço inox [12] ..................................................................................................................... 14
Figura 12: Tipos de roving e de manta [12] ............................................................................. 15
Figura 13: Impressora 3D padrão [13] ..................................................................................... 16
Figura 14: Habilitando a interface de programação no SolidWorks – Passo 1 ........................ 21
Figura 15: Habilitando a interface de programação no SolidWorks – Passo 2 ........................ 21
Figura 16: Habilitando a interface de programação no SolidWorks – Passo 3 ........................ 22
Figura 17: Botão para edição de macro – versão 2013............................................................. 22
Figura 18: Botão para criação de macro – versão 2013 ........................................................... 22
Figura 19: Botões para executar, interromper execução e gravar/pausar gravação de macro,
respectivamente – versão 2013 ......................................................................................... 22
Figura 20: Habilitando a interface de programação no SolidWorks – Passo 4 ........................ 23
Figura 21: Habilitando a interface de programação no SolidWorks – Passo 5 ........................ 24
Figura 22: Habilitando a interface de programação no SolidWorks – Passo 6 ........................ 24
Figura 23: Habilitando a interface de programação no SolidWorks – Passo 7 ........................ 25
Figura 24: Habilitando a interface de programação no SolidWorks – Passo 8 ........................ 26
Figura 25: Habilitando a interface de programação no SolidWorks – Passo 9 ........................ 26
Figura 26: Habilitando a interface de programação no SolidWorks – Passo 10 ...................... 27
Figura 27: Habilitando a interface de programação no SolidWorks – Passo 11 ...................... 28
Figura 28: Habilitando a interface de programação no SolidWorks – Passo 12 ...................... 28

viii
Figura 29: Habilitando a interface de programação no SolidWorks – Passo 13 ...................... 29
Figura 30: Habilitando a interface de programação no SolidWorks – Passo 14 ...................... 29
Figura 31: Habilitando a interface de programação no SolidWorks – Passo 15 ...................... 30
Figura 32: Habilitando a interface de programação no SolidWorks – Passo 16 ...................... 30
Figura 33: Habilitando a interface de programação no SolidWorks – Passo 17 ...................... 31
Figura 34: Habilitando a interface de programação no SolidWorks – Passo 18 ...................... 32
Figura 35: Habilitando a interface de programação no SolidWorks – Passo 19 ...................... 33
Figura 36: Habilitando a interface de programação no SolidWorks – Passo 20 ...................... 33
Figura 37: Habilitando a interface de programação no SolidWorks – Passo 21 ...................... 34
Figura 38: Habilitando a interface de programação no SolidWorks – Passo 22 ...................... 35
Figura 39: Inserção de valor que geraria erro no modelo – Tentativa 1 ................................... 36
Figura 40: Inserção de valor que geraria erro no modelo – Resultado 1 .................................. 36
Figura 41: Inserção de valor que geraria erro no modelo – Tentativa 2 ................................... 37
Figura 42: Inserção de valor que geraria erro no modelo – Resultado 2 .................................. 37
Figura 43: Possíveis bugs após utilização de macro 1.1........................................................... 38
Figura 44: Possíveis bugs após utilização de macro 1.2........................................................... 39
Figura 45: Possíveis bugs após utilização de macro 1.3........................................................... 39
Figura 46: Possíveis bugs após utilização de macro 1.4........................................................... 40
Figura 47: Possíveis bugs após utilização de macro 1.5........................................................... 40
Figura 48: Possíveis bugs após utilização de macro 2.............................................................. 41
Figura 49: Botão para criação de macro – versão 2017 ........................................................... 42
Figura 50: Botão para gravar e pausar gravação de macro – versão 2017 ............................... 42
Figura 51: Interagindo com a interface de programação no SolidWorks – Passo 1 ................. 43
Figura 52: Interagindo com a interface de programação no SolidWorks – Passo 2 ................. 43
Figura 53: Interagindo com a interface de programação no SolidWorks – Passo 3 ................. 44
Figura 54: Interagindo com a interface de programação no SolidWorks – Passo 4 ................. 45
Figura 55: Interagindo com a interface de programação no SolidWorks – Passo 5 ................. 45
Figura 56: Interagindo com a interface de programação no SolidWorks – Passo 6.1 .............. 46
Figura 57: Interagindo com a interface de programação no SolidWorks – Passo 6.2 .............. 47
Figura 58: Interagindo com a interface de programação no SolidWorks – Passo 6.3 .............. 47
Figura 59: Interagindo com a interface de programação no SolidWorks – Passo 6.4 .............. 48

ix
LISTA DE TABELAS
Tabela 1: Propriedades mecânicas de plásticos reforçados em diversos tipos de fibras naturais
e de fibras sintéticas [8] .................................................................................................. 100

x
LISTA DE ABREVIATURA E SIGLAS

2D Bidimensional

3D Tridimensional

API Application Programming Interface

CAD Computer-Aided Design

CAE Computer-Aided Engineering

CAM Computer-Aided Manufacturing

E-vidro Vidro de Baixa Emissividade

ERP Enterprise Resource Planning

g/cm3 Grama por Centímetro Cúbico

Gpa Gigapascal

Macro Macroinstrução

Mm Milímetro

Mpa Megapascal

NBR Norma Brasileira Regulamentar

S.A. Sociedade Anônima

UO-Rio Unidade Operacional do Rio de Janeiro

VB Visual Basic

xi
1 ORGANIZAÇÃO DO TRABALHO
Esse projeto foi dividido em 5 capítulos, sendo este primeiro apenas um resumo do que será
apresentado nos demais, a saber:

No capítulo 2 são apresentados assuntos que contextualizam o uso das tecnologias que serão
abordadas no projeto, a motivação e o que se deseja atingir abordando o tema em questão.

No capítulo 3 é mostrado o objeto de estudo do projeto: os guarda corpos para plataformas de


petróleo, os materiais propostos para sua fabricação, bem como os processos de fabricação
normalmente utilizados.

O capítulo 4 trata especificamente do projeto, apresentando uma base teórica inicial, sobre API,
Big Data e Internet das coisas, e posteriormente é mostrado, de forma mais detalhada, o
programa SolidWorks e como fazer novos códigos com a finalidade de otimizar processos de
fabricação recorrentes na indústria.

No capítulo 5 encontra-se a conclusão do trabalho e algumas ideias de aprimoramentos para o


projeto realizado.

Nos apêndices estão presentes os códigos e as formatações que compõem a macro do projeto.

1
2 MOTIVAÇÃO E OBJETIVOS
O maior problema dos guarda corpos em ambientes altamente corrosivos como, por exemplo,
em alto mar, é que o principal material de fabricação do mesmo é aço carbono, que necessita de
tratamento de pintura para proteger contra corrosão a cada seis meses, porém a mão de obra
especializada necessária para esse serviço é escassa e de alto custo. Além disso, existem
exigências de segurança a serem cumpridas, e o serviço pode ser muito demorado, pois
plataformas de grande porte, como por exemplo, a P-54 da UO-Rio, unidade operacional da
Petrobras no Rio de Janeiro, têm cerca de vinte mil metros lineares de guarda corpo, o que, com
o formato especificado na norma totaliza cerca de vinte e oito mil metros quadrados de pintura
em superfícies com largura de duas polegadas, que é a largura do tubo quadrado padronizado
para este modelo de guarda corpo.

Dessa forma, uma alternativa que começou a ser explorada na prática, há cerca de oito anos, foi
a utilização de diferentes materiais não corrosivos para substituir o aço na fabricação dos guarda
corpos, e chegou-se então ao plástico reforçado em fibra de vidro. Apesar de possuir um módulo
de elasticidade muito aquém do aço, o que acaba aumentando o volume do produto para não
haver perda na robustez do mesmo, os guarda corpos fabricados em material compósito não tem
necessidade de manutenção em alto mar, diminuindo drasticamente o custo a longo prazo.

Há pouco mais de quatro anos, a UO-Rio inciou um contrato com a Cogumelo Indústria e
Comércio S.A. (empresa líder brasileira na pesquisa e desenvolvimento de perfis estruturais e
arquitetônicos em plástico reforçado em fibra de vidro) para revitalização dos guarda corpos
das suas plataformas, passando a especificação do material dos mesmos para plástico reforçado
em fibra de vidro. Esta mudança tornou o guarda corpo fabricado com este material o principal
produto da manufatura de perfis estruturais em material compósito no Brasil, que até então era
muito mais voltada para escadas, bandejamento elétrico e grades de piso. Com essa mudança, a
demanda por desenhos de guarda corpos cresceu bastante e criou-se um gargalo nesta etapa do
processo de fabricação.

Após dois anos de atividade do contrato, constatou-se que toda plataforma que tinha seus guarda
corpos revitalizados acabavam com um atraso no serviço de cerca de três meses, dos quais um
mês era por causa do gargalo na etapa de desenhos. Com pouca margem para contratação e
treinamento de novos profissionais desenhistas devido ao contrato ter sido mal orçado, optou-
se por inovar e reinventar o processo de desenho destes guarda corpos que necessitavam de
bastante customização devido às incontáveis interferências físicas e o espaço útil mínimo das
2
plataformas de petróleo. Após alguns estudos verificou-se que uma possível saída seria a
automatização do processo via programação. Portanto, o objetivo deste projeto será desenvolver
um programa que auxilie os desenhistas em seu dia a dia com a finalidade de acabar com o
gargalo existente de modo que não gere nenhum custo adicional.

Além disso, pode-se dizer que a indústria como um todo vem a cada dia encurtando seus
processos produtivos se utilizando de ferramentas que melhorem o fluxo de trabalho destes
processos. Entretanto, algumas barreiras são encontradas hoje, que daqui a poucos anos já não
serão mais problemas. Sabendo disso, pode-se prever como será a indústria após algumas
revoluções que já estão acontecendo, como é o caso da impressão 3D.

Ao estagiar e trabalhar em uma indústria voltada para fabricação de estruturas em fibra de vidro,
pude notar a crescente utilização de materiais compósitos na fabricação de diversos produtos
em indústrias onde a corrosão está presente. Um exemplo deste tipo de material pode ser
observado na Figura 1. Apesar de ainda não existir um material compósito que tenha um preço
competitivo e propriedades mecânicas que se equiparem às do aço, a rápida evolução desses
materiais nos leva a crer que, em um futuro bem próximo, haverá algo que seja economicamente
viável e com propriedades mecânicas tão boas ou melhores que as do aço.

Figura 1: Plástico reforçado em fibra de carbono [1]

Atualmente, já se podem ver produtos advindos de impressão 3D que não têm potencial
estrutural e também alguns produtos específicos que não demandam grande complexidade na

3
sua fabricação, como o caso de grades injetadas, já feitas por impressão 3D. Na Figura 2 pode-
se ver um maquinário de impressão 3D já utlizado na indústria desde 2014 [2]. Não é possível
fabricar perfis estruturais complexos e muito menos estruturas prontas, devido à complexidade
do processo de fabricação dos mesmos e à pouca maturidade da impressão 3D, a qual não possui
tecnologia hoje para atender processos mais complexos. Entretanto, percebendo-se que este
processo de fabricação de grades injetadas poderá, em um fututo próximo, ser utilizado em
todos os outros processos de fabricação deste tipo de indústria (uma vez que neste futuro a
tecnologia de impressão 3D necessária para tal vai ser alcançada), então pode-se pensar além e
planejar como será a indústria a partir dessa revolução.

Figura 2: Impressora 3D muito semelhante ao módulo


de injeção de grades de piso de fibra de vidro [2]

Em casos específicos da indústria onde o produto final é uma composição de diversos outros
produtos e não há possibilidade da fabricação direta do produto final por questões logísticas, a
impressão em campo para montagem direta será o grande diferencial, como mostrado na Figura
3. Isso já vem sendo amplamente utilizado na construção civil em países mais desenvolvidos,
mas ainda é feita de uma maneira muito rústica, impossibilitando a utilização deste modelo de
processo em locais de difícil acesso ou para montagem de estruturas complexas.

4
Figura 3: Impressão 3D de uma ponte de aço [3]

Considerando a integração entre setores de uma indústria, já existe certo grau de automação por
meio da utilização de sistemas ERP (Enterprise Resource Planning). Alguns processos como
vendas, projetos, desenhos, planejamento e controle da produção, entre outros, podem ser
reformulados de maneira a se unificar e centralizar em uma só pessoas, a qual executaria o
contato com o cliente para entender qual a sua necessidade e como ele gostaria do seu produto,
após receber uma notificação de requisito de orçamento via site, correio eletrônico, portal, etc.
E, após entender o cliente, este mesmo funcionário, utilizando uma interface programada que
teria como base programas para desenvolvimento de desenho e de cálculos estruturais, usando
algumas entradas básicas do produto e com pouca intervenção do usuário, geraria o projeto e
desenho do que foi combinado com o cliente e, após a sua aprovação, este funcionário já
enviaria para fabricação.

5
3 INTRODUÇÃO

3.1 Guarda corpos para plataformas de petróleo


Guarda corpos são elementos de proteção e segurança de extrema importância que são muito
utilizados em quase todos os setores da indústria, além dos setores urbanísticos, arquitetônicos,
entre outros. Entretanto, a maioria das pessoas nem sabem o que é um guarda corpo, dado que
é um elemento que, na maioria das vezes passa despercebido. Seu objetivo principal é manter
as pessoas seguras, separando-as de uma região de risco e mantendo-as em um curso
predefinido, como pode-se observar na Figura 4.

Figura 4: Passarela com guarda corpos [4]

Os guarda corpos utilizados em cada setor são muito diferentes uns dos outros, apesar de terem
a mesma função. Por exemplo, guarda corpos para fins arquitetônicos não necessitam, na
maioria das vezes, da mesma robustez que um guarda corpo de proteção de uma caldeira,
podendo ter acesso a um leque maior de materiais e de formas mais interessantes para decoração
do local, assim como é o caso do guarda corpo de vidro mostrado na Figura 5.

6
Figura 5: Guarda corpo de vidro [5]

As regras técnicas de guarda corpos arquitetônicos são bastante flexíveis e permitem uma
grande gama de produtos, enquanto que as normas que regulam os guarda corpos voltados para
indústrias que possuem ambientes periculosos são muito mais detalhadas e restringem, de certa
forma, o material e o formato. Um exemplo é o caso da NBR 15708-2, que restringe cada detalhe
do desenho do guarda corpo e indica quanto de carga ele deve suportar em diversos testes
mecânicos, a fim de que tenha uma robustez suficientemente grande para um ambiente de uma
plataforma de petróleo, ou seja, com um fator de segurança ainda maior do que o de uma
indústria comum.

3.2 Materiais do futuro: fibras naturais, de carbono e de vidro


É possível que no futuro se tenha um material adaptável às circunstâncias para às quais se queira
utilizá-lo, que ocupe um volume e tenha um peso mínimos e que tenha também um custo
acessível. Todavia não é possível ainda ter ideia de quando a humanidade chegará a esse
patamar de evolução dos materiais. Portanto, pensando em um futuro próximo, tomam-se como
materiais a serem melhores explorados as fibras naturais, as de carbono e as de vidro.
7
É claro que a fibra sozinha não tem função estrutural alguma, mas quando combinada com
outros materiais, resulta no material que é chamado de material compósito. Os compósitos são
compostos de dois ou mais materiais, os quais sozinhos não têm função estrutural alguma, e são
conhecidos e usados para construção há milhares de anos, como, por exemplo, palha com argila
que juntas foram muito utilizadas para construção de cabanas na Idade da Pedra, como ilustrado
na Figura 6.

Figura 6: Cabana da Idade da Pedra, paredes baixas de pedras


sobrepostas e cobertura de compósito de argila e palha [6]

Um exemplo dos tempos modernos é o concreto armado, mostrado na Figura 7, que utiliza um
reforço metálico para estruturar melhor o concreto. Em combinações deste tipo, a força de tração
é absorvida pelo reforço em aço, enquanto o concreto absorve a carga de compressão.

8
Figura 7: Confecção de piso industrial em concreto armado [7]

Plástico reforçado com diversas formas de fibra fazem parte do nosso cotidiano e são uma
parcela significante dos materiais compósitos usados pela sociedade moderna. Os plásticos
reforçados em fibra de vidro podem ser, de uma maneira grosseira, divididos em dois
segmentos, que são os materiais sintéticos reforçados com fibras curtas e os materiais sintéticos
reforçados com fibras longas e contínuas. Compósitos que são reforçados com fibras curtas são
usados principalmente na moldagem por injeção ou em produtos de plástico extrudado, como,
por exemplo, conexões de bandejamento elétrico, coguletes, tarugos de reforço, entre outros.
Compósitos reforçados com fibras longas e contínuas são geralmente usados em produtos com
finalidade estrutural ou que tenham que ter uma certa rigidez, como, por exemplo, perfis
estruturais, tanques de pressão, hélices de turbinas eólicas, navios, entre outros. Nos plásticos
reforçados com fibra, a fibra tem a função de resistir aos carregamentos de tração e compressão,
enquanto o plástico transfere cisalhamento.

Dentre as principais vantagens de quando se comparam os materiais compósitos com os


materiais tradicionais como, por exemplo, o aço, é que existe na maioria dos casos uma redução
de peso devido a propriedades específicas dos materiais componentes dos compósitos. Além
disso, o material compósito pode ser feito para uma finalidade específica, uma vez que ele é
fabricado de uma combinação de outros materiais. Para isso, basta que sejam utilizados
9
materiais com características conforme a necessidade de modo que o produto final seja
resistente ao que quer que se deseje que ele seja, podendo ter resistência química, resistência a
altas pressões, resistência a altas temperaturas, resistência ao fogo, resistência à eletricidade,
entre outras propriedades.

As fibras naturais ainda estão sendo estudadas e atualmente não são aplicadas no mercado de
plásticos reforçados. Isso se deve ao fato de que as fibras provenientes de plantas que se tem
em abundância na nossa flora, como a fibra da bananeira, ainda não atingiram propriedades
mecânicas suficientemente elevadas para serem competitivas com a fibra de vidro ou a fibra de
carbono, dependendo da aplicação. Atualmente a fibra de bananeira, que seria uma fibra natural
mais acessível, para fins comparativos, chega a um módulo de elasticidade de cerca de até 4
GPa. Como se pode ver na Tabela 1, algumas fibras naturais têm propriedades mecânicas
melhores que as fibras sintéticas, o que é uma ótima motivação para se investir em pesquisas
para descoberta de fibras financeiramente mais acessíveis e que tenham propriedades
superiores, ou até mesmo em combinações de diferentes fibras para que se chegue em um
material com baixo custo e elevadas propriedades mecânicas.

Tabela 1: Propriedades mecânicas de plásticos reforçados em


diversos tipos de fibras naturais e de fibras sintéticas [8]

A fibra de vidro, que é a fibra mais amplamente empregada hoje como reforço para plásticos
reforçados, vem evoluindo sua tecnologia muito rapidamente. Testes realizados pela Cogumelo
10
Indústria e Comércio S.A. mostram que em 2006 seus perfis atingiam um módulo de
elasticidade de 16,2 Gpa, conforme consta no Manual de Engenharia da empresa. Já em 2016,
quando foram realizados novos testes, foi verificado um módulo de elasticidade de 26,2 Gpa.
Outras propriedades mecânicas tiveram uma evolução semelhante ou até melhor que a evolução
do módulo de elasticidade. Entretanto, testes feitos em perfis de uma empresa americana e uma
dinamarquesa, líderes mundiais no segmento, revelaram propriedades mecânicas até 70% mais
refinadas que as propriedades do perfil produzido pela Cogumelo. Isso indica que, mesmo tendo
havido um amplo desenvolvimento da tecnologia, ainda se tem um longo caminho a percorrer.

3.3 Principais métodos de fabricação destes materiais

3.3.1 Pultrusão
É um processo de fabricação contínuo, que é hoje o mais utilizado para produção em larga escala
de materiais compósitos, pois garante uma alta qualidade do produto final com um baixo custo
quando comparado aos outros processos produtivos de materiais compósitos. Este processo é
ilustrado na Figura 8, onde podem ser observadas as diversas etapas do mesmo.

Figura 8: Máquina pultrusora [9]

Na pultrusão, o perfil é puxado por correias transportadoras no final do processo, o que faz os
fios e mantas em fibra serem movidos para dentro da banheira de resina e posteriormente para
11
o molde aquecido, onde acontece a cura desta resina. Os fios e mantas impregnados de resina
curada resultam no plástico reforçado em fibra, o qual é cortado no final do processo por um
sistema que pode ser automático ou manual. Além do corte, outra etapa do processo que é feita
de mais de uma maneira é a impregnação da fibra com resina, a qual pode ser realizada
mergulhando a resina em uma banheira antes do fio entrar no molde aquecido, ou injetando a
resina direto nesse molde. O segundo método, de injeção da resina no molde, tem menos
desperdício de solvente por evaporação pelo fato de a resina ficar confinada e não em um
reservatório aberto, além de garantir um ambiente de trabalho mais agradável, amenizando o
forte cheiro da resina. Permite, ainda, um maior controle da qualidade do perfil e um certo
aumento da velocidade de puxada por garantir uma melhor impregnação da fibra. O método de
injeção tem um custo de desenvolvimento elevado quando comparado com o método da
banheira, que tem um custo quase zero, mas ao longo dos anos esse investimento certamente se
paga, uma vez que as principais líderes mundiais em fibra de vidro utilizam esse método.

3.3.2 Injeção
É um processo muito utilizado para produção em média escala de elementos não estruturais,
como conexões de leitos e eletrodutos e peças com geometria complexa, ou de elementos
estruturais de geometria simples, como placas planas com espessura elevada e grades de piso.
A Figura 9 ilustra uma ferramenta de injeção de resina e um molde de injeção.

Figura 9: Fabricação por injeção [10]

12
É um dos processos mais simples para fabricação de materiais compósitos, basicamente a fibra
é colocada dentro do molde, o qual é fechado e pré aquecido, e então a resina é injetada. Após
o tempo de cura, o molde é aberto e o plástico reforçado em fibra está pronto. Para produtos que
não têm função estrutural, é utilizada fibra picada, a qual facilita a impregnação da resina,
tornando o processo mais simples e mais rápido. Já para produtos com finalidade estrutural, não
se pode utilizar fibra picada como material de reforço, sendo necessário utilizar o fio inteiro
para que seja aproveitada a rigidez longitudinal do mesmo. Portanto, por haver uma necessidade
de moldes complexos, com várias camadas para assentamento dos fios e mantas em fibra, a
máquina precisa de vários bicos de injeção para que a resina chegue em todos os fios e consiga
impregná-los. Por isso que este processo é mais utilizado para elementos não estruturais e,
quando utilizado para produção de um produto com finalidade estrutural, é porque este produto
não pode ser produzido via pultrusão.

3.3.3 Laminação manual


Existem dois tipos de laminação, a laminação manual e a laminação contínua. A primeira,
ilustrada na Figura 10, é muito mais usada por ser o método de fabricação mais antigo e que
necessita de menor investimento dentre os métodos de fabricação de materiais compósitos, se
resume a uma pessoa colocando camadas de fibra e de resina alternadamente sobre um molde,
como se fosse um bolo de aniversário de massa e recheio sobre um tabuleiro.

Figura 10: Fabricação por laminação manual [11]

13
O método manual é muito utilizado para fabricação de produtos em pequena escala e que
necessitam ser mais reforçados, uma vez que a fibra pode ser colocada com uma maior
variedade de orientações possível, como por exemplo, cantoneiras e placas planas de reforço
nas fixações de estruturas, como mostrado na Figura 11.

Figura 11: Junção de dois perfis U em fibra de vidro por


cantoneira laminada e parafusos em aço inox [12]

A variedade de orientações da fibra é definida pelo processo de fabricação, mas pode-se dizer
que quanto mais escala se tem em um método de produção, menos se consegue reforçar o perfil
se utilizando de uma variedade de orientações. Uma ótima nóticia em relação a essa barreira é
que com o desenvolvimento da impressão 3D, maneiras menos ortodoxas de se produzir perfis
estruturais de materiais compósitos serão criadas e, em breve, tudo indica que existirão meios
de produzir um perfil com uma orientação da fibra bidirecional complexa em larga escala, algo
que hoje ainda não se consegue fazer. Os tipos mais comuns de orientação estão ilustrados na
Figura 12.

14
Figura 12: Tipos de roving e de manta [12]

Os modelos mais comuns de orientação da fibra são o roving unidirecional e a manta contínua,
uma vez que são mais facilmente fabricados e, por este motivo, custam menos. Todavia,
empresas com larga escala de projetos de estruturas em fibra de vidro tendem a investir em
materiais mais trabalhados para economizarem no custo final e no peso do projeto. Por exemplo,
é possível que uma viga U 6”x1.5/8”x1/4” fabricada com fibra unidirecional e manta contínua,
materiais mais simples, tenha uma flecha semelhante a uma viga U 4”x1.1/8”x1/4” fabricada
com fibra simulada e manta bidirecional complexa, ambas biapoiadas, com um mesmo vão livre
e sujeitas a cargas idênticas. Ou seja, dependendo da finalidade, o custo da matéria prima pode
ser compensado com economia de material no produto final.

Cada grande empresa do ramo tem seus estudos para investir no material que otimiza seu
investimento e, por motivos óbvios, elas não abrem esses dados para o público. Todavia, no
Brasil pode-se dizer que hoje não há investimentos para tal finalidade, sendo assim usado
basicamente o material com menor custo sempre.

15
3.3.4 Impressão 3D
O processo se resume em um filamento sendo extrudado por um mecanismo que dá forma ao
objeto final, a qual é modelada previamente em um programa de CAD. Na Figura 13 pode-se
ver uma impressora simples e um protótipo impresso pela mesma.

Figura 13: Impressora 3D padrão [13]

Pode-se dizer que como método de fabricação discreto, hoje é uma das melhores tecnologias.
Todavia, a indústria em geral necessita de métodos de fabricação contínuos, que atinjam uma
escala de produção de maneira que seja possível ter um retorno massivo do investimento. Ou
seja, a capacidade produtiva do método ainda é um fator limitante, mas não há dúvidas que não
o será por muito tempo, já que as complicações que impedem a otimização do processo são bem
conhecidas, como o tempo de cura do material e a agilidade da ferramenta para extrudar o
filamento. Apesar disso, já é possível enxergar essa otimização do processo e, enfim, a
possibilidade futura de uso prático em larga escala.

Uma vez definido o elemento a ser fabricado: os guarda corpos para plataformas de petróleo, o
tipo de material a ser utilizado e os possíveis métodos de fabricação a serem aplicados, resta

16
criar um programa computacional de fácil implementação e utilização, para otimizar o processo
de manufatura, o que será visto no Capítulo 4.

17
4 PROJETO

4.1 Otimização de processos - integração CAD, CAM, CAE e ERP via API
Poucos engenheiros têm conhecimento de que programas como SolidWorks, Ansys e outros de
técnicas em CAD (computer-aided design), CAM (computer-aided manufacturing) e CAE
(computer-aided engineering) tenham plataformas API que podem ser utilizadas para integrá-
los a outros programas, tanto entre eles como com um gerenciador global do tipo ERP
(enterprise resource planning) como, por exemplo, SAP, Oracle, Totvs e outros similares ou
até mesmo para automatizar os processos individuais do próprio programa. Ou seja, mesmo
tendo capacitação para fazer as mudanças necessárias, uma vez que todo engenheiro qualificado
tem boas noções de programação, ainda não há uma grande difusão deste conhecimento.

Uma vez difundidos esses conhecimentos, sem dúvidas o mercado os absorveria muito
rapidamente e as empresas começariam a usar esses programas com uma eficiência muito maior,
já que hoje, por exemplo, o profissional projetista e o profissional desenhista precisam fazer o
projeto e o desenho praticamente do zero toda vez que precisam começar algo novo quando se
trata de um produto com muita customização. Nota-se que os desenvolvedores dos programas
em questão não têm implementado a inteligência dos seus programas a fim de auxiliar a
experiência do usuário, implementando somente novas ferramentas e melhorando a interface
visual dos programas. Implementar a inteligência do programa seria torná-lo capaz de ajudar o
usuário dando sugestões de, por exemplo, como reduzir o peso de um projeto, analisar qual
material se adequaria melhor à necessidade do mesmo, entre outras, de forma a otimizar o custo
automaticamente.

Outro aspecto importante para revolucionar o setor manufatureiro seria mudar o jeito de pensar
dos profissionais que nele atuam, uma vez que os engenheiros de hoje tendem a pensar muito
nos problemas para achar a melhor solução para seus projetos, os quais poderiam ser
solucionados pela inteligência do próprio programa, no caso em que o programa estivesse
programado para calcular as variáveis e oferecer ao usuário uma gama de possíveis soluções.
Desta maneira o engenheiro poderia se focar muito mais em desenvolver o produto pela solução,
que é a base para o design thinking, chegando muito mais próximo daquilo que o cliente deseja
e não simplesmente oferecendo um produto de linha com um valor agregado limitado pelo
mercado.

18
4.2 API, big data e internet das coisas
Somente integrar diversos programas, como foi dito anteriormente, não possibilitaria que estes
mesmos programas interagissem com o usuário de maneira inteligente. Todavia, com a
aquisição de dados globalizada, de modo que diversos bancos de dados locais possam conversar
entre si e, através da internet das coisas, é possível que as empresas evoluam e otimizem seus
processos de maneira acelerada utilizando esses dados. A integração dos programas pode tornar
os processos da indústria mais fluidos, formando uma cadeia de processos como, por exemplo,
projeto, desenho, seleção de material, escolha do processo de fabricação, baixa do material no
estoque e planejamento da produção.

Um bom exemplo de processo não integrado seria o de um projeto realizado no Ansys e um


desenho no SolidWorks onde, hoje, essas duas etapas são feitas de maneira independente e o
projetista necessita de um desenho inicial com base na sua experiência para, a partir deste
desenho, realizar as simulações e cálculos para ver como pode ajustá-lo para otimizar o peso do
produto final. A partir do momento que houver uma integração entre programas, com o uso de
inteligência artificial programada para otimizar esse peso com base em projetos já realizados
anteriormente e que constam na sua base de dados, a qual interage com bases de dados de outras
empresas através de um big data, além de produzir um melhor produto final, o engenheiro terá
mais tempo para pensar em formas de atender melhor o cliente.

4.3 SolidWorks e o mercado em que está inserido


O SolidWorks foi criado há quase vinte e cinco anos [14] e hoje é sem dúvida o programa que
mais se destaca quando o assunto é 3D CAD (three dimensional computer-aided design), uma
vez que, quando lançado no mercado, inovou o cenário com seus rascunhos, vistas e ferramentas
básicas de uso muito mais intuitivo e prático quando comparado com os principais programas
do gênero existentes na época, como o AutoCAD e o MicroStation. Pode-se dizer que a enorme
maioria das manufaturas que têm elaboração de desenhos como parte de seus processos, utiliza
o SolidWorks como programa de CAD, seja para customização de produtos, para peças
complexas ou para equipamentos e máquinas em geral, dando vida aos mais diversos projetos
de engenharia, principalmente de engenharia mecânica. Além disso, o grande diferencial do
SolidWorks ao longo dos anos foi nunca parar de investir em inovação e adaptação para entrar
em mercados que já existiam, como o de CAE há cerca de dez anos, o de engenharia reversa há
cerca de cinco anos e o de CAM há cerca de dois anos.
19
Todavia, apesar de já possuir todas as ferramentas necessárias para um projeto completo e ter
captado uma parcela significante de cada mercado no qual ele adentrou, hoje ele ainda não
consegue competir de igual pra igual com os programas líderes de cada segmento. A razão para
tal é a falta de detalhes e ferramentas que um programa exclusivamente de CAE possui, como
é o caso do Ansys que já está há quase quarenta anos no mercado e foi precursor da análise por
elementos finitos [15], ou que um programa exclusivamente de CAM, como o CAMWorks por
exemplo, possui. Dada a existência dessa descentralização e utilização de diversas ferramentas
para se chegar ao produto final e que esses programas de diferentes marcas, enquanto forem
concorrentes, nunca vão se comunicar de maneira automática, o jeito é o usuário implementar
essa comunicação através das plataformas API dos programas a fim de poder ganhar mais
velocidade em seus processos.

4.4 Habilitando a interface de programação no SolidWorks


Para acessar a plataforma API de um programa é muito simples, assim como será mostrado
detalhadamente a seguir para o caso do SolidWorks. Basta habilitar algumas funções do
programa no qual deseja implementar algum código, assim como está ilustrado na Figura 14,
na Figura 15 e na Figura 16.

20
Figura 14: Habilitando a interface de programação no
SolidWorks – Passo 1

Figura 15: Habilitando a interface de programação no


SolidWorks – Passo 2

21
Figura 16: Habilitando a interface de programação no
SolidWorks – Passo 3

Figura 17: Botão para edição de macro – versão 2013

Figura 18: Botão para criação de macro – versão 2013

Figura 19: Botões para executar, interromper execução e gravar/pausar gravação de macro,
respectivamente – versão 2013

22
Figura 20: Habilitando a interface de programação no
SolidWorks – Passo 4

A maioria desses programas tem plataforma de programação nas linguagens C e VB, o que não
é nada complicado para qualquer um que tenha estudado programação em Python, Pascal ou
qualquer linguagem semelhante, dado que o mais dificil é a lógica em si, algo que o engenheiro
deve dominar.

A ligeira diferença dos ícones do SolidWorks de uma figura para outra se dá pelo fato das
primeiras imagens serem da versão 2013 que ainda é muito utilizada, enquanto que da Figura
20 em diante foi utilizando a versão 2017. Isso é intencional para que seja possível se guiar
pelas imagens independente de qual versão o usuário esteja utilizando.

Os próximos passos de como habilitar e utilizar a interface API do SolidWorks serão ilustradas
utilizando-se um desenho variável e um código para CAD, o qual foi desenvolvido a fim de
ganhar escala na produção de desenhos para fabricação de grades e guarda corpos.

23
Figura 21: Habilitando a interface de programação no
SolidWorks – Passo 5

Figura 22: Habilitando a interface de programação no


SolidWorks – Passo 6
24
Assim como diz a instrução destacada na Figura 22, arrastando-se o ícone destacado para região
apontada pela seta, cria-se um botão personalizado, no qual se pode inserir um código próprio.

Figura 23: Habilitando a interface de programação no


SolidWorks – Passo 7

Assim que arrasta-se o ícone, aparece essa caixa na qual deve-se indicar o caminho de onde está
salvo o arquivo do tipo “.swp” (arquivo de macro do SolidWorks) que deseja-se alocar neste
botão que será criado.

Após definido o caminho e pressionado o Ok, o botão será adicionado na região da barra de
ferramentas de macro conforme mostra a Figura 25, mesmo local para o qual anteriormente
havia sido arrastado o ícone de ‘Novo Botão de Macro’.

25
Figura 24: Habilitando a interface de programação no
SolidWorks – Passo 8

Figura 25: Habilitando a interface de programação no


SolidWorks – Passo 9
26
Para que se possam fazer alterações no botão depois de criado, um jeito simples é indo até a aba
de customização dos atalhos de teclado e selecionando para mostrar os botões ativos de macro
que se possui na lista de categorias conforme a Figura 26 e a Figura 27. Como se pode ver na
Figura 28, haverá um botão “…” que ao se clicar abre o menu do botão criado, com o caminho
que foi selecionado para o arquivo do código escrito previamente. Nesse mesmo menu pode-se
observar que há uma opção para se mudar a imagem, conforme a Figura 29 e a Figura 30. Após
se clicar em Ok, as imagens são alteradas como mostra a Figura 31.

Algo muito útil é a seleção de um atalho para a execução da macro, uma vez que esse tipo de
trabalho só é válido para uma quantidade muito grande de repetições, portanto ficar clicando no
ícone toda vez seria um desperdício enorme de tempo. A Figura 32 ilustra onde colocar um
atalho de teclado, que, na minha opinião, é o melhor tipo de atalho. Ou seja, como foi escolhido
o atalho “ctrl+d” conforme mostra a Figura 33, toda vez que o SolidWorks estiver na sua janela
principal (sem nenhum tipo de menu aberto) e forem seguradas teclas “ctrl” e “d” ao mesmo
tempo, a macro será executada.

Figura 26: Habilitando a interface de programação no


SolidWorks – Passo 10

27
Figura 27: Habilitando a interface de programação no
SolidWorks – Passo 11

Figura 28: Habilitando a interface de programação no


SolidWorks – Passo 12

28
Figura 29: Habilitando a interface de programação no
SolidWorks – Passo 13

Figura 30: Habilitando a interface de programação no


SolidWorks – Passo 14
29
Figura 31: Habilitando a interface de programação no
SolidWorks – Passo 15

Figura 32: Habilitando a interface de programação no


SolidWorks – Passo 16
30
Figura 33: Habilitando a interface de programação no
SolidWorks – Passo 17

Há três maneiras de se implementar uma macro nos processos que envolvem CAD de uma
empresa. A primeira, que é a mais simples e mais utilizada é fazendo uso da ferramenta de
parâmetros e criando-se um desenho padrão variável. Basicamente, o desenho é previamente
feito a maneira antiga, todavia suas dimensões são deixadas como variáveis, as quais deverão
ser especificadas no menu de equações, o que será mostrado mais a frente. A segunda maneira
é criando-se um desenho padrão com dimensões variáveis, mas fazendo toda a referência dessas
dimensões através do código, sem utilização de parâmetros, o que é mais trabalhoso que o
primeiro método, porém chega-se ao mesmo restultado. A terceira forma de se fazer é criando
tudo por programação, até mesmo as linhas do rascunho 2D. Esse método é muito mais
trabalhoso que os dois primeiros e no final o resultado é o mesmo.

Como o objetivo é mostrar o jeito mais simples e objetivo de se chegar em um resultado


satisfatório, o primeiro método citado foi utilizado para este projeto. Ou seja, criou-se um
desenho padrão com dimensões variáveis conforme a Figura 35 e, a partir desse modelo,
escreveu-se um código que altera suas variáveis conforme as entradas do usuário. Essas
variáveis podem ser vistas no menu de equações.
31
Dando continuidade, após abrir o modelo predefinido, neste caso um guarda corpo, que está
salvo na rede e executar a macro, conforme mostrado na Figura 34 e na Figura 35, uma caixa
de formulário é aberta no centro da tela como mostra a Figura 36. Este formulário é construído
durante a etapa de programação por quem está escrevendo o código conforme a necessidade do
processo, ele nada mais é que uma interface que permite o usuário conversar com o código de
maneira prática.

Figura 34: Habilitando a interface de programação no


SolidWorks – Passo 18

32
Figura 35: Habilitando a interface de programação no
SolidWorks – Passo 19

Figura 36: Habilitando a interface de programação no


SolidWorks – Passo 20
33
Como se pode observar na Figura 37, os campos preenchidos são as entradas que a macro
precisa para, através do seu código, calcular as variáveis e assim fazer as alterações dos valores
dessas variáveis no menu de equações. Assim que todos os campos estão preenchidos ou com
uma opção selecionada é possível “gerar modelo”, caso nenhum valor de entrada esteja em
conflito com as regras de construção predefinidas no código. Assim que pressionado o botão
“gerar modelo”, a macro realiza todos os cálculos, altera o modelo de CAD e finaliza deixando
um aviso para que o usuário organize a lista de corte como mostrado na Figura 38, o que vai ser
importante mais à frente na hora de gerar listas de materiais nas folhas de desenho. É possível
ajustar a lista de corte pelo código, mas não valeria a pena o tempo gasto escrevendo inúmeras
regras para que isso fosse feito de maneira automática, já que isso pode ser feito manualmente
pelo usuário em um instante.

Figura 37: Habilitando a interface de programação no


SolidWorks – Passo 21

34
Figura 38: Habilitando a interface de programação no
SolidWorks – Passo 22

4.5 Bugs comuns e tratamento de erros


Caso algum valor de entrada seja inválido como, por exemplo, letras, símbolos ou valores que
provoquem um conflito no resultado, estes casos devem ser tratados previamente no código pelo
programador para que a macro não permita que o usuário cometa tais erros. Alguns exemplos
podem ser vistos a seguir, como ilustrados na Figura 39, na Figura 40, na Figura 41 e na Figura
42. Há muito mais casos tratados neste código do que estão sendo mostrados, mas como estes
tratamentos são específicos deste guarda corpo, não é de interesse ficar mostrando cada caso de
erro neste projeto.

35
Figura 39: Inserção de valor que geraria erro no
modelo – Tentativa 1

Figura 40: Inserção de valor que geraria erro no


modelo – Resultado 1
36
Figura 41: Inserção de valor que geraria erro no
modelo – Tentativa 2

Figura 42: Inserção de valor que geraria erro no


modelo – Resultado 2

37
Há alguns detalhes que podem deixar um usuário novo deste tipo de ferramenta confuso como,
por exemplo, os valores das variáveis que aparecem no menu equações no canto da tela,
destacados na Figura 43 e na Figura 44, não serem atualizadas assim que a macro termina
mesmo tendo um comando de atualizar equações no código. Para que esses valores sejam
atualizados é preciso acessar manualmente o gerenciador de equações, conforme a Figura 45.
No menu principal de equações, variáveis globais e dimensões, os novos valores já vão estar
descritos corretamente, como mostrado na Figura 46. Isso é um de muitos bugs do SolidWorks
dado que ao pressionar Ok sem executar nenhuma ação neste menu, as variáveis são atualizadas
no menu de equações no canto da tela assim como é observado na Figura 47.

Figura 43: Possíveis bugs após utilização de macro 1.1

38
Figura 44: Possíveis bugs após utilização de macro 1.2

Figura 45: Possíveis bugs após utilização de macro 1.3

39
Figura 46: Possíveis bugs após utilização de macro 1.4

Figura 47: Possíveis bugs após utilização de macro 1.5

40
Outro exemplo que pode confundir é quando aparece um triângulo amarelo com uma
exclamação dentro, que é um símbolo conhecido por aparecer quando alguma coisa deu errado.
Todavia, neste caso trata-se de algum componente que havia sido especificado e que não tem
um lugar para ser colocado pelo programa. Por exemplo, na Figura 48 pode-se observar que
antes da macro ser utilizada tinha-se um guarda corpo com 4500mm de comprimento como
mostrado no menu de equações, guarda corpo este que possui quatro montantes (colunas), e
agora tem-se um guarda corpo menor que possui apenas dois montantes, ou seja, os outros dois
montantes que não foram alocados pelo fato de não haver mais espaço para eles no rascunho
2D acabam causando um conflito no programa que interpreta como um erro, mas que na prática,
quando o usuário sabe do que se trata, não atrapalha em nada.

Figura 48: Possíveis bugs após utilização de macro 2

4.6 Interagindo com a interface de programação no SolidWorks


Agora que já se conhece o caminho para habilitar a interface de programação para utilização de
uma macro pronta, o próximo passo é que se consiga interagir diretamente com a interface, seja
para escrever, para corrigir ou para incrementar um código. Para se criar um macro nova existem
41
duas maneiras: a primeira é clicando no botão de criar uma nova macro mostrado na Figura 49
e a segunda é clicando no botão de gravar macro mostrado na Figura 50. O primeiro jeito,
criando uma macro do zero, será muito complexo caso seja a primeira experiência do usuário,
uma vez que, apesar de ser uma programação em VB, que é uma linguagem comum muito
parecida com Python e C, a classe base do código será a base do API do SolidWorks, ou seja,
para fazer a interação entre a interface de programação VB e o SolidWorks o programador
precisa chamar o objeto em VB que possui as propriedades, os métodos e os eventos do
SolidWorks, assim como deve ser feito na plataforma de programação API de qualquer
programa de código fechado. Isso pode parecer complicado no momento, mas mais à frente será
mostrado no código como é simples e quais objetos e classes devem ser chamados. O segundo
jeito, gravando uma macro, é muito mais simples, mas muito mais demorado e cheio de bugs,
contudo é a maneira ideal para alguém inexperiente poder treinar e descobrir como funcionam
e como chamar os métodos e utilizar as propriedades do SolidWorks na interface de
programação.

Figura 49: Botão para criação de macro – versão 2017

Figura 50: Botão para gravar e pausar gravação de


macro – versão 2017

Outra ótima ferramenta para treinamento é abrir uma macro pronta e ler para tentar entender o
que está escrito e então mexer no código para testar o que acontece em diferentes situações.
Para abrir uma macro que está salva na rede basta clicar no botão de edição de macro, destacado
na Figura 51, e selecionar o arquivo “.swp” que deseja editar. Feito isso, a janela VBA (interface
de programação) abrirá e será possível ver o código selecionado para edição, como mostrado
na Figura 52.

42
Figura 51: Interagindo com a interface de
programação no SolidWorks – Passo 1

Figura 52: Interagindo com a interface de


programação no SolidWorks – Passo 2
43
Na Figura 52 pode-se observar duas janelas de programação, uma contendo praticamente todo
o código vinculado à uma caixa de formulário, que está listada no menu à esquerda como
UserForm1, e outra janela contendo apenas o chamado dessa caixa de formulário, que está
listada no menu à esquerda como Módulo1. Ao se clicar com o botão direito no item UserForm1,
destacado na Figura 52, tem-se um menu como mostra a Figura 53. Neste novo menu, ao se
clicar em Exibir código tem-se a janela do código, conforme mostrado na Figura 54, e ao se
clicar em Exibir objetos tem-se a janela da caixa de formulário, conforme mostrado na Figura
55. Os códigos desta macro encontram-se no Apêndice A do projeto.

Figura 53: Interagindo com a interface de


programação no SolidWorks – Passo 3

44
Figura 54: Interagindo com a interface de
programação no SolidWorks – Passo 4

Figura 55: Interagindo com a interface de


programação no SolidWorks – Passo 5
45
Para se criar e fazer com que uma caixa de formulário fique com uma formatação adequada,
tanto na disposição dos itens dentro dela como do posicionamento dela na tela para o usuário
final, é preciso aprender o básico de programação no VBA, o que não é o foco do projeto, mas
resumidamente pode-se dizer que tudo isso é feito no menu no canto inferior esquerdo como
mostrado nos exemplos a seguir da Figura 56, da Figura 57, da Figura 58 e da Figura 59. As
imagens da formatação de cada célula da caixa de formulário encontram-se no Apêndice B do
projeto.

Figura 56: Interagindo com a interface de


programação no SolidWorks – Passo 6.1

46
Figura 57: Interagindo com a interface de
programação no SolidWorks – Passo 6.2

Figura 58: Interagindo com a interface de


programação no SolidWorks – Passo 6.3
47
Figura 59: Interagindo com a interface de
programação no SolidWorks – Passo 6.4

48
5 CONCLUSÃO

5.1 Conclusões gerais


Como pôde ser visto anteriormente, há poucos anos houve a criação de uma grande demanda
de guarda corpos em fibra de vidro para plataformas de petróleo. Pôde-se ver também que essa
nova demanda contínua gerou um caso de estudo na empresa que foi contratada para o
fornecimento desses produtos, dado que com o orçamento que tinha e com os processos do jeito
que estavam, ocorria de maneira recorrente um atraso na entrega dos produtos, algo que é
terrível para o fluxo de caixa de qualquer empresa.

Além disso, para contextualização do projeto foram apresentados de forma introdutória os


guarda corpos e sua aplicação em plataformas de petróleo, os materiais compósitos e os métodos
mais comuns de fabricação de produtos em fibra de vidro. Já na etapa do projeto foram
introduzidos alguns conceitos sobre integração de programas que são comuns na manufatura e
que se complementam, apesar de possuírem finalidades diferentes, e idéias de como essa
integração seria positiva para o mercado. Em seguida foi mostrado como é possível utilizar um
código de programação dentro de um programa como o SolidWorks e, por fim, como é possível
criar um novo código.

Enfim, o projeto realizado foi um código em linguagem VB através da interface API do


programa SolidWorks e que foi testado na prática e aprovado, reduzindo o tempo médio gasto
pelos desenhistas da empresa em que foi empregado de três meses para dois, tendo em vista um
volume médio de cerca de cinco mil unidades de guarda corpos por demanda média de uma
plataforma de petróleo, o que acontecia em média a cada nove meses através de um contrato de
reforma das plataformas da Unidade Operacional do Rio de Janeiro (UO-Rio) da Petrobras.
Antes da reformulação do processo através do programa havia um atraso de cerca de um mês
nos desenhos e que, com o novo processo, passou a ser finalizado dentro do prazo.

5.2 Sugestões de trabalhos futuros


Pode-se observar que a utilização correta de ferramentas de suporte para programas
computacionais, como a que foi apresentada no projeto, pode representar um diferencial na
formação de novos engenheiros, abrindo um leque infinito de possíbilidades a serem exploradas
dentro de programas que normalmente são usados da mesma maneira há décadas. Sendo assim,
a principal sugestão seria incentivar cada vez mais os alunos de engenharia a questionar tudo,
49
mantendo sempre um raciocínio lógico e tentando encontrar novas saídas para problemas que
pareçam não ter uma solução interessante.

Uma idéia de desenvolvimento para o futuro seria um código que integrasse o SolidWorks ao
Ansys de maneira que o desenho já fosse direto para o Ansys e a macro, programada na interface
API do mesmo, fizesse todo o processo de especificação dos tipos de apoios, das fronteiras, das
propriedades do material, entre outras especificações. Além disso, a macro poderia fazer
também o processo de reconhecimento dos pontos críticos da estrutura de maneira que na saída
aparecesse somente se o resultado é positivo ou negativo, de acordo com as normas predefinidas
na macro para cada caso.

Além disso, poderia ser feita uma integração entre essa macro e o sistema ERP de uma empresa
de modo que fosse possível utilizar os dados de custo, estoque, prazo médio de fornecimento,
prazo médio de fabricação, entre outros, para cada material utilizado em um projeto, a fim de
facilitar a visualização da diferença de valores gerados por dois produtos similares.

Também poderia ser criada uma macro com base em um código de otimização 3D a fim de
possibilitar que o Ansys e o SolidWorks interagissem recursivamente até se obter um produto
com o menor custo de acordo com os dados retirados do sistema ERP. Ou seja, o Ansys
encontraria um ponto crítico que poderia ser melhor explorado e, através desse dado, uma
mudança no modelo seria feita através do SolidWorks a fim de que fosse empregado menos
material naquele ponto e então esse novo modelo seria enviado para o Ansys e a análise seria
refeita. Esse processo interativo aconteceria inúmeras vezes através do mecanismo recursivo
até que o ganho seja pequeno demais e então se chegaria a um produto final otimizado.

E, quando se estiver mais familiarizado com novas tecnologias como a de redes neurais, seria
interessante introduzir uma rede neural à macro a fim de que esta possa aprender conforme os
projetos forem sendo finalizados, para que a própria macro possa começar a dar ideias de
soluções inovadoras para o engenheiro que esteja operando o sistema, trazendo uma maior gama
de soluções diferenciadas e todas com custo minimizado. Para aumentar o aprendizado do
programa o mais interessante seria conectar o banco de dados da macro a um big data contendo
diversos bancos de empresas com atividades similares, para que esse aprendizado seja acelerado
e ampliado de forma que a inteligência do programa possa aprender novos padrões que não
conseguia alcançar quando estava limitada aos padrões dos seus usuários.

50
6. REFERÊNCIAS BIBLIOGRÁFICAS

[1] Plástico reforçado em fibra de carbono. Disponível em:


<http://www.directindustry.com/prod/exel-composites/product-16769-426700.html>. Acesso
em 30 de janeiro de 2018.

[2] Impressora 3D muito semelhante ao módulo de injeção de grades de piso de fibra de vidro.
Disponível em: <https://3dprintingindustry.com/news/fiscal-2014-revenue-results-3d-
printings-top-10-guns-44789/#post/0>. Acesso em 30 de janeiro de 2018.

[3] Impressão 3D de uma ponte de aço. Disponível em: <http://mx3d.com/projects/bridge/>.


Acesso em 30 de janeiro de 2018.

[4] Passarela com guarda corpos. Disponível em:


<http://www.jurunature.com/index2.php?task=prodFrp>. Acesso em 24 de fevereiro de 2018.

[5] Guarda corpo de vidro. Disponível em: <https://casaeconstrucao.org/projetos/guarda-


corpo-de-vidro/>. Acesso em 24 de fevereiro de 2018.

[6] Cabana da Idade da Pedra, paredes baixas de pedras sobrepostas e cobertura de compósito
de argila e palha. Disponível em: <http://farnborough-road-junior-
school.primaryblog.net/blog/read-blog/stone-age-739527.html>. Acesso em 30 de janeiro de
2018.

[7] Confecção de piso industrial em concreto armado. Disponível em:


<http://www.masterplate.com.br/piso-concreto-armado/>. Acesso em 30 de janeiro de 2018.

[8] BARBOSA, A. P. Características estruturais e propriedades de compósitos poliméricos


reforçados com fibras de buriti. Tese de Engenharia e Ciências de Materiais. Universidade
Estadual do Norte Fluminense, 2011.

[9] Máquina pultrusora. Disponível em: <http://fabricacaodecompositos.blogspot.com.br/>.


Acesso em 30 de janeiro de 2018.

[10] Fabricação por injeção. Disponível em:


<http://www.moldedfiberglass.com/processes/processes/closed-molding-processes/resin-
transfer-molding>. Acesso em 30 de janeiro de 2018.

51
[11] Fabricação por laminação manual. Disponível em:
<https://www.wacker.com/cms/en/industries/pl_composites/pl_comp_appl/handlayup.jsp>.
Acesso em 30 de janeiro de 2018.

[12] CLARK, John L.; HALCROW, Sir William; Structural Design of Polymer Composites -
EUROCOMP Design Code and Handbook. Partners Ltd., First Edition. Published by E & FN
Spon, an imprint of Chapman & Hall, 2-6 Boundary Row, London SE1 8HN, UK, 1996.

[13] Impressora 3D padrão. Disponível em:


<https://boaimpressao3d.com.br/shop/impressora3d/impressora-3d-stella/#selecione-a-cor-da-
stella>. Acesso em 30 de janeiro de 2018.

[14] Disponível em: <https://en.wikipedia.org/wiki/SolidWorks>. Acesso em 24 de fevereiro


de 2018.

[15] Disponível em: <https://en.wikipedia.org/wiki/Ansys>. Acesso em 24 de fevereiro de


2018.

52
APÊNDICE A - CÓDIGOS

Código do UserForm1

Dim swApp As Object


Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Private Sub CommandButton1_Click()
Dim A, A2, B, C, D, n, o As Long
Dim Nome As Variant
Dim tamanhodasapata As Integer: tamanhodasapata = 156
Dim testeA, testeB, testeD As String
Dim linhas(5) As String
' ------- TESTES PARA VERIFICAR SE OS INPUTS SÃO COERENTES -------
testeA = txt_A + "0"
testeB = txt_B + "0"
testeD = txt_D + "0"
For i = 1 To Len(testeA) 'Testa se todos os caracteres são númericos para o Comprimento do
Passamão
If 57 < Asc(Mid(testeA, i, 1)) Then
MsgBox "Insira um valor coerente para o Comprimento do passamão."
Exit Sub
ElseIf Asc(Mid(testeA, i, 1)) < 48 Then
MsgBox "Insira um valor coerente para o Comprimento do passamão."
Exit Sub
End If
Next i
If testeA = 0 Then 'Testa se o valor é diferente de zero para o Comprimento do Passamão
MsgBox "Insira um valor coerente para o Comprimento do passamão."
Exit Sub
End If
For i = 1 To Len(testeB) 'Testa se todos os caracteres são númericos para o Comprimento da
Orelha
If 57 < Asc(Mid(testeB, i, 1)) Then
MsgBox "Insira um valor coerente para o Comprimento da orelha."
Exit Sub
ElseIf Asc(Mid(testeB, i, 1)) < 48 Then
MsgBox "Insira um valor coerente para o Comprimento da orelha."
Exit Sub
End If
Next i
If testeB = 0 Then 'Testa se o valor é diferente de zero para o Comprimento da Orelha
MsgBox "Insira um valor coerente para o Comprimento da orelha."
Exit Sub
End If
For i = 1 To Len(testeD) 'Testa se todos os caracteres são númericos para a Altura do
Passamão
If 57 < Asc(Mid(testeD, i, 1)) Then

53
MsgBox "Insira um valor coerente para a Altura do passamão."
Exit Sub
ElseIf Asc(Mid(testeD, i, 1)) < 48 Then
MsgBox "Insira um valor coerente para a Altura do passamão."
Exit Sub
End If
Next i
If testeD = 0 Then 'Testa se o valor é diferente de zero para a Altura do Passamão
MsgBox "Insira um valor coerente para a Altura do passamão."
Exit Sub
End If
'----------- VARIÁVEIS DE ENTRADA -------------
A = Int(txt_A) 'Comprimento do passamão
B = Int(txt_B) 'Comprimento das orelhas
D = Int(txt_D) - 25.4 'Altura do passamão
' ------- TESTES PARA VERIFICAR SE OS INPUTS SÃO COERENTES DA
PERSPECTIVA DO DESENHO / CÁLCULOS DAS VARIÁVEIS -------
If A > 4650 Then 'Comprimento máximo do passamão.
MsgBox "Insira um valor coerente para o Comprimento do passamão."
Exit Sub
End If
If B > 300 Then 'Comprimento máximo da orelha.
MsgBox "Insira um valor coerente para o Comprimento da orelha."
Exit Sub
End If
If D > 1450 Then 'Altura máxima do passamão.
MsgBox "Insira um valor coerente para a Altura do passamão."
Exit Sub
End If
If txt_n1.Value Then
o=2
If A < (3 * B) + (2 * 40.4) Then 'Verificação de que a distância entre os montantes é maior
que o comprimento da orelha.
MsgBox "Insira valores coerentes. Distância entre montantes menor que o Comprimento
da orelha."
Exit Sub
End If
If txt_f1.Value Then
If A - (2 * B) - 80.8 < tamanhodasapata Then 'Verificação de que não vai haver
interferência entre sapatas.
MsgBox "Insira um valores coerentes. Interferência entre sapatas."
Exit Sub
End If
ElseIf txt_f2.Value Then
If A - (2 * B) - 80.8 < 50.8 + 15 Then 'Verificação de que não vai haver interferência
entre montantes.
MsgBox "Insira um valores coerentes. Interferência entre montantes."
Exit Sub
End If
End If
54
If B < 50.8 + 15 Then 'Verificação se os montantes da orelha vão estar afastados o
suficiente (mín=15mm)
MsgBox "Insira um valor coerente. Interferência entre montantes da orelha."
Exit Sub
End If
n = Int((A - 2 * (40.4 + B)) / 1350) + 2
C = (A - 2 * (40.4 + B)) / (n - 1)
A2 = A
Call suprimir
ElseIf txt_n2.Value Then
o=1
If A < (2 * B) + (2 * 40.4) Then 'Verificação de que a distância entre os montantes é maior
que o comprimento da orelha.
MsgBox "Insira um valor coerente. Distância entre montantes menor que o
Comprimento da orelha."
Exit Sub
End If
If txt_f1.Value Then
If A - B - 80.8 < tamanhodasapata Then 'Verificação de que não vai haver interferência
entre sapatas.
MsgBox "Insira um valor coerente. Interferência entre sapatas."
Exit Sub
End If
ElseIf txt_f2.Value Then
If A - B - 80.8 < 50.8 + 15 Then 'Verificação de que não vai haver interferência entre
sapatas.
MsgBox "Insira um valor coerente. Interferência entre montantes."
Exit Sub
End If
End If
If B < 40.4 + 15 Then 'Verificação se os montantes da orelha vão estar afastados o
suficiente (mín=15mm)
MsgBox "Insira um valor coerente. Interferência entre montantes da orelha."
Exit Sub
End If
n = Int((A - 2 * 40.4 - B) / 1350) + 2
C = (A - 2 * 40.4 - B) / (n - 1)
A2 = A + B
Call suprimir
Call us1
ElseIf txt_n3.Value Then
o=0
If txt_f1.Value Then
If A - 80.8 < tamanhodasapata Then 'Verificação de que não vai haver interferência entre
sapatas
MsgBox "Insira um valor coerente. Interferência entre sapatas."
Exit Sub
End If
ElseIf txt_f2.Value Then
If A - 80.8 < 50.8 + 15 Then 'Verificação de que não vai haver interferência entre sapatas
55
MsgBox "Insira um valor coerente. Interferência entre montantes."
Exit Sub
End If
End If
n = Int((A - 2 * 40.4) / 1350) + 2
C = (A - 2 * 40.4) / (n - 1)
A2 = A + B * 2
Call us1
Call us2
End If
If txt_f1.Value Then 'Fixação de Topo
Call suprimirtirantelateral
Call dessuprimirsapata
ElseIf txt_f2.Value Then 'Fixação Lateral
Call suprimirsapata
'Call dessuprimirtirantelateral
End If
'----------- REESCREVE O .TXT -------------
arquivo = "C:\Users\Stephan\Desktop\PG\Stephan\Solidworks - Macros\equations.txt"
'Workbook.Path & "equations.txt"
m = FreeFile()
'Application.WorksheetFunction.Replace()
linhas(0) = """A"" = " + Replace(CStr(A2), ",", ".")
linhas(1) = """B"" = " + Replace(CStr(B), ",", ".")
linhas(2) = """C"" = " + Replace(CStr(C), ",", ".")
linhas(3) = """D"" = " + Replace(CStr(D), ",", ".")
linhas(4) = """n"" = " + Replace(CStr(n), ",", ".")
linhas(5) = """o"" = " + Replace(CStr(o), ",", ".")
Open arquivo For Output As #m
For j = 0 To 5
Print #m, linhas(j)
Next
Close #m
' ------- ATIVA AS PROPRIEDADES PERSONALIZADAS DAS PEÇAS INSERIDAS ---
Call propriedadespersonalizadas
' ------- RECONSTRÓI COM CRTL+Q -------
Call reconstroi
' ------- COLOCA PEÇA NA VISTA FRONTAL -------
Call vistafrontal
' ------- TIRA ZOOM -------
Call tirarzoom
' ------- SALVAR COMO -------
'Call salvarcomo
' ------- FECHA O USERFORM -------
Unload UserForm1
' ------- AVISA O USUÁRIO SOBRE A LISTA DE CORTE -------
MsgBox "Organizar lista de corte."
End Sub
Sub us1() ' Tira primeira orelha
Set swApp = Application.SldWorks
56
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("Corte-extrusão1", "BODYFEATURE", 0, 0, 0,
False, 0, Nothing, 0)
Part.EditUnsuppress2
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Corte-extrusão2", "BODYFEATURE", 0, 0, 0,
True, 0, Nothing, 0)
Part.EditUnsuppress2
Part.ClearSelection2 True
End Sub
Sub us2() ' Tira segunda orelha
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("Corte-extrusão3", "BODYFEATURE", 0, 0, 0,
False, 0, Nothing, 0)
Part.EditUnsuppress2
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Corte-extrusão4", "BODYFEATURE", 0, 0, 0,
True, 0, Nothing, 0)
Part.EditUnsuppress2
Part.ClearSelection2 True
End Sub
Sub suprimir() 'Coloca todas as orelhas
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("Corte-extrusão3", "BODYFEATURE", 0, 0, 0,
False, 0, Nothing, 0)
Part.ShowNamedView2 "*Isométrica", 7
Part.ShowNamedView2 "*Isométrica", 7
Part.EditSuppress2
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Corte-extrusão4", "BODYFEATURE", 0, 0, 0,
False, 0, Nothing, 0)
Part.EditSuppress2
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Corte-extrusão1", "BODYFEATURE", 0, 0, 0,
False, 0, Nothing, 0)
Part.EditSuppress2
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Corte-extrusão2", "BODYFEATURE", 0, 0, 0,
False, 0, Nothing, 0)
Part.EditSuppress2
Part.ClearSelection2 True
End Sub
Sub reconstroi() 'força recontrução geral (ctrl+q)
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.ForceRebuild3(True)
End Sub
57
Sub vistafrontal() 'coloca a peça na vista frontal (ctrl+1)
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
Part.ShowNamedView2 "*Frontal", 1
End Sub
Sub tirarzoom() 'tira o zoom bugado depois de gerar peça (f)
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
Part.ViewZoomtofit2
End Sub
Sub salvarcomo()
Dim nomedogc As String
Dim numerodaas As String
Dim numerodaplataforma As String
Dim moduloelevacao As String
Dim caminho As String
nomedogc = txt_Nome
numerodaas = txt_AS
numerodaplataforma = Mid(nomedogc, 2, 2)
moduloelevacao = Mid(nomedogc, 5, InStr(1, txt_Nome, "&") - 5)
caminho = "\\192.168.10.6\projetos\ADMINISTRAÇÃO DO
PROJETO\CONTRATOS\CONTRATO UO-RIO_2200.0084841.13.2\Desenhos\AS " & _
numerodaas & " (P-" & numerodaplataforma & ")\Fabricação\" & moduloelevacao & "\Guarda
Corpos\" & nomedogc & ".SLDPRT"
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
longstatus = Part.SaveAs3(caminho, 0, 2)
End Sub
Function NomesdePasta(caminho As String) As Variant
Dim avarPastas()
Dim Pasta As String
Dim intPastas As Integer
Pasta = Dir(caminho, vbDirectory)
Do While Len(Pasta)
ReDim Preserve avarPastas(intPastas)
avarPastas(intPastas) = Pasta
intPastas = intPastas + 1
Pasta = Dir
Loop
NomesdePasta = avarPastas
End Function
Sub propriedadespersonalizadas()
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("SAPATA U SEM FURAÇÃO NA BASE",
"BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
Dim myFeature As Object
58
Set myFeature = Part.InsertPart2("", 401)
boolstatus = Part.Extension.SelectByID2("tirante 1_2", "BODYFEATURE", 0, 0, 0, False, 0,
Nothing, 0)
Set myFeature = Part.InsertPart2("", 401)
End Sub
'Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger, shift As
Integer) 'Permite clicar no botão usando 'Enter'
'If KeyAscii = 13 Then
'Call CommandButton1_Click
'KeyCode.Value = 0
'End If
'End Sub
Sub suprimirsapata() 'Suprime sapata e tirantes para realizar a fixação lateral.
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("SAPATA U SEM FURAÇÃO NA BASE",
"BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
Part.EditSuppress2
Part.ClearSelection2 True
End Sub
Sub suprimirtirantelateral() 'Suprime tirantes de fixação lateral para realizar a fixação de topo.
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("tirante 1_21", "BODYFEATURE", 0, 0, 0, False, 0,
Nothing, 0)
Part.EditSuppress2
Part.ClearSelection2 True
End Sub
Sub dessuprimirsapata() 'Dessuprime sapata e tirantes para realizar a fixação de topo.
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("SAPATA U SEM FURAÇÃO NA BASE",
"BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
Part.EditUnsuppress2
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("tirante 1_2", "BODYFEATURE", 0, 0, 0, False, 0,
Nothing, 0)
Part.EditUnsuppress2
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Padrão linear1", "BODYFEATURE", 0, 0, 0, False,
0, Nothing, 0)
Part.EditUnsuppress2
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Padrão linear2", "BODYFEATURE", 0, 0, 0, False,
0, Nothing, 0)
Part.EditUnsuppress2
Part.ClearSelection2 True
59
End Sub
Sub dessuprimirtirantelateral() 'Dessuprime tirantes de fixação lateral para realizar a fixação
lateral.
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("tirante 1_21", "BODYFEATURE", 0, 0, 0, False, 0,
Nothing, 0)
Part.EditUnsuppress2
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Padrão linear3", "BODYFEATURE", 0, 0, 0, False,
0, Nothing, 0)
Part.EditUnsuppress2
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Padrão linear4", "BODYFEATURE", 0, 0, 0, False,
0, Nothing, 0)
Part.EditUnsuppress2
Part.ClearSelection2 True
End Sub
Private Sub Label1_Click()
End Sub
Private Sub txt_A_Change()
End Sub
Private Sub txt_D_Change()
End Sub
Private Sub txt_f1_Click()
txt_D = 1100
End Sub
Private Sub txt_f2_Click()
txt_D = 1300
End Sub
Private Sub txt_n3_Click()
End Sub

Código do Módulo1

Sub main()
UserForm1.Show
End Sub

60
APÊNDICE B - FORMATAÇÃO

Formatação da caixa de formuário do UserForm1

61
62
63
64
65
66
67
68
69
70
71
72
73
74

Você também pode gostar