cafajeste

tutorial openSCAD

tutorial openSCAD
Fazer uma peça 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.

Os métodos CAD 3D permitem que você veja a peça inteira como ela é. Você também pode girar e girar. Em software avançado, você também pode simular 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ê quiser fazer formas mais complexas, pode precisar de métodos matemáticos.

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

O que torna o openSCAD tão especial?

No openSCAD, você não desenha nada com o 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 da precisão. Quando você o projeta com código, você tem a precisão lá no código.

O recurso mais poderoso do openSCAD são as operações binárias. Você pode usar operadores binários para juntar 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 outro software CAD, mas é natural usá-las no openSCAD.

Quais são as necessidades do seu projeto?

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

Em suma, se você deseja criar pequenas peças com formas complexas, você deve tentar o openSCAD. Para equipamentos completos e sistemas mecânicos, você deseja usar aplicativos gráficos mais avançados. Dito isso, é tudo uma questão de gosto. Você pode criar formas complicadas apenas com código, você consideraria codificar um carro inteiro?

Instalando

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. O interessante é que você também tem um segundo pacote que inclui parafusos, engrenagens e formas genéricas. O pacote mais recente está no openscad-nightly snap.

sudo apt install openscad
sudo snap install openscad-nightly

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

sudo apt install openscad-mcad

Usar as peças incluídas é outro assunto, abordado mais adiante.

Vários formatos 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írculo, quadrado e polígono para 2D. Para 3D, você tem uma esfera, cubo, cilindro e poliedro. Usando 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 processamento posterior, você pode usar o comando de projeção. Este comando corta uma forma 3D ao longo de um plano para que você possa transferi-la para um desenho. Você também pode adicionar formas de outros programas ou mesmo imagens, usando o comando de importação. Isso também funciona com formas 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 se sobreponham. Depois de ter várias formas, você quer colocá-las no lugar certo e girá-las. Essas funções são simples, traduzir coloca o objeto em outro lugar. O comando de rotação gira o objeto ou objetos filhos. Você também tem a função de espelho, que cria uma cópia do objeto espelhado em torno do eixo dado.

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

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

A operação de Minkowski é geralmente usada para criar arestas; se você os quiser arredondados, 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 várias formas em uma única forma. Você usa operadores booleanos para fazer isso. Eles são união, diferença e intersecção.

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

No código acima, você obtém 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 = verdadeiro);
cilindro (h = 15, r1 = 25, r2 = 25, centro = verdadeiro);

À medida que avançamos, você usará estes e mais. Aqui está um exemplo de interseção.

interseção()

girar ([45,0.0])
cilindro (h = 40, r = 4, centro = verdadeiro);
traduzir (5,5,5)
cilindro (h = 40, r = 6, centro = verdadeiro);

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

For Loops

Muitos de seus projetos 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 elas. Neste caso, você faz uma prancha e apenas itera sobre ela com um loop for.

gap = 8;
largura_placa = (largura_da_cama / 4) - lacuna;
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 traduzir as instruções quatro vezes. Você também teria que calcular o quão longe a próxima prancha iria. Mesmo com apenas quatro peças, esta solução parece muito mais fácil. No exemplo, você também pode ver as 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 pensar neles como valores em outras linguagens de programação. Como você verá mais tarde, você também pode transformar todo o pátio em 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, arredondamento 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 linha reta de cilindros de alturas diferentes. As principais funções estão ligadas à trigonometria. No entanto, com funções de arredondamento aleatórias 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 ir muito longe. No entanto, eles não cobrem tudo 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 encontrará MCAD, também chamado de 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 isso é apenas o começo. Falta 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 deles. A melhor maneira de criar um módulo é fazer 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. Uma vez que muitos módulos vêm em arquivos separados, você deve colocar uma instrução de inclusão no topo do seu arquivo. Preste atenção à diferença entre a declaração "incluir" e a declaração "usar". Se você deseja que tudo em um arquivo seja executado, você "inclui", se deseja apenas módulos e funções definidas, "use" o arquivo. Para ter certeza de que pode usar os módulos, você deve colocá-los no diretório atual do seu modelo ou em um dos caminhos de busca.

Primeiro, vamos ver alguns que você pode baixar e usar.

Parafusos

No pacote da seção anterior, você pode encontrar muitas coisas. Um grupo são 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 instruçã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 encaixar 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 criaram um método para você usar. Outro exemplo é um furo para um parafuso.

