banner

blog

Jun 07, 2024

CadQuery atinge a maioridade

Agora, sabemos o que alguns de vocês dirão - “Cara, não é outra ferramenta CAD programática, o que há de errado com o OpenSCAD?” - e você pode estar certo, mas talvez espere um pouco e dê uma olhada neste, porque achamos que agora é incrível! OpenSCAD é ótimo, nós o usamos o tempo todo por aqui, mas é um pouco, você sabe, estranho em alguns lugares. Em seguida, vem o CadQuery e o surpreende em termos de facilidade de uso e funcionalidade. Agora, vimos algumas menções ao CadQuery ao longo dos anos e, finalmente, ele se tornou um conjunto de ferramentas completo por si só, completo com um frontend/editor gráfico, editor CQ. Nenhuma dependência estranha do FreeCAD pode ser vista! Dito isto, instalar o FreeCAD também não é uma coisa ruim.

O objetivo é fazer com que o script CadQuery que produz esse objeto seja o mais próximo possível da frase em inglês que um ser humano usaria.

Para quem ainda não viu, CadQuery é uma biblioteca python que permite criar modelos 3D e exportá-los como STL e também STEP, portanto, criar modelos para seu projeto KiCAD também é uma opção. Ao contrário do OpenSCAD, no entanto, o CadQuery é muito mais focado na intenção do design. A ideia é fazer com que o script python seja lido mais como uma descrição humana da forma de um objeto, em oposição a um monte de algoritmos que constroem um objeto a partir de operações booleanas diretas, todas relativas ao sistema de coordenadas global. CadQuery usa um modelo de associação relativa, onde as coisas são definidas em relação a outras coisas. Dos documentos:

CadQuery é diferente – você pode localizar recursos relativos a outros de maneira relativa – preservando a intenção do design, assim como um ser humano faria ao criar um desenho ou construir um objeto.

altura = 60,0 largura = 80,0 espessura = 10,0 diâmetro = 22,0 preenchimento = 12,0

# faça o resultado base = cq.Workplane("XY").box(altura, largura, espessura)\.faces(">Z").workplane().hole(diameter)\.faces(">Z"). plano de trabalho() \.rect(altura - preenchimento, largura - preenchimento,forConstruction=True)\.vertices()\.cboreHole(2.4, 4.4, 2.1)\.edges("|Z").fillet(2.0)

# Renderiza o solidshow_object(resultado)

# Exportcq.exporters.export(resultado,'result.stl')cq.exporters.export(resultado,'result.step')

Não estamos dizendo que o OpenSCAD é ruim, longe disso, é apenas diferente e, para algumas pessoas, o CadQuery será muito mais fácil de fazer o que você precisa. Precisa de um gabinete totalmente parametrizado para impressão 3D? Que tal um feito em apenas 47 linhas de código python? À medida que a complexidade do objeto aumenta, também aumenta o benefício da abordagem CadQuery. Existem alguns conceitos para aprender com a ferramenta, pois ela é bastante poderosa e oferece muitas maneiras de resolver problemas, mas achamos que o esforço valerá a pena. Se você não gosta do editor QC, não há problema, pois o CadQuery pode ser usado de forma independente com qualquer editor que você quiser, funciona até com o notebook Jupyter! Instalá-lo também não deve ser um problema, com compilações prontas disponíveis, mas dito isso, é uma instalação incrível, então esperamos que você tenha um espaço livre em disco!

Se você é um pensador mais visual e toda essa codificação o deixa indiferente, então você pode querer verificar este guia para modelagem paramétrica no FreeCAD, um guia semelhante para o fusion360, ou se você estiver muito bem aderindo ao OpenSCAD, obrigado -muito, então por que não aprimorar essas habilidades em OpenSCAD.

Obrigado [JohnU] pela dica!

COMPARTILHAR