TL;DR
FreeCAD e OpenSCAD são ferramentas CAD gratuitas e open source que permitem projetar peças 3D via interface visual ou código puro. Para solopreneurs com impressora 3D, o diferencial não é só “economizar no software” — é tratar design como código: versionável, automatizável, escalável por customização em lote. Este artigo mostra o fluxo prático das duas ferramentas, quando usar cada uma, e como fechar o ciclo transformando modelos em receita.

Por que CAD open source muda o jogo para quem tem impressora 3D

Você comprou a impressora 3D, instalou o slicer, imprimiu o Benchy de praxe, e agora está olhando para a máquina pensando: “e agora, o que eu faço com isso?”

Baixar modelos prontos do Printables ou Thingiverse funciona para uso pessoal, mas não constrói nenhum negócio. A oportunidade real está em criar os seus próprios modelos — especialmente modelos parametrizados, onde o cliente pede “quero com 5cm de altura e o meu nome gravado” e você entrega em minutos, não horas.

O problema é que o software CAD profissional — SolidWorks, Fusion 360 com plano pago, Rhino — custa caro e trava você em ecossistemas fechados. Para um solopreneur operando com margem apertada, isso é um obstáculo real.

FreeCAD e OpenSCAD resolvem isso de formas distintas. E, dependendo do seu perfil, um vai se encaixar melhor que o outro. Mas o conceito central é o mesmo: design como código significa versionamento, automação e escala via customização. Você não está apenas desenhando peças — está construindo um sistema que pode gerar variações sob demanda.

Se você ainda está mapeando o ecossistema de ferramentas gratuitas para solopreneurs técnicos, vale ler Ferramentas Gratuitas para Solopreneurs antes de continuar.

[SCREENSHOT: interface FreeCAD com Part Design aberto, mostrando sketch ativo no plano XY]


FreeCAD: modelagem visual com superpoderes de automação

O que é e o que não é FreeCAD

FreeCAD é um modelador CAD 3D paramétrico open source. Suporta o fluxo de trabalho sketch-based que qualquer usuário de SolidWorks ou Fusion 360 vai reconhecer: você faz um esboço 2D, adiciona cotas, extrudida para 3D, adiciona features. A árvore de modelo mantém o histórico — mude uma cota, o modelo todo se atualiza.

O que FreeCAD não é: uma ferramenta polida e estável nas versões antigas. A versão 0.21 e anteriores tinham um problema histórico chamado “toponaming bug” — ao renomear arestas internamente durante operações, o modelo quebrava de forma silenciosa. Isso gerou uma reputação ruim que persiste em fóruns. A versão 1.0, lançada em novembro de 2024, resolveu esse problema de forma definitiva.

Recomendação direta: use FreeCAD 1.0+. Se alguém te mostrar um tutorial de FreeCAD com interface cinza escuro e advertências sobre instabilidade, ele está usando uma versão velha. Pule.

Fluxo de trabalho básico: sketch → extrude → parâmetros

O fluxo mínimo para criar uma peça funcional no FreeCAD segue este caminho:

  1. Crie um documento novo e entre no workbench Part Design
  2. Crie um Body (o contêiner da peça)
  3. Clique em New Sketch e escolha o plano XY
  4. No Sketcher, desenhe o perfil 2D com as ferramentas de linha, círculo, retângulo
  5. Adicione cotas (pressione D) para tornar o esboço totalmente definido — todas as linhas ficam verdes quando não há graus de liberdade soltos
  6. Saia do Sketcher e aplique Pad (extrusão) com a profundidade desejada
  7. Adicione mais features: filetes, chanfros, furos com o Hole feature

O ponto crítico está no passo 5. Um sketch não totalmente definido vai se comportar de forma imprevisível quando você mudar parâmetros. Invista tempo nisso — é a fundação do design paramétrico.

Para tornar a peça verdadeiramente paramétrica, use a janela de Spreadsheet do FreeCAD:

  1. Vá em Workbench → Spreadsheet
  2. Crie uma planilha com células nomeadas: A1 = "largura", B1 = 50, A2 = "altura", B2 = 30
  3. No sketch, ao invés de digitar “50mm”, clique no campo da cota e vincule: =Spreadsheet.B1
  4. Salve o modelo

Agora, para gerar uma variação com 80mm de largura, você muda só B1 e o modelo todo atualiza. Isso é design paramétrico em prática.

[SCREENSHOT: FreeCAD com Spreadsheet aberta e fórmulas vinculadas nas cotas do sketch]

Automação com macros e scripts Python

FreeCAD tem um interpretador Python embutido. Você pode gravar macros via Macro → Record Macro, ou escrever scripts diretamente. O caso de uso mais direto para automação é: gerar múltiplas variações de um modelo de forma programática.

O script abaixo assume que você tem um modelo com uma Spreadsheet configurada como descrito acima. Ele itera sobre uma lista de larguras, atualiza o parâmetro e exporta cada variação como .step:

# Script FreeCAD: gerar variações parametrizadas e exportar para STEP
# Compatível com FreeCAD 1.0+
# Execute via: Macro → Macros → Executar

import FreeCAD
import Import  # módulo para exportação STEP

# Abre o documento (ajuste o caminho)
doc = FreeCAD.openDocument("/home/usuario/modelos/suporte_parede.FCStd")

# Acessa a planilha de parâmetros
planilha = doc.getObject("Planilha")

# Lista de larguras a gerar (em milímetros)
larguras = [40, 60, 80, 100, 120]

for largura in larguras:
    # Atualiza o parâmetro na planilha
    planilha.set("B1", str(largura))

    # Força recomputação do modelo
    doc.recompute()

    # Nome do arquivo de saída
    nome_arquivo = f"/home/usuario/exports/suporte_{largura}mm.step"

    # Exporta a Shape do Body para STEP
    # getObject("Body") deve corresponder ao nome do seu Body no modelo
    shape = doc.getObject("Body").Shape
    Import.export([shape], nome_arquivo)

    print(f"Exportado: {nome_arquivo}")

print("Concluído.")

Nota importante: o script acima requer que FreeCAD esteja rodando com GUI (modo normal), não headless. O modo sem interface (--console) tem limitações na v1.0 para modelos Part Design. Para automação em lote real, o caminho mais confiável ainda é rodar via interface com o script na janela Python Console, ou usar o CLI com scripts simples de Part sem features complexas.

Para quem nunca tocou em Python, este script é simples: uma lista, um loop, uma atualização de célula, um export. Não há nada de complicado além da instalação do FreeCAD em si.


OpenSCAD: quando o design é puro código

A lógica de CSG (Constructive Solid Geometry)

OpenSCAD funciona de forma radicalmente diferente do FreeCAD. Não existe interface de modelagem direta. Você escreve código, e o software renderiza o resultado em 3D.

O modelo mental é CSG — Constructive Solid Geometry. Você começa com primitivas geométricas (cubos, cilindros, esferas) e combina usando operações booleanas: união (union), diferença (difference), interseção (intersection).

Isso tem uma implicação imediata: se você programa, vai aprender OpenSCAD em horas. Se você nunca programou, a curva vai ser mais inclinada — não porque o código é complexo, mas porque o modelo mental de “subtrair sólidos” é diferente de “desenhar uma peça”.

A vantagem que interessa ao solopreneur técnico: um arquivo .scad é texto puro. Vai para o Git sem friction, diff mostra exatamente o que mudou, e parâmetros são variáveis declaradas no topo do arquivo.

Primeiro modelo funcional

Este é um suporte para prateleira de parede com furo de fixação — peça funcional, simples, que você pode imprimir e vender:

// Suporte de parede parametrizado
// OpenSCAD: apenas mude os parâmetros no topo e pressione F5
// Parâmetros ajustáveis pelo cliente

largura = 80;         // mm — largura total do suporte
altura = 40;          // mm — altura da parede vertical
profundidade = 60;    // mm — comprimento da prateleira horizontal
espessura = 5;        // mm — espessura das paredes
diametro_furo = 4.5;  // mm — furo para parafuso M4 (com folga de 0.5mm)

// Tolerância recomendada para furos: adicionar 0.2-0.5mm ao diâmetro nominal
// Uma impressora bem calibrada com PLA geralmente precisa de +0.3mm

