Pular para o conteúdo
Skillpedia
Código em geral40 mil · #5152

freecad-scripts

Permite ao agente criar modelos 3D complexos no FreeCAD. Ele pode escrever scripts para automatizar tarefas de design e criar objetos paramétricos.

O que ela faz

Esta ferramenta ajuda você a criar scripts em Python para o programa de modelagem 3D FreeCAD. Ela transforma suas descrições de modelos 3D em código que o FreeCAD entende.

Quando usar

  • ✓Quando você quer criar uma peça 3D complexa no FreeCAD.
  • ✓Quando você precisa automatizar tarefas repetitivas de modelagem.
  • ✓Quando você quer adicionar novas funcionalidades ao FreeCAD.

Exemplo do que pedir para a IA

“Crie um script Python para o FreeCAD que faça uma caixa de 10x20x30mm e adicione um furo cilíndrico de 5mm de diâmetro no centro.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/github/awesome-copilot/blob/main/skills/freecad-scripts/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/freecad-scripts/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você descreve o que quer modelar em 3D, e a ferramenta usa a linguagem Python e as funções específicas do FreeCAD para gerar o código. Esse código é então executado dentro do FreeCAD para criar o modelo.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add github/awesome-copilot --skill freecad-scripts

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/freecad-scripts/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Scripts do FreeCAD

Habilidade especializada para gerar scripts Python de qualidade de produção para o aplicativo CAD FreeCAD. Interpreta abreviações, pseudocódigo e descrições em linguagem natural de tarefas de modelagem 3D e as traduz em chamadas corretas da API Python do FreeCAD.

Quando Usar Esta Habilidade

  • Escrever scripts Python para o console embutido do FreeCAD ou sistema de macros
  • Criar ou manipular geometria 3D (Part, Mesh, Sketcher, Path, FEM)
  • Construir objetos FeaturePython paramétricos com propriedades personalizadas
  • Desenvolver ferramentas de GUI usando PySide/Qt dentro do FreeCAD
  • Manipular o scenegraph do Coin3D via Pivy
  • Criar workbenches personalizados ou Gui Commands
  • Automatizar operações CAD repetitivas com macros
  • Converter entre representações de malha (mesh) e sólida
  • Scriptar análises FEM, raytracing ou exportações de desenho

Pré-requisitos

  • FreeCAD instalado (0.19+ recomendado; 0.21+/1.0+ para a API mais recente)
  • Python 3.x (incluído com o FreeCAD)
  • Para trabalho de GUI: PySide2 (incluído com o FreeCAD)
  • Para scenegraph: Pivy (incluído com o FreeCAD)

Ambiente Python do FreeCAD

O FreeCAD incorpora um interpretador Python. Os scripts são executados em um ambiente onde estes módulos chave estão disponíveis:

import FreeCAD          # Core module (also aliased as 'App')
import FreeCADGui       # GUI module (also aliased as 'Gui') — only in GUI mode
import Part             # Part workbench — BRep/OpenCASCADE shapes
import Mesh             # Mesh workbench — triangulated meshes
import Sketcher         # Sketcher workbench — 2D constrained sketches
import Draft            # Draft workbench — 2D drawing tools
import Arch             # Arch/BIM workbench
import Path             # Path/CAM workbench
import FEM              # FEM workbench
import TechDraw         # TechDraw workbench (replaces Drawing)
import BOPTools         # Boolean operations
import CompoundTools    # Compound shape utilities

O Modelo de Documento do FreeCAD

# Create or access a document
doc = FreeCAD.newDocument("MyDoc")
doc = FreeCAD.ActiveDocument

# Add objects
box = doc.addObject("Part::Box", "MyBox")
box.Length = 10.0
box.Width = 10.0
box.Height = 10.0

# Recompute
doc.recompute()

# Access objects
obj = doc.getObject("MyBox")
obj = doc.MyBox  # Attribute access also works

# Remove objects
doc.removeObject("MyBox")

