Aller au guide d’utilisation

FreeCAD Scripts Skill.

Transformez une tâche de modélisation cotée en objets FreeCAD inspectables et ajustables.

  • Conception 3D
  • CAO
  • Python
Revue de la source · FreeCAD ScriptsSKILL.md
Tâche Conception 3D Produit • Une macro Python FreeCAD ou un objet paramétrique scripté • Un document contenant des solides nommés, des esquisses ou des propriétés personnalisées • Un export STEP, STL, IGES ou OBJ si demandé Avant de commencer FreeCAD avec son Python intégré ; le travail sur l'interface utilise en plus PySide fourni, et le travail sur le graphe de scène utilise Pivy.
Résumé éditorial · source consultée le 2026-10-07 · pas un exemple généré

01 Fonctionnement

Créer des modèles CAO paramétriques avec Python

Une référence Python pour FreeCAD couvrant les objets de document, la géométrie paramétrique, les esquisses, l'interface de l'application et les flux d'export.

Flux de travail fondé sur la sourcePas un test d'exécution

L'approche de travail

FreeCAD Scripts guide un agent dans l'environnement Python intégré à FreeCAD, au lieu de traiter un modèle CAO comme un maillage générique. Il couvre la géométrie Part reposant sur OpenCASCADE, les opérations Mesh, les esquisses contraintes et les objets FeaturePython dont les propriétés reconstruisent la forme. Il convient donc aux pièces répétables, aux petits outils de modélisation et à l'automatisation CAO où les dimensions comptent.

La source distingue aussi la logique du modèle du travail sur l'interface de l'application. Les boîtes de dialogue PySide, les panneaux de tâches et les éléments de graphe de scène Coin3D exigent l'interface graphique, alors que le code de géométrie réutilisable peut être protégé pour une exécution sans interface. Une bonne première tâche est une pièce paramétrée unique avec une exigence d'export claire ; demander tout un atelier (workbench) ajoute nettement plus de responsabilités d'intégration.

Livrables attendus

  • Une macro Python FreeCAD ou un objet paramétrique scripté
  • Un document contenant des solides nommés, des esquisses ou des propriétés personnalisées
  • Un export STEP, STL, IGES ou OBJ si demandé
Voir l'exemple de brief

Du brief à la revue

  1. 01
    Préciser les unités et la géométrie

    Décrivez les dimensions, le placement dans le repère et la représentation voulue, solide ou maillage. La source utilise les millimètres par défaut pour les longueurs non précisées ; les unités de longueur fournies explicitement sont converties en millimètres, l'unité interne de FreeCAD.

  2. 02
    Construire le modèle du document

    Créez des objets nommés et la géométrie ou les contraintes nécessaires. Utilisez FeaturePython lorsque des propriétés modifiables doivent piloter les recalculs futurs.

  3. 03
    Recalculer et vérifier

    Recalculez après chaque modification, inspectez les propriétés de la forme et validez l'export choisi. Protégez les imports de l'interface graphique si la macro doit aussi s'exécuter sans fenêtre.

02 Cas d’usage

Quand l'utiliser

FreeCAD avec son Python intégré ; le travail sur l'interface utilise en plus PySide fourni, et le travail sur le graphe de scène utilise Pivy.

Un bon choix

  • Pièces ajustablesUtile pour une pièce dont la longueur, la largeur ou d'autres dimensions de conception doivent rester des propriétés explicites plutôt que des constantes cachées.
  • Opérations CAO répétitivesConvient aux macros pour les réseaux, les opérations booléennes, la conversion en maillage et l'export d'objets sélectionnés.

Limites à vérifier

  • Python propre à l'applicationLes modules FreeCAD ne font pas partie de la bibliothèque standard de Python. Rédiger un script hors de FreeCAD ne valide pas son comportement à l'exécution.
  • La validation du modèle reste nécessaireLe Skill couvre la construction géométrique, mais ne certifie ni la fabricabilité, ni la sécurité structurelle, ni l'aptitude à l'usinage.

Éléments à fournir

  • Brief cotéFournissez les dimensions, les tolérances pertinentes pour la tâche et les unités utilisées par le plan.
  • Paramètres modifiablesNommez les valeurs qui doivent devenir des propriétés du document et les relations qui doivent rester contraintes.
  • Exécution et exportIndiquez la version de FreeCAD, le mode avec interface ou sans interface, et le format de fichier requis en aval.