module suporte_parede() {
    difference() {
        // Corpo principal: L invertido (parede + prateleira)
        union() {
            // Parede vertical
            cube([largura, espessura, altura]);

            // Prateleira horizontal
            cube([largura, profundidade, espessura]);
        }

        // Furos de fixação na parede vertical
        // Dois furos centrados horizontalmente, distribuídos na altura
        for (pos_x = [largura * 0.25, largura * 0.75]) {
            translate([pos_x, -1, altura * 0.6]) {
                rotate([-90, 0, 0]) {
                    // O -1 e o espessura+2 garantem que o cilindro atravessa
                    // completamente a parede (evita artefatos de renderização)
                    cylinder(h = espessura + 2, r = diametro_furo / 2, $fn = 32);
                }
            }
        }
    }
}

// Chama o módulo para renderizar
suporte_parede();

Para renderizar: pressione F5 (preview rápido) ou F6 (renderização completa para exportar). Para exportar o .stl: File → Export → Export as STL.

Este código gera um suporte funcional. Mude largura = 120 e pressione F5 — você tem uma versão diferente sem redesenhar nada.

[GIF: parâmetro largura muda de 80 para 120 → novo modelo gerado em tempo real no preview do OpenSCAD]

Geração em lote com CLI

O OpenSCAD tem uma CLI que aceita override de variáveis diretamente na linha de comando. Isso é o que torna a automação em lote simples de verdade:

# Gera um .stl para cada variação de largura
# Substitua o caminho pelo seu arquivo .scad

for largura in 60 80 100 120 150; do
    openscad -o "suporte_${largura}mm.stl" \
             -D "largura=${largura}" \
             suporte_parede.scad
    echo "Gerado: suporte_${largura}mm.stl"
done

Execute isso no terminal (Linux/macOS) ou no WSL no Windows. Em menos de um minuto você tem 5 variações de produto prontas para fatiar e imprimir.

Para gerar variações com múltiplos parâmetros combinados:

# Gera combinações de largura x profundidade
for largura in 60 100; do
    for profundidade in 40 80; do
        openscad -o "suporte_${largura}x${profundidade}.stl" \
                 -D "largura=${largura}" \
                 -D "profundidade=${profundidade}" \
                 suporte_parede.scad
    done
done
# Resultado: 4 variações (suporte_60x40.stl, suporte_60x80.stl, etc.)

Este é o ponto central do artigo: você não está gerando um arquivo STL por vez. Você está gerando um catálogo. Quatro linhas de shell script, quatro produtos.


FreeCAD vs OpenSCAD — qual usar para o seu caso

CritérioFreeCADOpenSCAD
Curva de aprendizadoModerada (interface visual, mas conceitos CAD)Alta para quem não programa; baixa para devs
Fluxo de trabalhoSketch → features → tree modelCódigo → CSG → render
Peças orgânicas / curvas complexasMelhor suporte (Splines, Loft, Sweep)Limitado sem bibliotecas externas
ParametrizaçãoVia Spreadsheet vinculadaVariáveis nativas no código
Automação em loteScript Python (requer GUI ou setup específico)CLI nativa, trivial de automatizar
Controle de versãoArquivo binário .FCStd (comprimível para diff)Texto puro, diff nativo no Git
Exportação para STLNativaNativa
EstabilidadeExcelente na v1.0+, problemática antesConsistente, mas evolui lentamente
Comunidade/bibliotecasGrande, ativaMenor, mas MCAD/BOSL2 são excelentes

Recomendação por perfil:

  • Você é desenvolvedor e pensa em loops, variáveis e funções: comece pelo OpenSCAD. A CLI para automação é imbatível, e o modelo mental de código vai fazer sentido imediato.
  • Você é maker ou designer com experiência em softwares CAD visuais (Fusion 360, SketchUp, até AutoCAD): FreeCAD vai ser mais natural. A curva está em aprender os workbenches, não em mudar o modelo mental.
  • Você quer fazer peças funcionais simples (suportes, encaixes, caixas, adaptadores) e vender em volume: OpenSCAD + CLI. Geração em lote com mínimo atrito.
  • Você quer fazer peças complexas com geometria orgânica (peças mecânicas com sweep, superfícies curvas, designs artísticos): FreeCAD. OpenSCAD vai lutar contra você.
  • Você quer máxima automação e customização sob demanda: OpenSCAD para gerar o .stl, FreeCAD para validar visualmente peças mais complexas.