incluir
diferença()
cubo ([12,16,20], centro = verdadeiro);
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ê 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. Como mencionamos anteriormente, você pode usar módulos e funções. A melhor maneira de começar é decidir onde você precisa definir as variáveis. Para um carrinho simples, você precisa de altura, distância entre eixos e comprimento. Você precisa definir os valores em um lugar e usá-los para fazer as peças se ajustarem ao design. Você pode precisar de mais valores, mas não coloque todos eles quando começar. Ao iniciar um novo projeto, você não terá todas as peças prontas, então esteja preparado para mudar as coisas.

distância entre eixos = 150;
comprimento do carrinho = distância entre eixos * 1.2;
largura do carrinho = 50;
diâmetro da roda = 25;
altura da suspensão = (diâmetro da roda / 2) + 5;
traduzir ([distância entre eixos / 2, largura do carrinho, 0])
girar ([90,0,0])
cilindro (r = raio da roda, 10, centro = verdadeiro);
translate ([distância entre eixos / 2, - (largura do carrinho), 0])
girar ([90,0,0])
cilindro (r = raio da roda, 10, centro = verdadeiro);

O código mostra o código para as duas primeiras rodas. Se você pensar um pouco sobre isso, você provavelmente pode fazer as rodas traseiras. Para adicionar o flak, a superfície onde todas as coisas vão, você apenas adiciona um cubo. Use as variáveis ​​que você colocou no código.

traduzir ([0, 0, altura de suspensão])
cubo ([comprimento do carro, largura do carro, 10], centro = verdadeiro);

Este flak está na mesma altura que as rodas, portanto, 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á ponto-e-vírgula no final de uma linha. Quando as declarações internas ficam longas, você usa chaves ao redor delas.

Agora, você precisa adicionar eixos e suspensão. Os eixos podem ser cilindros simples que vão entre as rodas. Você os posiciona da mesma forma que fez com as rodas, usando girar e transladar. Na verdade, o melhor é usar os mesmos valores.

traduzir ([distância entre eixos / 2,0,0])
girar ([90,0,0])
cilindro (r = raio da roda * 0.25, h = (largura do carrinho * 2) + 15, centro = verdadeiro);

O código aqui coloca o eixo dianteiro no lugar. O eixo traseiro, deixo ao leitor que descubra. Podemos resolver a suspensão de várias maneiras. Neste caso, vamos mantê-lo simples.

// Suspension
traduzir ([distância entre eixos / 2, 0, altura da suspensão])
girar ([90,0,0])

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

traduzir ([altura da suspensão, 0, 0])
cilindro (r = altura da suspensão / 3, h = 12, centro = verdadeiro);
traduzir ([- altura da suspensão, 0, 0])
cilindro (r = altura da suspensão / 3, h = 12, centro = verdadeiro);

Este código cria uma suspensão muito grosseira; ele só usa cilindros, então não será o melhor quando você começar a usá-lo. Ele ilustra uma maneira de criar designs a partir dos primitivos; cilindro, cubo e bem, é isso para este modelo. Conforme você avança, você fará de cada peça um módulo e colocará essas peças.

O código do carrinho está disponível em https: // github.com / matstage / Carriage! Novos desenvolvimentos podem vir mais tarde.

Bibliotecas

Na parte anterior, você usava apenas círculos. Quaisquer projetos que usem apenas essas primitivas não serão os melhores para todas as aplicações. Você precisa criar designs eficientes e de boa aparência. A solução é matemática! Para adicionar 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 criam são usuários que resolvem seus problemas e, em seguida, gentilmente os compartilham com todos os outros. Obrigado a todos vocês! Um bom exemplo é dotSCAD; para o exemplo de suspensão, você pode encontrar uma curva de Bézier.

Exportando para outro software

Depois de ter um design decente, você pode querer 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 segmentação.

Alternativas

Outra alternativa interessante é ImplicitCAD. Este software está 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

À primeira vista, usar 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. O simples fato de entender os fundamentos da criação de projetos mecânicos por meio do código muda a maneira como você pensa sobre as formas. Isso é benéfico mesmo se você continuar usando apontar e clicar 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
Remapeie os botões do mouse de maneira diferente para software diferente com o controle de botão do mouse X
Talvez você precise de uma ferramenta que possa fazer o controle do seu mouse mudar com cada aplicativo que você usa. Se for esse o caso, você pode ex...
Análise do mouse sem fio Microsoft Sculpt Touch
Recentemente li sobre o Microsoft Sculpt Touch mouse sem fio e decidi comprá-lo. Depois de usá-lo por um tempo, decidi compartilhar minha experiência ...
AppyMouse na tela Trackpad e ponteiro do mouse para tablets Windows
Os usuários de tablets costumam perder o ponteiro do mouse, especialmente quando costumam usar laptops. Os smartphones e tablets touchscreen vêm com m...