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
Mensagem pronta para colar
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-scriptsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/freecad-scripts/SKILL.md -o SKILL.mdConteú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
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC