Communitygithub.com

LTGOz/solidworks-agent-skill

Pacote de habilidades para agente de IA: modelagem paramétrica SolidWorks 2023 orientada por receitas JSON (esboço/extrusão/revolução/corte/filete/chanfro/montagem/múltiplas especificações GV) + asserções geométricas trimesh + verificação de fatiamento STL, com guia prático de armadilhas COM. Skill para ZCode/Claude Code.

O que é solidworks-agent-skill?

Este skill capacita agentes de IA (como Claude Code ou ZCode) a controlarem diretamente o SolidWorks 2023 para modelagem paramétrica automatizada, utilizando receitas JSON como entrada. O fluxo típico é: o agente recebe uma descrição textual de um objeto, gera uma receita JSON, e o skill executa a modelagem no SolidWorks via COM, salvando e exportando o resultado para formatos como STL, STEP ou PNG. O skill inclui um módulo de verificação geométrica programática (trimesh) que valida propriedades como volume, estanqueidade e caixa envolvente, além de um verificador DFM (Design for Manufacturing) com regras quantitativas para injeção plástica e impressão 3D. Ele funciona exclusivamente no Windows com SolidWorks 2023 em execução, utilizando pywin32 para comunicação COM, e já lida com diversas armadilhas conhecidas da API, como unidades em metros, parâmetros de funções específicas e variantes de associação tardia. O repositório inclui receitas de exemplo, um guia de receitas detalhado e um documento com todas as armadilhas COM enfrentadas durante o desenvolvimento, economizando tempo significativo para novos usuários.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add LTGOz/solidworks-agent-skill

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Modelagem Automatizada Nativa SolidWorks 2023 (Orientada a Receitas · Comprovada na Prática)

Transforme "descrever objeto → receita JSON de modelagem → SolidWorks desenhar diretamente" em um único comando, com verificação geométrica programática.

Estrutura do Repositório

CaminhoDescrição
sw_bridge.pyPonte principal: orientada a receitas, um comando para modelar → salvar → exportar → verificar
stl_slicer.pyVerificação de fatiamento STL ASCII (confirma contornos/furos/rasgos de forma programática, sem depender de leitura visual)
recipes/Exemplos de receitas prontas (inclui auto-teste completo recipe_best_practices_test.json)
dfm_check.py + rules/Verificador DFM de estrutura de produto: injecção (16 regras) / impressão 3D (14 regras) com regras quantitativas duais, exame de tabela de parâmetros de projeto + lint de receita
skills/sw-dfm-injection/Skill derivado: DFM de injeção (DVT/produção em massa, regras quantitativas de espessura de parede/ângulo de saída/encaixes/bossas/nervuras/rebaixos)
skills/sw-dfm-proto/Skill derivado: DFM de prototipagem 3D (EVT, regras quantitativas de recurso mínimo/saliência/folga/orifícios de drenagem)
references/api-pitfalls.mdTodas as lições aprendidas: armadilhas COM/assinatura/VARIANT/EquationMgr/ROT, leitura obrigatória antes de criar novas capacidades
references/recipe-cookbook.mdSintaxe detalhada de receitas + modelos + uso de múltiplas especificações/verificações
references/industry-best-practices.mdSíntese de pesquisa de melhores práticas da indústria + lista de melhorias futuras
docs/case_mcp1085_box.mdCaso de entrega real: caixa de teste de tubo de água de duas camadas
config.example.jsonModelo de configuração específico da máquina (caminhos de modelo/ProgID/diretório de saída)

Pré-requisitos de Ambiente (Indispensáveis)

  1. Windows + SolidWorks 2023 original em execução. O COM só pode anexar a uma sessão interativa (GetObject), não funcionando sem cabeça (headless) nem sendo iniciado por script (instâncias iniciadas por COM não se registram no ROT, veja api-pitfalls §13).
  2. Python 3.10+, pip install -r requirements.txt (pywin32 / trimesh / manifold3d / numpy / pillow).
  3. Caminhos de modelo padrão chinês GB já incorporados como padrão; para modelos em inglês ou personalizados, copie config.example.json para config.json e modifique.

Auto-verificação Rápida

python sw_bridge.py --demo block        # Criar bloco + exportar + verificação geométrica completa
python sw_bridge.py --demo vase         # Superfície de revolução com spline
python stl_slicer.py --stl demo_output/demo_block.STL --level 5   # Fatiar e ver seção transversal

Fluxo de Trabalho Padrão

  1. Escrever receita JSON (sintaxe e modelos em references/recipe-cookbook.md)
  2. Executar: python sw_bridge.py --recipe-file recipes/xxx.json
  3. Verificar: asserções verify incorporadas na receita (estanqueidade/volume/caixa envolvente/IoU golden), falha leva a falha total; usar stl_slicer.py para ver seções transversais
  4. Renderizar: múltiplas ops view para exportar imagens PNG de vários ângulos; fmt: step para downstream
  5. Revisão estrutural (peças de produto): python dfm_check.py --design tabela_parametros.json --process both — exame DFM dual injeção/impressão 3D, FAIL bloqueia o gate; skills derivados em skills/

Visão Geral das Operações (Operações) da Receita (parâmetros completos no cookbook)

opDescrição
new_part / new_assembly / openOperações de documento
sketch / sketch_end / centerline / spline / line / rect / circle / arcEsboço (mm)
extrude / revolve / cut / fillet / chamferRecursos (falha gera repetição automática com degradação)
set_global_variable / add_equationVariáveis globais/equações → múltiplas especificações do mesmo modelo via variação GV
view / save / export / add_component / import_meshVisualização/salvar/exportar stl·png·step·iges/montagem/importação de malha
verifyCamada de asserção trimesh (estanqueidade/volume/caixa envolvente/IoU golden)

Durante a execução, o refresh gráfico/árvore de recursos é automaticamente congelado (empacotamento de desempenho), finalizando com ForceRebuild3+ForceRebuildAll unificados.

Regras Rígidas Resumidas (versão completa em references/api-pitfalls.md)

  1. A unidade de comprimento da API é sempre metro; na receita escreva em mm (a ponte converte automaticamente).
  2. FeatureRevolve2 tem 20 parâmetros; as versões de 4/5/7 parâmetros geradas pela biblioteca de tipos estão todas erradas.
  3. Em ligação tardia (late binding), Callout/ExportData devem usar VARIANT(VT_DISPATCH, None); o array de pontos do CreateSpline2 deve ser VT_ARRAY|VT_R8.
  4. Para entrar/sair do esboço, use InsertSketch(True) (Toggle).
  5. Nomes localizados em chinês: Plano frontal/Esboço1/*Isométrica (config pode alternar para ambiente inglês como candidato).
  6. Recursos complexos (>12 parâmetros) falham → solução definitiva: gravar macro no SW → reproduzir com RunMacro2.
  7. GetEquationMgr é apenas propget, deve ser PROPERTYGET forçado via dispid (veja api-pitfalls §12).
  8. Para assinaturas de API complexas, consulte primeiro a biblioteca de tipos instalada do SW (makepy) ou grave uma macro, não adivinhe de memória.

Nota de Compatibilidade de Versões

Este pacote foi testado e comprovado no SW2023 edição padrão chinesa GB (incluindo dispid 66286, ProgID .31, FeatureRevolve2 com 20 parâmetros e outros detalhes específicos da versão). Outras versões do SW têm fluxo central compatível, mas constantes específicas de versão precisam ser verificadas novamente pelo método descrito em api-pitfalls §12 (makepy na biblioteca de tipos/gravar macro).

Limites Testados / Não Testados

  • ✅ Extrusão, revolução, spline, retângulo/círculo/arco, corte, filete, chanfro, adição de componente em montagem, GV/equações, exportação STL/STEP/IGS/PNG, importação de malha, asserções geométricas
  • ❌ Varredura (sweep), loft (loft), padrão (pattern), encaixe (mate) não testados (teoricamente mesmo método, verificar assinatura na biblioteca de tipos ou gravar macro)

Habilidades Relacionadas