OpenScad Tutorial

OpenScad Tutorial
Fazer uma parte mecânica requer um desenho. Tudo começou com papel, e os primeiros programas CAD usavam exatamente o mesmo estilo. Existem até quadrados padrão nos desenhos para que cada desenho seja identificado. Tudo isso é útil quando você começa a entrar em produção em grandes corporações. No entanto, quando você começa a fazer uma nova peça mecânica, você pode querer outros métodos.

Métodos CAD 3D permitem que você veja a peça inteira como é. Você também pode torcer e girar. No software avançado, você também pode simular o movimento. Em todos os casos, você desenha as peças usando uma interface gráfica. Isso é ótimo para fazer caixas e cilindros, mas quando você deseja fazer formas mais complexas, pode precisar de métodos matemáticos.

Insira uma maneira padrão de descrever qualquer material com comandos.

O que torna o OpenScad tão especial?

No OpenScad, você não desenha nada com seu ponteiro ou caneta. Você codifica a peça inteira com comandos e funções. Isso é estranho para engenheiros mecânicos, mas para programadores, você tem outra situação. Além da preferência pessoal, você também tem a vantagem de precisão. Quando você o cria com código, você tem a precisão lá no código.

A característica mais poderosa do OpenScad são operações binárias. Você pode usar operadores binários para montar peças ou cortar material. É fácil fazer um cubo com um orifício no centro, retraindo o cilindro do cubo. Algumas dessas operações estão disponíveis em outros softwares CAD, mas cai naturalmente para usá -los no OpenScad.

Quais são as necessidades do seu projeto?

Depois de colocar seu design em um guardanapo, você pode pensar que precisa ver o que está acontecendo quando tenta torná -lo um design completo. Não se preocupe; Há uma janela de visualização para você olhar enquanto você codifica. Depois de entender as idéias básicas, você saberá se é o mais adequado para o seu projeto.

Em suma, se você quiser criar pequenos pedaços que tenham formas complexas, você deve tentar o OpenScad. Para equipamentos completos e sistemas mecânicos, você deseja usar aplicativos gráficos mais avançados. Dito isto, é tudo uma questão de gosto. Você pode fazer formas complicadas com apenas código, você consideraria codificar um carro inteiro?

Instalação

OpenScad, disponível em seus repositórios padrão para a maioria das distribuições, também pode ser instalado usando um Snap e Appimage. Interessante é que você também tem um segundo pacote que inclui parafusos, engrenagens e formas genéricas. O pacote mais recente está no Snap OpenScad Nightly.

Sudo Apt Install OpenScad
SUDO Snap Install OpenScad Nightly

Se você deseja usar os parafusos incluídos que vêm como um pacote separado, use os repositórios da sua distribuição.

Sudo Apt Install OpenScad-mcad

Usar as peças incluídas é outra questão, coberta mais abaixo.

Várias formas padrão

Os princípios do script cad é que você tem algumas formas geométricas padrão. Você usa essas formas e as combina em formas mais complexas. As formas padrão são círculos, quadrados e polígonos para 2d. Para 3D, você tem uma esfera, cubo, cilindro e poliedro. Ao usar alguns deles para construir e outros para cortar, você pode criar formas muito complexas.

Há também uma função de texto que cria um texto 2D. Quando você precisa criar desenhos para mais processamento, você pode usar o comando de projeção. Este comando corta uma forma 3D ao longo de um avião para que você possa transferi -lo para um desenho. Você também pode adicionar formas de outros programas ou até imagens, usando o comando de importação. Isso também funciona com forma 3D.

Além disso, você pode extrudar formas de objetos existentes.

Transformações

Por padrão, você cria todas as peças no ponto central da grade em todas as dimensões. Isso faz com que todos eles se sobreponham. Depois de ter várias formas, você deseja colocá -las no local certo e girado. Essas funções são as simples, traduzir coloca o objeto em outro lugar. O comando girate gira o objeto ou os objetos infantis. Você também tem a função espelho, que cria uma cópia do objeto espelhado em torno do eixo fornecido.

As outras transformações precisam de exemplos para explicar. Em suma, Hull cria as linhas externas de muitas formas. Tente com dois círculos e combine -os com Hull (). Ou o código abaixo.

traduzir ([-10,0,0])
casco()
cilindro (30, 5, 1);
cubo (9);
esfera (12);

A operação Minkowski é geralmente usada para criar bordas; Se você os quiser arredondá -los, use uma esfera.

Operações booleanas

Muitas peças não podem ser criadas apenas com quadrados, cilindros e esferas. A primeira coisa que você pode fazer é combinar e cortar muitas formas em uma única forma. Você usa operadores booleanos para fazer isso. Eles são união, diferença e interseção.

União()
cubo ([35, 5, 2], centro = true);
cilindro (h = 2, r = 5, centro = true);

No código acima, você recebe uma única peça que tem uma lâmpada no centro. Para fazer um tubo, você pega a diferença entre um cilindro e outro.

diferença()
cilindro (h = 15, r1 = 30, r2 = 30, centro = true);
cilindro (h = 15, r1 = 25, r2 = 25, centro = true);

À medida que seguimos em frente, você os usará e mais. Aqui está um exemplo de interseção.

interseção()

girar ([45,0.0])
cilindro (h = 40, r = 4, centro = true);
tradução (5,5,5)
cilindro (h = 40, r = 6, centro = true);

A interseção deixa apenas o material sobreposto; Você pode criar muitas formas usando este método.

Para loops

Muitos de seus designs terão a mesma peça muitas vezes, considere um pátio. Eles geralmente são feitos de várias tábuas com lacunas entre eles. Nesse caso, você faz uma prancha e apenas itera sobre eles com um loop for.

gap = 8;
Plank_width = (Bed_width / 4) - Gap;
num_Planks = 4;
para (plank_x_pos = [0: 1: num_Planks - 1])

Traduzir ([Plank_width * Plank_X_POS + GAP * PLANK_X_POS, 0,0])
cubo ([Plank_width, 4.200]);

Sem o loop for, você teria escrito o cubo e traduzia declarações quatro vezes. Você também teria que calcular a que distância a próxima prancha iria. Mesmo com apenas quatro peças, essa solução parece muito mais fácil. No exemplo, você também pode ver variáveis ​​que precisam ser definidas. Todas as variáveis ​​são definidas em tempo de compilação, isso é importante, pois você pode ter problemas de depuração se pensa nelas como valores em outras linguagens de programação. Como você verá mais adiante, você também pode fazer de todo o pátio um módulo.

Matemática

Incluído no OpenScad, você tem algumas funções matemáticas disponíveis. Os recursos suportados são a maioria das funções trigonométricas, arredondando de maneiras diferentes e função logarítmica. Você pode ver um exemplo abaixo.

para (i = [0:36])
traduzir ([i*10,0,0])
cilindro (r = 5, h = cos (i*10)*50+60);

A função acima cria uma longa fila reta de cilindros de altura diferente. As principais funções são conectadas à trigonometria. No entanto, com funções aleatórias e de arredondamento e os operadores padrão, você pode criar praticamente tudo. Também há suporte para vetores, matrizes e raiz quadrada. Mesmo com essas funções, você pode chegar muito longe. No entanto, eles não cobrem tudo o que você pode imaginar; Em vez disso, você pode criar funções.

Módulos e funções

Você tem muitos módulos incluídos na instalação do OpenScad. No entanto, você também pode baixar outras bibliotecas. Em sua distribuição, você provavelmente encontra McAd, também chamado OpenScad-Mcad. Para instalar no Ubuntu.

$ sudo apt install OpenScad-mcad

Dentro deste pacote, você encontra módulos e funções. Antes de iniciar qualquer projeto, procure bibliotecas e módulos. Já existe uma biblioteca de parafusos, e esse é apenas o começo. Faltando uma parte do seu design? Faça seus próprios módulos; Você os usa para fazer novas peças. Quando você usa parâmetros, você pode fazer muitas versões. A melhor maneira de criar um módulo é tornar o design como um arquivo separado, descobrir o que precisa ser dinâmico e adicionar 'módulo' ao redor da peça.

Para usar um módulo, você o chama pelo nome. Como muitos módulos vêm em arquivos separados, você deve colocar uma declaração de inclusão na parte superior do seu arquivo. Preste atenção à diferença entre a declaração "incluir" e a declaração "Uso". Se você deseja que tudo em um arquivo seja executado, você "inclua", se deseja módulos e funções definidos apenas, "use" o arquivo. Para garantir que você possa usar os módulos, você deve colocá -los no diretório atual do seu modelo ou em um dos caminhos de pesquisa.

Primeiro, vejamos alguns que você pode baixar e usar.

Parafusos

No pacote da seção anterior, você pode encontrar muitas coisas. Um grupo é parafusos! Você pode experimentá -los carregando -os no aplicativo e chamando o módulo. Na biblioteca MCAD, você pode encontrar muitos parafusos. Existem muitas outras coleções de outras fontes. Para usar um parafuso, crie um arquivo que contenha a declaração de inclusão para o módulo que você precisa. Agora, em qualquer lugar que você queira usar o módulo, você pode usar o nome do módulo para criar seu parafuso.

incluir ;
Ball_groove (12, 40, 2);

Este é um parafuso que pode caber em uma bola. Você também pode encontrar NUTS_AND_BOLTS_SCAD, que define parafusos e parafusos métricos. Os designers usaram um site onde você pode encontrar parafusos e criar um método para você usar. Outro exemplo é um buraco para um parafuso.

incluir
diferença()
cubo ([12,16,20], centro = true);
Traduzir ([0,0, -3])
Bolthole (8, comprimento = 300);

O código acima cria um orifício grande o suficiente para o parafuso M8, este exemplo cria um cubo e corta dois cilindros de dois tamanhos. Isso não é muito complicado, mas a complexidade cresce rapidamente quando você usa outros componentes. Adicione os parafusos às caixas paramétricas e você pode ver como uma biblioteca ajuda.

Fazendo um carrinho

Para fazer qualquer construção de qualquer complexidade, você precisará fazer uma peça de cada vez. Mais tarde, você os combina uns com os outros. Como mencionamos anteriormente, você pode usar módulos e funções. A melhor maneira de começar é decidir onde você precisa definir variáveis. Para um carrinho simples, você precisa de altura, distância entre eixos e comprimento. Você precisa definir os valores em um só lugar e usá -los para fazer as peças se encaixarem em torno do design. Você pode precisar de mais valores, mas não coloque todos eles quando começar. Quando você inicia um novo projeto, você não terá todas as peças prontas; portanto, esteja preparado para mudar as coisas.

distância entre eixos = 150;
CartLength = Wheelbase * 1.2;
Cartwidth = 50;
Wheeldiameter = 25;
suspensãoHeight = (Wheeldiameter/2) + 5;
Traduzir ([Wheelbase/2, Cartwidth, 0])
girar ([90,0,0])
cilindro (r = wheelradius, 10, centro = true);
Traduzir ([Wheelbase/2,-(Cartwidth), 0])
girar ([90,0,0])
cilindro (r = wheelradius, 10, centro = true);

O código mostra o código para as duas primeiras rodas. Se você pensar um pouco sobre isso, provavelmente pode fazer as rodas traseiras. Para adicionar a crise, a superfície onde tudo vai, basta adicionar um cubo. Use as variáveis ​​que você coloca no código.

Traduzir ([0, 0, SuspensionHeight])
cubo ([Lenglen, Cartwidth, 10], centro = true);

Porém, essa crise está na mesma altura que as rodas, então cuidamos disso com o valor da altura da suspensão. A declaração traduzida afeta o que está diretamente depois dela. Observe que não há semi-colon no final de uma linha. Quando as declarações internas se tornam longas, você usa aparelhos encaracolados ao redor.

Agora, você precisa adicionar eixos e suspensão. Os eixos podem ser cilindros simples que vão entre as rodas. Você os coloca da mesma maneira que você fez as rodas usando girar e traduzir. De fato, o melhor é usar os mesmos valores.

Traduzir ([Wheelbase/2,0,0])
girar ([90,0,0])
cilindro (r = wheelradius * 0.25, h = (Cartwidth * 2) + 15, centro = true);

O código aqui coloca o eixo frontal no lugar. O eixo traseiro, eu deixo o leitor para descobrir. Podemos resolver a suspensão de várias maneiras. Nesse caso, vamos simplificar.

// suspensão
Traduzir ([Wheelbase/2, 0, SuspensionHeight])
girar ([90,0,0])

diferença()
cilindro (r = suspensãoHeight, 10, centro = true);
cilindro (r = suspensãoHeight - 5, 11, centro = true);
cubo ([102, suspensãoHeight/6, 12], centro = true);

traduzir ([suspensãoHeight, 0, 0])
cilindro (r = suspensãoHeight/3, h = 12, centro = true);
traduzir ([-suspensãoHeight, 0, 0]))
cilindro (r = suspensãoHeight/3, h = 12, centro = true);

Este código cria uma suspensão muito grosseira; Ele usa apenas cilindros, por isso não será o melhor quando você começar a usá -lo. Ele ilustra uma maneira de criar desenhos formam os primitivos; cilindro, cubo e bem, é isso para este modelo. À medida que avança, você fará de cada peça um módulo e colocará essas peças.

Bibliotecas

Na parte anterior, você usou apenas círculos. Quaisquer designs usando apenas essas primitivas não serão as melhores para todas as aplicações. Você precisa criar designs bonitos e eficientes. A solução é matemática! Para acrescentar isso, você deve começar usando as bibliotecas de outras pessoas.

Há um grande número de bibliotecas construídas por pessoas inteligentes na comunidade. As pessoas que constroem são usuários que resolvem seus problemas e depois graciosamente compartilharam com todos os outros. Obrigado a todos vocês! Um bom exemplo é o DotScad; Para o exemplo da suspensão, você pode encontrar uma curva Bézier.

Exportando para outro software

Depois de ter um design decente, você pode usá -lo em outro software. Você pode exportar para STL, DWG e uma série de outros formatos. Seus entusiastas de impressão 3D podem usar os arquivos STL diretamente em seus programas de fatia.

Alternativas

Outra alternativa emocionante é implícita. Este software está muito em desenvolvimento. Você tem que executar sua linha de comando e requer Haskell em seu sistema. A maioria das instalações padrão não tem Haskell!

Conclusão

A princípio, olhar, usando o OpenScad é muito difícil. Superar a curva de aprendizado é um pouco difícil, mas vale a pena para muitos usuários. Graças aos projetos para contribuir com o projeto. Você tem muitos recursos disponíveis no final de um comando git. Apenas passando pelo básico da criação de projetos mecânicos através de mudanças de código da maneira como você pensa em formas. Isso é benéfico, mesmo que você continue usando o ponto e o clique para fazer seus outros projetos.

  • https: // www.OpenScad.org/documentação.html?versão = 2019.05
  • http: // edutechwiki.Unige.CH/EN/OPENSCAD_BEGINNERS_TUTORIAL
  • https: // www.OpenScad.Org/Cheatsheet/Index.html