Não existe resposta errada — existem ferramentas certas para casos de uso diferentes.


O ciclo design → teste → iteração → venda

Aqui é onde o romantismo do “imprima e venda” começa a encontrar realidade.

[DIAGRAMA: ciclo design→teste→iteração→venda com tempos estimados em cada etapa]

O ciclo real de uma peça funcional — não decorativa, mas com tolerâncias que importam — é este:

  1. Design (2–8 horas para iniciantes, 30min–2h para quem já domina a ferramenta)
  2. Fatiamento (15–30 minutos no Cura ou PrusaSlicer para configurar corretamente)
  3. Impressão (de 30 minutos a 8+ horas dependendo do tamanho e infill)
  4. Teste funcional (imediato, mas se falhar, volta ao passo 1)
  5. Ajuste de tolerância (a iteração mais subestimada — cada impressora calibra diferente)
  6. Validação final (ao menos 2–3 impressões de confirmação antes de publicar)

Um ciclo completo de design→validação realista para uma peça funcional nova leva 3–7 dias. Não horas. Se você já tem experiência e está iterando sobre um design existente, pode ser 1–2 dias.

O gap de tolerância é o maior culpado de frustração. Um furo de 4mm no CAD pode sair 3.7mm ou 4.3mm na impressora dependendo de calibração, temperatura, velocidade e tipo de filamento. PLA com infill 15% para peças decorativas é diferente de PETG com infill 40% para peças que suportam carga.

Antes de publicar qualquer modelo para venda, imprima pelo menos 3 vezes em condições diferentes. Documente os ajustes de tolerância no arquivo. Se o arquivo STL vai para o cliente imprimir, inclua uma nota técnica com as configurações de impressão usadas.

A boa notícia: uma vez que a peça está validada, a variação paramétrica é rápida. Você não está mais iterando o design base — só os parâmetros. Um suporte validado em 80mm que precisa de uma versão em 120mm pode ser testado numa impressão de confirmação de 2 horas, não em um ciclo de dias.

Para validar se há mercado antes de investir semanas de iteração, o artigo Como Validar uma Ideia de Produto Digital cobre o processo em detalhe.


Como transformar modelos 3D em fonte de receita

Há 3 formas principais, com perfis de esforço e retorno distintos.

1. Vender arquivos .STL

O cliente paga, recebe o arquivo, imprime em casa ou numa bureau de impressão. Você vende uma vez, entrega infinitas vezes.

Onde vender:

  • Cults3D: marketplace estabelecido, forte em modelos decorativos e funcionais. Comissão de 20% sobre vendas.
  • MyMiniFactory: forte em modelos licenciados, tem programa Tribe para criadores com assinantes. Comissão de 10–15%.
  • Printables: plataforma da Prusa, crescendo rápido, tem sistema de pontos para modelos gratuitos mas também venda paga.
  • Gumroad / Lemon Squeezy: para quem quer controle total e evitar comissão de marketplace. Você faz a distribuição.
  • Ko-fi: bom para modelos com comunidade já existente.

Faixa de preços praticados:

  • Modelos simples (peças únicas, utilitários): USD 1–5
  • Modelos complexos ou kits: USD 5–15
  • Arquivos paramétricos com documentação: USD 10–25
  • Packs temáticos: USD 8–20

A matemática da venda de arquivos é direta: sem custo de material, sem custo de envio. O custo é o tempo de design e a comissão da plataforma. Para modelos que vendem bem, o retorno por hora de trabalho pode ser razoável — mas a maioria dos modelos vende pouco. O segredo é volume: 50 modelos com 10 vendas cada a USD 3 são USD 1.500 de receita com 50 arquivos.

Para um mapeamento completo das plataformas de venda de ativos digitais, incluindo estrutura de comissões e público de cada uma, leia Onde Vender Ativos Digitais.

2. Vender peças impressas sob demanda