Conceitos Principais

Vetores e Posicionamentos (Placements)

import FreeCAD

# Vectors
v1 = FreeCAD.Vector(1, 0, 0)
v2 = FreeCAD.Vector(0, 1, 0)
v3 = v1.cross(v2)          # Cross product
d = v1.dot(v2)              # Dot product
v4 = v1 + v2                # Addition
length = v1.Length           # Magnitude
v_norm = FreeCAD.Vector(v1)
v_norm.normalize()           # In-place normalize

# Rotations
rot = FreeCAD.Rotation(FreeCAD.Vector(0, 0, 1), 45)  # axis, angle(deg)
rot = FreeCAD.Rotation(0, 0, 45)                       # Euler angles (yaw, pitch, roll)

# Placements (position + orientation)
placement = FreeCAD.Placement(
    FreeCAD.Vector(10, 20, 0),    # translation
    FreeCAD.Rotation(0, 0, 45),   # rotation
    FreeCAD.Vector(0, 0, 0)       # center of rotation
)
obj.Placement = placement

# Matrix (4x4 transformation)
import math
mat = FreeCAD.Matrix()
mat.move(FreeCAD.Vector(10, 0, 0))
mat.rotateZ(math.radians(45))

Criando e Manipulando Geometria (Módulo Part)

O módulo Part encapsula o OpenCASCADE e fornece modelagem sólida BRep:

import FreeCAD
import Part

# --- Formas Primitivas ---
box = Part.makeBox(10, 10, 10)               # comprimento, largura, altura
cyl = Part.makeCylinder(5, 20)               # raio, altura
sphere = Part.makeSphere(10)                  # raio
cone = Part.makeCone(5, 2, 10)               # r1, r2, altura
torus = Part.makeTorus(10, 2)                 # raio_maior, raio_menor

# --- Fios (Wires) e Arestas (Edges) ---
edge1 = Part.makeLine((0, 0, 0), (10, 0, 0))
edge2 = Part.makeLine((10, 0, 0), (10, 10, 0))
edge3 = Part.makeLine((10, 10, 0), (0, 0, 0))
wire = Part.Wire([edge1, edge2, edge3])

# Círculos e arcos
circle = Part.makeCircle(5)                   # raio
arc = Part.makeCircle(5, FreeCAD.Vector(0, 0, 0),
                       FreeCAD.Vector(0, 0, 1), 0, 180)  # ângulo inicial/final

# --- Faces ---
face = Part.Face(wire)                        # A partir de um fio fechado

# --- Sólidos a partir de Faces/Fios ---
extrusion = face.extrude(FreeCAD.Vector(0, 0, 10))       # Extrusão
revolved = face.revolve(FreeCAD.Vector(0, 0, 0),
                         FreeCAD.Vector(0, 0, 1), 360)    # Revolução

# --- Operações Booleanas ---

…
Perguntas frequentes

O que é FreeCAD?

FreeCAD é um programa gratuito e de código aberto para design 3D e engenharia. Ele é usado para criar modelos 3D de peças, arquitetura, e muito mais.

O que são scripts Python?

Scripts Python são conjuntos de instruções escritas na linguagem de programação Python. No FreeCAD, eles são usados para automatizar tarefas e criar modelos complexos.

Preciso saber programar em Python para usar?

Não necessariamente. Você pode descrever o que deseja em linguagem natural, e a ferramenta criará o script Python para você.

Detalhes

Descrição original do autor

Expert skill for writing FreeCAD Python scripts, macros, and automation. Use when asked to create FreeCAD models, parametric objects, Part/Mesh/Sketcher scripts, workbench tools, GUI dialogs with PySide, Coin3D scenegraph manipulation, or any FreeCAD Python API task. Covers FreeCAD scripting basics, geometry creation, FeaturePython objects, interface tools, and macro development.

repo: github/awesome-copilot

Popularidade

Estrelas no GitHub
40 mil
Posição no ranking
#5152
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas