CommunityImagemgithub.com

desenho-tecnico

Produz desenhos técnicos conforme normas (ISO/DIN, também ASME em inglês) como PDF/SVG/DXF vetorial a partir de modelos paramétricos build123d ou de um arquivo STEP - desenhos de peças, montagens e soldas com cortes, vistas de detalhe/meia-vista/vista quebrada, hachuras, cotas, tabelas de ajustes e limites ISO 286, textura superficial, tolerâncias geométricas (GD&T) e datums, roscas, símbolos de solda, tabelas de dados de engrenagens, legenda e lista de peças, verificados automaticamente quanto a colisões e inconsistências. Use esta habilidade sempre que o usuário solicitar um desenho técnico/de engenharia/fabricação, technische Zeichnung, Fertigungszeichnung, Einzelteilzeichnung, Zusammenbauzeichnung, Schweißzeichnung, teknik resim, um desenho a partir de um arquivo STEP/CAD, uma BOM/Stückliste em um desenho, ou quiser ajustes, tolerâncias, rugosidade ou GD&T aplicados a uma peça - também quando disser apenas "faça CAD e desenhos para esta peça" ou quiser que um desenho existente seja verificado conforme as normas. Não a use para diagramas de software, fluxogramas...

O que é desenho-tecnico?

Esta skill gera desenhos técnicos profissionais e compatíveis com normas (ISO/DIN e ASME) a partir de modelos 3D paramétricos (build123d) ou arquivos STEP. Ela automatiza a criação de vistas ortogonais, cortes, hachuras, cotas, tolerâncias (incluindo ISO 286 e GD&T), textura superficial, símbolos de solda, tabelas de dados de engrenagens, listas de peças e legendas. O resultado é um PDF (ou SVG/DXF) vetorial por folha, com verificação automática de colisões e inconsistências. A skill é útil para engenheiros e fabricantes que precisam de documentação técnica precisa e consistente, garantindo que todas as informações necessárias para fabricação estejam presentes. Ela suporta projetos alemães (primeiro diedro) e norte-americanos (terceiro diedro), integra-se diretamente com o modelo paramétrico, permitindo atualizações instantâneas em todos os desenhos quando um parâmetro é alterado, e oferece um fluxo de trabalho completo: desde a modelagem e verificação de interferências até a entrega dos arquivos. O usuário pode escolher entre gerar um desenho rapidamente a partir de um STEP ou construir manualmente cada folha em Python para controle total sobre anotações e detalhes funcionais.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Emirhan-1111/technical-drawing/tree/HEAD

Installed? Explore more Imagem skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Perguntar na sua IA favorita

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

Documentação

Desenhos Técnicos

Os desenhos são gerados, não desenhados à mão: um modelo paramétrico build123d (ou um arquivo STEP) é a única fonte da verdade, scripts/drawlib.py deriva as vistas dele (remoção de linhas ocultas, cortes, hachuras) e adiciona as anotações que uma oficina precisa. Cada salvamento executa uma verificação automática da folha. O resultado é um PDF vetorial por folha (opcionalmente DXF/SVG) mais uma prévia PNG que você examina antes de considerar algo finalizado.

Por que este caminho: as vistas nunca podem discordar do modelo, um parâmetro alterado regenera cada folha, e o mesmo modelo fornece arquivos STEP e uma verificação de interferência de graça.

O que um bom desenho deve alcançar

Um desenho é um contrato com a pessoa que fabrica e inspeciona a peça. Alguém que nunca viu o projeto deve ser capaz de fabricá-la apenas a partir da folha. Isso decide tudo abaixo: dimensione o que a função precisa, tolere apenas o que importa, e diga como cada superfície funcional deve ser. Uma folha com todas as arestas cotadas, mas sem ajustes, rugosidade ou tolerâncias geométricas não é fabricável no sentido que examinadores e oficinas entendem.

Escolha o caminho

  • O usuário tem um arquivo STEP e quer um desenho rapidamente: execute python scripts/step2drawing.py part.step [--section] [--lang en --projection third] [--units in] [--material ...] [--density ...] [--dxf]. Ele fornece vistas, linhas ocultas, linhas de centro, dimensões gerais, legenda e a verificação. Então deixe claro que dimensões funcionais, ajustes, tolerâncias e textura superficial ainda precisam ser adicionados - e ofereça-se para adicioná-los: auto_drawing() no mesmo módulo retorna (sheet, views, issues) com out=None, então você pode continuar anotando a folha em Python (--up y para exportações com Y para cima).
  • Qualquer coisa que precise ser fabricada: modele a(s) peça(s) e escreva a folha em Python (fluxo de trabalho abaixo). A entrada STEP ainda pode ser o modelo: D.load_step(path).

Fluxo de Trabalho

  1. Esclareça a função primeiro. Para cada peça pergunte: quais superfícies se acasalam com o quê, o que deve ser coaxial/perpendicular/plano para a máquina funcionar, quais dimensões vêm de peças compradas (rolamentos, pinos, parafusos). Estes se tornam datums, ajustes e tolerâncias. Se o usuário tem um relatório, BOM ou desenho antigo, leia-o e mantenha seus números; marque cada valor que você inventa como sua suposição e informe o usuário. Pergunte qual idioma e método de projeção o desenho deve usar (padrão: alemão, primeiro diedro; América do Norte: inglês, terceiro diedro) e se há uma legenda da empresa.
  2. Modele as peças em um módulo, cada peça em sua posição de fabricação, todas as dimensões como parâmetros nomeados. Peças torneadas: revolve um meio-perfil (x, r); peças prismáticas: caixas menos sólidos de furo, ou extrusão de um perfil (sem costuras fundidas). Modele roscas apenas como furos de núcleo. Coloque peças compradas/padrão como sólidos simples para que a montagem e a verificação de interferência estejam completas.
  3. Verifique a montagem antes de desenhar: (a & b).volume para pares de todas as peças; cada sobreposição deve ser zero ou intencional (engate de rosca, ajuste prensado). Corrija o modelo, não o desenho.
  4. Escreva uma função por folha, copiando o exemplo mais próximo em examples/: flanged_bush.py (peça torneada, o modelo básico), bearing_bracket.py (montagem, lista de peças), stepped_shaft.py (vista quebrada, detalhe, corte removido, rosca), flange.py (meio corte, círculo de furos, tolerância de posição), spur_gear.py (tabela de dados de engrenagem), weldment.py (símbolos de solda), milled_block.py (inglês, terceiro diedro, legenda da empresa). Comece apenas com geometria, renderize, olhe, então adicione anotações em camadas: linhas de centro -> dimensões -> datums e tolerâncias -> textura superficial -> notas, tabelas -> legenda.
  5. Renderize, leia a verificação, olhe cada folha. Sheet.save(pdf, png=...) imprime o relatório de verificação e escreve <png>_check.png com cada falha emoldurada. Corrija todos os erros e avisos (mova a anotação, altere deslocamentos, tshift, tpos, joelhos das linhas de chamada). Então leia o PNG você mesmo - a verificação encontra colisões e inconsistências, não um conceito de dimensionamento errado ou uma seta apontando para a aresta errada. Amplie regiões densas. Nunca relate uma folha como concluída que você não viu.
  6. Entregue: um PDF por folha nomeado pelo número do desenho, um conjunto mesclado (pypdf PdfWriter.append), DXF se o usuário editar em CAD, STEP por peça e para a montagem (export_step). Indique claramente o que ainda não está desenhado e quais valores são suposições.

Configuração única por máquina: pip install -r requirements.txt. A fonte ISO 3098 osifont não está incluída; ela é encontrada em $DRAWLIB_FONT, scripts/fonts/, ~/.drawlib/fonts/ ou nas fontes do sistema (veja scripts/fonts/README.md). Sem ela a biblioteca usa DejaVu Sans - mesma geometria, mas o lettering não é ISO 3098; a verificação mede a fonte que estiver ativa.

Usando drawlib

Leia references/drawlib_api.md antes de escrever a primeira folha - toda chamada com suas convenções de coordenadas, receitas e armadilhas. O essencial:

  • S = D.Sheet("A4"|"A3"|"A2"|"A1"|"A0", lang="de"|"en", projection="first"|"third"). A4 é retrato, os outros paisagem (landscape= para sobrescrever). As coordenadas da folha estão em mm a partir do canto inferior esquerdo. Os números que a biblioteca escreve seguem o marcador decimal do idioma, e decimais dentro de textos de dimensão são convertidos ("0.02" -> 0,02 em uma folha alemã).
  • V = D.View(S, origin, scale, *D.VIEWS["front"]) - VIEWS tem front, top, bottom, left, right, rear, iso. V.p(u, v) transforma coordenadas da vista (mm do modelo) em mm da folha - use-o para cada anotação. Vetores errados geram um erro claro; escalas não ISO e vistas invertidas alertam.
  • Vistas: V.draw(solids, hidden=), V.section([(V.cut(solid), angle, spacing), ...], background=[peças não cortadas]), V.half_section(...), V.removed_section(...), V.detail(centre, r, at, scale, "Z"), D.BrokenView(...), V.thread(...), D.views_layout(...) para posicionamento por método de projeção.
  • Dimensões: S.hdim, S.vdim, S.dim, S.dim_angle, S.rdim, S.ddim; opções tol=, box=True, outside=True, half=True, tshift=.
  • Ajustes: escreva-os no texto ("Ø20 H7", "Ø20 H7/s6"); S.fit_table, S.fit_pair_table imprimem valores ISO 286; iso_tolerances fornece desvios, limites, ajustes, ISO 2768.
  • GD&T: S.datum, S.fcf(x, y, kind, "0.02", ["A", "B"]), S.fcf_leader.
  • Superfícies: S.rough, S.rough_leader, S.general_surface.
  • S.notes, S.leader_text, S.posnum, S.cutting_plane, S.bom, S.table, S.weld, S.pitch_circle, S.title_block(values, layout=json_or_dict, logo=png).

Regras que fazem a diferença

Estes são os pontos que examinadores e oficinas verificam; references/normen.md tem as tabelas (tipos de linha, valores ISO 2768, ajustes comuns, valores Ra típicos, qual tolerância geométrica para qual função) e deve ser lido ao escolher valores.

  • Projeção e vistas: declare o método (símbolo na legenda). Menor número de vistas que definem a peça; uma peça torneada precisa de um corte ao longo de seu eixo. Prefira cortes a linhas ocultas. Escalas apenas da ISO 5455; peças pequenas são desenhadas ampliadas para que as dimensões tenham espaço; peças longas são quebradas; pequenos detalhes ganham uma vista de detalhe.
  • Dimensione a partir do datum funcional, não em cadeias, nunca duas vezes. Dimensões auxiliares entre parênteses. Dimensões fora do contorno quando possível; padrões de furo na vista que os mostre como círculos; dimensões menores mais próximas da peça.
  • Ajustes e tolerâncias: todo diâmetro de acoplamento recebe um ajuste ISO 286 (assentos de rolamento conforme recomendação do fabricante do rolamento). Tudo sem tolerância cai sob a tolerância geral na legenda (ISO 2768-mK por padrão; ISO 13920 para soldados).
  • Tolerâncias geométricas apenas onde a função precisar, sempre com um datum que seja ele próprio uma característica funcional e mensurável. Datum em um eixo: alinhado com a linha de cota daquele diâmetro. A linha de chamada encontra a superfície em ângulo reto. Padrões de furo: dimensões teoricamente exatas mais tolerância de posição.
  • Textura superficial em toda superfície funcional, o valor geral uma vez ao lado da legenda. Os símbolos devem ser lidos por baixo ou pela direita - use uma linha de chamada para faces voltadas para baixo.
  • Cortes: eixos, pinos, parafusos, chavetas, elementos rolantes e nervuras não são cortados em um corte longitudinal. Peças vizinhas recebem hachuras diferentes; faces cortadas finas são enegrecidas (angle="solid"); a hachura é interrompida automaticamente ao redor do texto.
  • Roscas (ISO 6410), soldas (ISO 2553), engrenagens (ISO 2203): desenhadas simplificadas, com a chamada ou tabela de dados carregando a informação.
  • Desenhos de montagem: números de item em uma linha, linhas de chamada terminando em um ponto; lista de peças acima da legenda, item 1 na parte inferior; peças padrão com sua designação padrão; apenas dimensões funcionais e de montagem; notas dizem como é montado e ajustado.
  • Legenda: título, número do desenho, material com designação padrão, massa (solid.volume × densidade), escala, tolerância geral, data, folha n/m, tipo de documento, revisão. Nunca deixe material ou escala vazios - a verificação sinaliza.

Honestidade sobre limites

  • A saída é PDF/SVG/PNG/DXF mais STEP, não um desenho nativo SolidWorks/Inventor. Para edição posterior em CAD forneça o DXF e o STEP e diga isso.
  • A verificação da folha encontra colisões e inconsistências; ela não julga se o dimensionamento, toleranciamento ou a escolha das vistas estão corretos. Isso é sua revisão do PNG contra a lista de verificação em references/normen.md.
  • Os valores de tolerância que você escolher são propostas de engenharia. Diga quais vêm dos documentos do usuário e quais são seus, para que ele possa defendê-los.

Habilidades Relacionadas