Você imprime, empacota e envia. Margem real depende de:

  • Custo de filamento PLA básico: estimado em R$ 0,10–0,15 por grama (variável conforme marca e cotação)
  • Uma peça média de 50g: custo de filamento em torno de R$ 5–8
  • Tempo de impressão: 2 horas numa peça média = custo de energia + desgaste de máquina estimado em R$ 2–4
  • Embalagem e envio: R$ 8–20 dependendo da região e transportadora
  • Custo total realista: R$ 15–32 por peça simples

Preços praticados no Brasil para peças impressas sob demanda (nichos funcionais, não decorativos): R$ 40–150 dependendo da complexidade e nicho. Margem bruta de 50–70% é alcançável.

O ponto de atenção: escalar impressão sob demanda com uma máquina é limitante. Uma impressora com 8h de operação por dia tem capacidade finita. Para escalar além disso, você precisa de mais máquinas ou de terceirizar impressão (bureau de impressão 3D). A automação do design — via parâmetros — não resolve o gargalo físico da produção.

Este modelo funciona melhor como receita complementar ou para nichos de alta margem (peças técnicas, protótipos, customizações industriais) do que como negócio de volume.

3. Serviços de design CAD

O modelo mais subestimado. Pequenas empresas e makers individuais frequentemente precisam de uma peça específica projetada para impressão 3D — um adaptador, uma peça de reposição, um protótipo — e não têm o conhecimento de CAD para fazer.

Você cobra pelo design. O cliente imprime onde quiser.

Tabela de referência para freelance CAD (valores em USD, para trabalho remoto internacional):

  • Peça simples com 1–2 features: USD 30–80
  • Conjunto de peças (2–5 partes) com encaixes: USD 100–250
  • Modelo com documentação técnica e tolerâncias anotadas: USD 150–350
  • Revisão e adaptação de modelo existente: USD 25–80

O OpenSCAD tem uma vantagem específica aqui: você pode entregar o arquivo .scad com parâmetros documentados, e o cliente pode fazer ajustes simples sem voltar para você. Isso é diferenciador — especialmente para clientes que vão precisar de variações ao longo do tempo.


Automatizando o workflow com ferramentas de suporte

Design como código não existe em isolamento. O workflow completo precisa de suporte.

Controle de versão com Git:

Para arquivos OpenSCAD (texto puro), Git funciona perfeitamente. Crie um repositório por projeto ou por coleção de modelos relacionados:

git init meus-modelos-3d
cd meus-modelos-3d
git add suporte_parede.scad
git commit -m "feat: suporte parede v1 - largura/altura parametrizaveis"

# Depois de uma iteração de tolerância:
git commit -m "fix: aumentar furo de parafuso de 4.0 para 4.3mm (PLA 0.4mm nozzle)"

O histórico de commits vira um log de iteração. Quando um cliente pede “a versão que funcionou em janeiro”, você tem isso.

Para FreeCAD, o .FCStd é um zip internamente. Você pode commitar, mas o diff não vai ser legível. Uma alternativa: commitar o .FCStd + exportar um .step a cada versão estável, que serve como artefato rastreável.

Slicer como etapa de validação:

Antes de declarar um modelo finalizado, abra no PrusaSlicer ou Cura e verifique:

  • Manifold check (o modelo é watertight? Não tem faces abertas?)
  • Layer preview — peças com paredes finas demais vão aparecer aqui
  • Suporte necessário — mais suporte = mais pós-processamento = mais tempo para o cliente

O PrusaSlicer tem um validador embutido que aponta geometrias problemáticas.

Organização de arquivos:

modelos-3d/
├── suportes/
│   ├── suporte_parede/
│   │   ├── suporte_parede.scad       # fonte editável
│   │   ├── suporte_parede_80mm.stl   # versão publicada
│   │   ├── suporte_parede_100mm.stl  # variação publicada
│   │   └── README.md                 # parâmetros, tolerâncias, material testado
│   └── suporte_monitor/
├── ferramentas/
│   ├── generate_variations.sh        # script de geração em lote
│   └── validate_stl.py              # validação de manifold via admesh
└── vendidos/
    └── pedidos/                      # rastreamento de pedidos customizados

O README.md dentro de cada modelo é subestimado. Documente: versão testada, material usado, nozzle, temperatura, infill. Quando o modelo voltar com um problema 6 meses depois, esse arquivo economiza 2 horas de caça ao problema.


