CommunityImagegithub.com

dessin-technique

Produire des dessins techniques conformes aux normes (ISO/DIN, également ASME en projection américaine) au format PDF/SVG/DXF vectoriel à partir de modèles paramétriques build123d ou d'un fichier STEP – dessins de pièces, d'assemblages et de soudure avec coupes, vues de détail/demi-vues/vues brisées, hachures, cotes, tableaux de tolérancement ISO 286, états de surface, tolérances géométriques et repères, filetages, symboles de soudure, tableaux de données d'engrenage, cartouche et nomenclature, automatiquement vérifiés pour les collisions et incohérences.

Qu'est-ce que dessin-technique ?

Cette compétence génère des dessins techniques industriels complets et conformes aux normes ISO/DIN, ou ASME en projection américaine, à partir de modèles paramétriques build123d ou de fichiers STEP. Elle automatise la création de vues en coupe, de vues de détail, de cotation fonctionnelle, de tolérances géométriques (GD&T) et d'états de surface, en respectant les principes de la cotation fonctionnelle. Le résultat est livré sous forme de PDF vectoriel par feuille, avec options SVG, DXF et PNG. Une vérification automatique détecte les collisions et incohérences sur la feuille, mais l'utilisateur doit valider visuellement le résultat final. La compétence s'appuie sur une librairie Python (`drawlib`) pour placer annotations et vues, et intègre des fonctions pour les tableaux de tolérancement ISO 286, les symboles de soudure ISO 2553, et les données d'engrenage ISO 2203. Elle est utile pour les concepteurs, ingénieurs et dessinateurs qui doivent produire rapidement des dessins d'atelier fiables à partir de modèles CAO, sans nécessiter de logiciel de dessin manuel.

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

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Dessins techniques

Les dessins sont générés, non pas dessinés à la main : un modèle paramétrique build123d (ou un fichier STEP) est la source unique de vérité, scripts/drawlib.py en déduit les vues (suppression des lignes cachées, coupes, hachures) et ajoute les annotations nécessaires à un atelier. Chaque sauvegarde exécute une vérification automatique de la feuille. Le résultat est un PDF vectoriel par feuille (optionnellement DXF/SVG) ainsi qu'un aperçu PNG que vous devez consulter avant de déclarer quoi que ce soit terminé.

Pourquoi cette approche : les vues ne peuvent jamais être en désaccord avec le modèle, un paramètre modifié régénère chaque feuille, et le même modèle fournit gratuitement les fichiers STEP et une vérification d'interférence.

Ce qu'un bon dessin doit accomplir

Un dessin est un contrat avec la personne qui fabrique et contrôle la pièce. Quelqu'un qui n'a jamais vu le projet doit pouvoir fabriquer la pièce à partir de la seule feuille. Cela détermine tout ce qui suit : dimensionner ce dont la fonction a besoin, tolérer uniquement ce qui importe, et indiquer comment chaque surface fonctionnelle doit se présenter. Une feuille avec chaque arête cotée mais sans ajustements, états de surface ou tolérances géométriques n'est pas fabricable au sens où l'entendent les examinateurs et les ateliers.

Choisir la voie

  • L'utilisateur a un fichier STEP et souhaite un dessin rapidement : exécutez python scripts/step2drawing.py part.step [--section] [--lang en --projection third] [--units in] [--material ...] [--density ...] [--dxf]. Cela donne les vues, les lignes cachées, les lignes d'axe, les cotes d'encombrement, le cartouche et la vérification. Dites ensuite clairement que les cotes fonctionnelles, les ajustements, les tolérances et les états de surface doivent encore être ajoutés - et proposez de les ajouter : auto_drawing() dans le même module retourne (sheet, views, issues) avec out=None, de sorte que vous puissiez continuer à annoter la feuille en Python (--up y pour les exportations avec Y vers le haut).
  • Tout ce qui doit être fabriqué à partir de : modélisez la/les pièce(s) et écrivez la feuille en Python (flux de travail ci-dessous). L'entrée STEP peut toujours être le modèle : D.load_step(path).

Flux de travail

  1. Clarifiez d'abord la fonction. Pour chaque pièce, demandez : quelles surfaces s'accouplent avec quoi, qu'est-ce qui doit être coaxial/perpendiculaire/plat pour que la machine fonctionne, quelles dimensions proviennent de pièces achetées (roulements, goupilles, vis). Ceux-ci deviennent les repères, ajustements et tolérances. Si l'utilisateur a un rapport, une nomenclature ou un ancien dessin, lisez-le et conservez ses valeurs ; marquez chaque valeur que vous inventez comme votre hypothèse et informez l'utilisateur. Demandez dans quelle langue et quelle méthode de projection le dessin doit être (par défaut : allemand, première projection ; Amérique du Nord : anglais, troisième projection) et s'il existe un cartouche d'entreprise.
  2. Modélisez les pièces dans un module, chaque pièce dans sa position de fabrication, toutes les dimensions en paramètres nommés. Pièces tournées : révolution d'un demi-profil (x, r) ; pièces prismatiques : boîtes moins les solides d'alésage, ou extrusion d'un profil (pas de coutures fusionnées). Modélisez les filetages uniquement comme des trous d'âme. Placez les pièces achetées/standard comme des solides simples afin que l'assemblage et la vérification d'interférence soient complets.
  3. Vérifiez l'assemblage avant de dessiner : (a & b).volume par paire sur toutes les pièces ; chaque chevauchement doit être soit nul, soit délibéré (engagement de filetage, ajustement serré). Corrigez le modèle, pas le dessin.
  4. Écrivez une fonction par feuille, en copiant l'exemple le plus proche dans examples/ : flanged_bush.py (pièce tournée, le modèle de base), bearing_bracket.py (assemblage, nomenclature), stepped_shaft.py (vue brisée, détail, coupe rabattue, filetage), flange.py (demi-coupe, cercle primitif, tolérance de position), spur_gear.py (tableau de données d'engrenage), weldment.py (symboles de soudure), milled_block.py (anglais, troisième projection, cartouche d'entreprise). Commencez par la géométrie uniquement, rendez, regardez, puis ajoutez les annotations par couches : lignes d'axe -> cotes -> repères et tolérances -> états de surface -> notes, tableaux -> cartouche.
  5. Rendez, lisez la vérification, regardez chaque feuille. Sheet.save(pdf, png=...) imprime le rapport de vérification et écrit <png>_check.png avec chaque anomalie encadrée. Corrigez chaque erreur et avertissement (déplacez l'annotation, changez les décalages, tshift, tpos, genoux des lignes de renvoi). Ensuite lisez vous-même le PNG - la vérification détecte les collisions et les incohérences, pas un concept de cotation erroné ou une flèche pointant sur la mauvaise arête. Recadrez les zones denses pour zoomer. Ne signalez jamais une feuille comme terminée si vous ne l'avez pas vue.
  6. Livrez : un PDF par feuille nommé par numéro de dessin, un fichier fusionné (pypdf PdfWriter.append), DXF si l'utilisateur modifie dans la CAO, STEP par pièce et pour l'assemblage (export_step). Indiquez clairement ce qui n'est pas encore dessiné et quelles valeurs sont des hypothèses.

Configuration unique par machine : pip install -r requirements.txt. La police ISO 3098 osifont n'est pas fournie ; elle se trouve dans $DRAWLIB_FONT, scripts/fonts/, ~/.drawlib/fonts/ ou les polices système (voir scripts/fonts/README.md). Sans elle, la bibliothèque utilise DejaVu Sans - même géométrie, lettrage non ISO 3098 ; la vérification mesure la police active.

Utilisation de drawlib

Lisez references/drawlib_api.md avant d'écrire la première feuille - chaque appel avec ses conventions de coordonnées, recettes et pièges. Les essentiels :

  • S = D.Sheet("A4"|"A3"|"A2"|"A1"|"A0", lang="de"|"en", projection="first"|"third"). A4 est en portrait, les autres en paysage (landscape= pour écraser). Les coordonnées de la feuille sont en mm à partir du coin inférieur gauche. Les nombres écrits par la bibliothèque suivent le séparateur décimal de la langue, et les décimales dans les textes de cotes sont converties ("0.02" -> 0,02 sur une feuille allemande).
  • V = D.View(S, origin, scale, *D.VIEWS["front"]) - VIEWS contient front, top, bottom, left, right, rear, iso. V.p(u, v) convertit les coordonnées de la vue (mm du modèle) en mm de la feuille - utilisez-la pour chaque annotation. Des vecteurs erronés génèrent une erreur claire ; les échelles non ISO et les vues retournées émettent un avertissement.
  • Vues : V.draw(solids, hidden=), V.section([(V.cut(solid), angle, spacing), ...], background=[uncut parts]), V.half_section(...), V.removed_section(...), V.detail(centre, r, at, scale, "Z"), D.BrokenView(...), V.thread(...), D.views_layout(...) pour le placement selon la méthode de projection.
  • Cotes : S.hdim, S.vdim, S.dim, S.dim_angle, S.rdim, S.ddim ; options tol=, box=True, outside=True, half=True, tshift=.
  • Ajustements : écrivez-les dans le texte ("Ø20 H7", "Ø20 H7/s6") ; S.fit_table, S.fit_pair_table imprime les valeurs ISO 286 ; iso_tolerances donne les écarts, limites, ajustements, ISO 2768.
  • GD&T : S.datum, S.fcf(x, y, kind, "0.02", ["A", "B"]), S.fcf_leader.
  • Surfaces : 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).

Règles qui font la différence

Ce sont les points que les examinateurs et les ateliers vérifient ; references/normen.md contient les tableaux (types de ligne, valeurs ISO 2768, ajustements courants, valeurs Ra typiques, quelle tolérance géométrique pour quelle fonction) et doit être lu lors du choix des valeurs.

  • Projection et vues : indiquez la méthode (symbole dans le cartouche). Le moins de vues possible pour définir la pièce ; une pièce tournée nécessite une seule coupe le long de son axe. Préférez les coupes aux lignes cachées. Échelles issues uniquement de l'ISO 5455 ; les petites pièces sont dessinées agrandies pour que les cotes aient de la place ; les pièces longues sont brisées ; les petits détails reçoivent une vue de détail.
  • Cotation à partir du repère fonctionnel, pas en chaînes, jamais deux fois. Cotes auxiliaires entre parenthèses. Cotes à l'extérieur du contour si possible ; motifs de trous dans la vue qui les montre comme des cercles ; cotes plus petites plus proches de la pièce.
  • Ajustements et tolérances : chaque diamètre d'accouplement reçoit un ajustement ISO 286 (sièges de roulement selon les recommandations du fabricant du roulement). Tout ce qui n'est pas toléré relève de la tolérance générale dans le cartouche (ISO 2768-mK par défaut ; ISO 13920 pour les ensembles soudés).
  • Tolérances géométriques uniquement là où la fonction les exige, toujours avec un repère qui est lui-même une caractéristique fonctionnelle et mesurable. Repère sur un axe : aligné avec la ligne de cote de ce diamètre. La ligne de renvoi rencontre la surface à angle droit. Motifs de trous : dimensions théoriquement exactes plus tolérance de position.
  • État de surface sur chaque surface fonctionnelle, la valeur générale une fois à côté du cartouche. Les symboles doivent se lire par le bas ou par la droite - utilisez une ligne de renvoi pour les faces orientées vers le bas.
  • Coupes : arbres, goupilles, vis, clavettes, éléments roulants et nervures ne sont pas coupés dans une coupe longitudinale. Les pièces voisines obtiennent un hachurage différent ; les faces de coupe fines sont noircies (angle="solid") ; le hachurage est interrompu automatiquement autour du texte.
  • Filetages (ISO 6410), soudures (ISO 2553), engrenages (ISO 2203) : dessinés simplifiés, avec l'appel ou le tableau de données portant l'information.
  • Dessins d'assemblage : numéros d'article en ligne, lignes de renvoi se terminant par un point ; nomenclature au-dessus du cartouche, article 1 en bas ; pièces standard avec leur désignation normalisée ; uniquement des cotes fonctionnelles et de montage ; les notes indiquent comment l'assemblage est réalisé et réglé.
  • Cartouche : titre, numéro de dessin, matière avec désignation normalisée, masse (solid.volume × densité), échelle, tolérance générale, date, feuille n/m, type de document, révision. Ne laissez jamais la matière ou l'échelle vides - la vérification le signale.

Honnêteté sur les limites

  • Le résultat est un PDF/SVG/PNG/DXF plus STEP, pas un dessin SolidWorks/Inventor natif. Pour une édition ultérieure dans la CAO, fournissez le DXF et STEP et dites-le.
  • La vérification de la feuille détecte les collisions et les incohérences ; elle ne juge pas si la cotation, le tolérancement ou le choix des vues est correct. C'est votre révision du PNG par rapport à la liste de contrôle dans references/normen.md.
  • Les valeurs de tolérance que vous choisissez sont des propositions d'ingénierie. Dites lesquelles proviennent des documents de l'utilisateur et lesquelles sont les vôtres, afin qu'il puisse les défendre.

Skills associés