03 Décisions importantes

Décisions importantes

  1. Paramétrique plutôt que statique

    FeaturePython sépare les propriétés d'entrée de la pièce de sa forme générée, de sorte qu'un changement de dimension ultérieur peut déclencher une reconstruction.

  2. Séparation de la géométrie et de l'interface

    Les protections de la source liées à l'interface graphique évitent qu'une macro de modélisation utile dépende par accident d'une vue ou d'une boîte de dialogue ouverte.

04 Exemple de brief

Essayer un brief ciblé

L'exemple de brief ci-dessous n'a pas été testé. Vérifiez la configuration du skill avant de l'utiliser.

Vérifier la configuration

Gardez les fichiers de référence du skill à la disposition de l'agent. Vérifiez comment les macros générées modifieront le document avant de les exécuter dans FreeCAD.

Fichier source amont
https://github.com/github/awesome-copilot/blob/3a685010a7afdc0dbd4c83b7fbda6c316aa516e5/skills/freecad-scripts/SKILL.md

FreeCAD avec son Python intégré ; le travail sur l'interface utilise en plus PySide fourni, et le travail sur le graphe de scène utilise Pivy.

Commencer par un seul livrable

Adaptez la portée, le matériel source et les contraintes de ce brief avant d'exécuter le skill.

Exemple de brief
Utilise freecad-scripts pour rédiger une macro FreeCAD pour une plaque de fixation rectangulaire avec quatre trous régulièrement décalés du bord. Demande les dimensions de la plaque, le diamètre des trous et le décalage avant de la construire. Expose ces valeurs comme propriétés modifiables, nomme l'objet obtenu, recalcule après les modifications et exporte une copie STEP. Garde le code de géométrie séparé de l'affichage facultatif de l'interface graphique et n'affirme pas que la pièce est prête pour la fabrication.

Inspecter le résultat

Comparez le résultat réel à ces critères observables.

  • La modification d'une dimension déclarée recalcule la géométrie prévue.
  • Les unités et le placement des objets correspondent au plan fourni.
  • Le fichier exporté contient le solide demandé, et non un objet vide ou partiel involontaire.

OpenDesign fournit un espace de conception local pour les agents de programmation. Cette fiche ne signifie pas que le skill est inclus ni que ses outils externes, identifiants et dépendances logicielles le sont.

05 Source et licence

Source et licence

Cette page décrit la révision figée de la source liée ci-dessous. Le comportement et les exigences en amont peuvent changer.

Propriétaire de la source
GitHub Awesome Copilot Contributors
Licence
MIT
Version consultée
2026-10-07 · 3a685010a7af
Résumé éditorial de la source
Une référence Python pour FreeCAD couvrant les objets de document, la géométrie paramétrique, les esquisses, l'interface de l'application et les flux d'export.

Résumé original de OpenDesign, fondé sur la source liée. Les étoiles du dépôt sont un indicateur de popularité daté, pas une mesure d'utilisation du skill ni une note de qualité.

06 Questions avant de commencer

Questions avant de commencer

Peut-il créer des objets paramétriques modifiables ?

Oui. La source documente les proxys FeaturePython, les propriétés typées et une méthode execute appelée lors du recalcul du document.

STL donne-t-il le même résultat que STEP ?

Non. Le flux de travail distingue les maillages triangulés des solides Part. Choisissez la représentation exigée par l'outil suivant plutôt que de considérer les exports comme interchangeables.

Tous les exemples peuvent-ils s'exécuter sans interface ?

Non. Les boîtes de dialogue, les view providers et le travail sur le graphe de scène dépendent de l'interface graphique. Les macros sans interface doivent protéger ou omettre ces opérations.

OpenDesign

Faites de la place pour la prochaine itération de conception.

Gardez votre brief, vos sources et votre travail de conception ensemble dans un espace de travail local. Vérifiez la configuration propre au skill avant de l'ajouter à votre flux de travail.

Fichier source amont
https://github.com/github/awesome-copilot/blob/3a685010a7afdc0dbd4c83b7fbda6c316aa516e5/skills/freecad-scripts/SKILL.md