Próximo passo: como começar hoje

Se você chegou até aqui e quer testar, este é o plano mínimo para as próximas 48 horas:

Dia 1 — Setup e primeiro modelo (3–4 horas):

  1. Baixe e instale FreeCAD 1.0+ em freecad.org ou OpenSCAD em openscad.org (ambos gratuitos)
  2. Se escolheu OpenSCAD: copie o código do suporte de parede deste artigo, cole no editor, pressione F5. Se gerou o modelo, você já está operando a ferramenta
  3. Se escolheu FreeCAD: siga o fluxo sketch → pad documentado acima para criar um cubo com furo. Simples, mas vai exercitar os conceitos
  4. Exporte para .stl e abra no PrusaSlicer (gratuito) para ver o modelo fatiado

Dia 2 — Parametrização e primeira variação (2–3 horas):

  1. Adicione parâmetros ao seu modelo (variáveis no OpenSCAD, Spreadsheet no FreeCAD)
  2. Gere 3 variações diferentes sem redesenhar nada
  3. Se tiver impressora: imprima a menor variação, avalie a qualidade
  4. Se não tiver impressora: poste o .stl no Printables como modelo gratuito — é a forma mais rápida de receber feedback da comunidade antes de monetizar

Semana 1 — Ciclo completo:

  1. Escolha um nicho específico para o primeiro modelo vendável (suportes para desk setup, organizadores de cozinha, adaptadores para câmeras, peças de reposição)
  2. Pesquise o que já existe no Cults3D — identifique um gap ou uma versão melhor
  3. Projete, imprima, itere
  4. Publique no Cults3D ou MyMiniFactory com fotos reais da peça impressa

A foto real da peça impressa converte melhor do que renders 3D. Não pule essa etapa.


Perguntas frequentes

FreeCAD roda no Windows? Sim. Versão nativa para Windows, macOS e Linux. Download em freecad.org. Recomenda-se a v1.0 — é a primeira release com o nome de versão estável e resolve os problemas históricos de estabilidade.

OpenSCAD e FreeCAD podem ser usados juntos? Sim, e frequentemente faz sentido. Projete em OpenSCAD para ter o arquivo parametrizado em texto puro, exporte para .step ou .stl, e abra no FreeCAD para inspecionar geometria complexa ou adicionar features que seriam trabalhosas em código puro.

Qual filamento usar para peças funcionais? PLA para peças decorativas e protótipos. PETG para peças que precisam de resistência mecânica, flexibilidade leve e contato com umidade. ABS para resistência a temperatura alta (acima de 60°C) — mas requer impressora fechada e ventilação. Para iniciantes: PETG de boa qualidade resolve 80% dos casos funcionais.

Dá para fazer isso sem impressora própria? Sim. Você projeta os modelos, vende os arquivos .stl, e o cliente imprime. Ou usa um bureau de impressão (Make it Real, 3DHub, ou serviços locais) para imprimir sob demanda quando recebe pedidos. Ter a própria impressora acelera o ciclo de iteração, mas não é obrigatório para começar.

Quanto tempo até a primeira venda? Depende do modelo e da plataforma. No Cults3D, modelos novos têm visibilidade inicial pelo “recently uploaded” — mas a maioria das vendas vem de SEO orgânico ao longo do tempo. Estimativa realista: 2–4 semanas para a primeira venda num modelo bem fotografado e descrito, em nicho com demanda. Modelos genéricos demoram mais.

FreeCAD abre arquivos do Fusion 360 ou SolidWorks? Parcialmente. FreeCAD importa .step, .iges, .stl e outros formatos neutros. Não importa formatos proprietários .f3d (Fusion) ou .sldprt (SolidWorks) diretamente. O caminho é exportar do software original para .step e importar no FreeCAD — funciona bem para geometria, mas perde o histórico de features.

O modelo paramétrico que eu projeto pode ser copiado depois de publicado? Se você vende o .stl, o cliente tem a geometria mas não os parâmetros. Para proteger o design parametrizado, venda o .stl compilado, não o .scad ou .FCStd. Se quiser vender o arquivo fonte (editável pelo cliente), precifica como um produto diferente, com preço maior.