Recettes
130 recettes pre-construites dans RecipeTool. Le LLM selectionne par nom via topsolid_run_recipe -- aucune generation de code necessaire.
Tableau interactif
Recherche, tri par colonne et filtres par categorie/mode.
| Recette ↑ | Description ↕ | API ↕ |
|---|---|---|
activer_virtuel_batchWRITEBatch | Active le mode virtuel sur tous les documents non-virtuels du projet. Les documents virtuels ne sont pas sauvegardes physiquement — ils existent uniquement en memoire. | Documents.SetVirtualDocumentMode(true) en boucle |
activer_virtuel_documentWRITEDocument | Active le mode virtuel sur le document courant uniquement. | Documents.SetVirtualDocumentMode(docId, true) |
attribut_affecter_calqueWRITEAttributs | Deplace un element (shape, esquisse...) vers un calque existant. Match par nom partiel sur l'element et le calque. | Layers.SetLayer — value = nom_element:nom_calque |
attribut_lire_couleurREADAttributs | Lit la couleur RGB de chaque shape du document. Retourne "pas de couleur" si la couleur est heritee du materiau (comportement par defaut TopSolid). | Elements.HasColor → GetColor |
attribut_lire_couleurs_facesREADAttributs | Lit les couleurs face par face de chaque shape. Utile quand un shape a des faces colorees individuellement (peinture selective, zones fonctionnelles). | Shapes.GetFaces → Elements.GetColor par face |
attribut_lire_toutREADAttributs | Vue complete des attributs visuels de tous les elements : couleur RGB, transparence (0-1), calque (layer) affecte, et visibilite. Donne un apercu global de l'apparence de la piece. | Elements.GetColor/Transparency + Layers.GetLayer |
attribut_lire_transparenceREADAttributs | Lit le niveau de transparence de chaque shape : 0.0 = totalement opaque, 1.0 = totalement invisible. Les shapes sans transparence explicite sont opaques par defaut. | Elements.HasTransparency → GetTransparency |
attribut_lister_calquesREADAttributs | Liste les calques (layers) definis dans le document, par nom. Les calques TopSolid permettent d'organiser et de masquer/afficher des groupes d'elements. | Layers.GetLayers |
attribut_modifier_couleurWRITEAttributs | Change la couleur d'un shape. Si le document contient un seul shape, la couleur est appliquee directement. Si plusieurs shapes, TopSolid ouvre une boite de selection pour que l'utilisateur pointe le shape voulu. | Elements.SetColor — value = R,G,B (ex: 255,0,0 pour rouge) |
attribut_modifier_couleur_toutWRITEAttributs | Change la couleur de TOUS les elements du document d'un coup, sans selection. Applique la meme couleur RGB a chaque shape dont la couleur est modifiable. | Elements.SetColor en boucle — value = R,G,B |
attribut_modifier_transparenceWRITEAttributs | Change la transparence d'un shape. Si plusieurs shapes, TopSolid demande une selection interactive. Valeur entre 0.0 (opaque) et 1.0 (invisible). Pratique pour voir l'interieur d'un assemblage. | Elements.SetTransparency — value = 0.0 a 1.0 |
attribut_remplacer_couleurWRITEAttributs | Recherche et remplace : trouve tous les elements ayant une couleur source et les passe a une couleur cible. Ex: remplacer tout le vert (0,128,0) par du rouge (255,0,0) en un seul appel. | Filtre couleur → SetColor — value = R1,G1,B1:R2,G2,B2 |
audit_assemblageREADAudit | Audit complet d'un assemblage : liste des pieces, inclusions, occurrences, masse totale, structure. Equivalent d'une fiche d'identite de l'assemblage. | Assemblies.GetParts + GetOccurrences + masse systeme |
audit_pieceREADAudit | Audit complet de la piece : proprietes PDM (nom, designation, reference, fabricant), nombre et liste des parametres, shapes avec nombre de faces, masse, volume, surface et materiau. Rapport synthetique en un appel. | Pdm + Parameters + Shapes + parametres systeme |
auditer_designations_drivers_batchREADAudit | Liste les designations des parametres drivers de toutes les familles du projet pour inspection visuelle. Detecte les fautes d'orthographe, les incoherences de formulation entre familles. | GetCatalogColumnParameters → GetDescription sur toutes les familles |
auditer_noms_parametresREADAudit | Analyse la syntaxe des noms de parametres du document : detecte les melanges de convention (CamelCase vs snake_case), les doublons proches (ex: "longueur" et "Longueur"), les caracteres speciaux. Recommandations d'harmonisation. | Analyse syntaxique regex des noms |
auditer_noms_parametres_batchREADAudit | Meme audit que auditer_noms_parametres mais sur TOUS les documents du projet. Rapport global des incoherences de nommage a l'echelle du projet. | Iteration complete + analyse syntaxique |
chercher_documentREADNavigation | Recherche un document par nom dans le projet (match partiel, type CONTAINS insensible a la casse). Retourne nom, designation et reference de chaque resultat. Utile quand on connait un bout du nom. | Pdm.SearchDocumentByName — value = texte a chercher |
chercher_documents_modifiesREADNavigation | Liste les documents du projet qui ont ete modifies mais pas encore sauvegardes (flag dirty). Utile avant un export batch ou une fermeture de projet pour eviter de perdre des modifications. | Documents.IsDirty en boucle |
chercher_dossierREADNavigation | Recherche un dossier par nom dans le projet (match partiel). Retourne le chemin et le contenu du dossier trouve. | Pdm.GetConstituents + filtre — value = texte |
chercher_pieces_par_materiauREADNavigation | Liste toutes les pieces du projet avec leur materiau et leur masse. Filtre optionnel sur le nom du materiau (ex: "Acier"). Utile pour verifier les affectations materiaux ou calculer la masse totale par materiau. | Parameters $Mass + materiau — value = filtre optionnel |
comparer_entites_documentsREADComparaison | Compare les entites geometriques (shapes, esquisses, points 3D, reperes 3D) entre deux documents. Montre les differences de quantite par type d'entite. | Comptage Shapes/Sketches/Points/Frames — value = nom autre doc |
comparer_operations_documentsREADComparaison | Compare l'arbre de construction entre le document courant et un autre document du projet. Montre les operations ajoutees, supprimees ou presentes dans les deux avec des noms differents. | Operations.GetOperations diff — value = nom autre document |
comparer_parametresREADComparaison | Compare les parametres du document actif avec ceux d'un autre document du projet. Affiche les differences de valeur (A vs B), les parametres presents uniquement dans l'un ou l'autre. Ideal pour comparer deux variantes d'une piece. | Diff par nom de parametre — value = nom autre document |
comparer_revisionsREADComparaison | Compare les parametres de la revision courante avec la revision precedente du meme document. Montre les valeurs qui ont change entre les deux revisions. Utile pour tracer les modifications. | Pdm.GetMajorRevisions → diff GetParameters |
compter_documents_par_typeREADNavigation | Compte les documents du projet groupes par type d'extension : .TopPrt (pieces), .TopAsm (assemblages), .TopDft (mises en plan), etc. Retourne un tableau type → quantite. | Pdm.GetType sur chaque doc |
compter_lignes_nomenclatureREADNomenclature | Compte les lignes actives et inactives de la nomenclature. Les lignes inactives sont masquees dans le plan mais toujours presentes dans les donnees. | GetRows + IsRowActive |
compter_pieces_assemblageREADAssemblage | Compte les pieces groupees par type (reference unique) avec quantites. Ex: "Vis M8×30 : 4, Plaque support : 2, Equerre : 1 → Total 7 pieces". Vision nomenclature simplifiee. | GetParts groupe par GetInclusionDefinitionDocument |
corriger_drivers_familleWRITEFamille | Genere automatiquement une designation pour les drivers qui n'en ont pas, en deduisant du nom du parametre : decoupe le CamelCase en mots, remplace les underscores par des espaces, met une majuscule. | Elements.SetDescription auto-genere depuis nom |
detecter_assemblageREADAssemblage | Verifie si le document courant est un assemblage TopSolid. Si oui, liste toutes les pieces (parts) contenues. Premiere etape avant d'explorer la structure d'un assemblage. | Assemblies.IsAssembly → GetParts |
detecter_familleREADFamille | Verifie si le document est une famille TopSolid. Indique si elle est explicite (catalogue avec codes predetermine) ou implicite (parametrique, les variantes se creent a la volee). Les familles sont le mecanisme de bibliotheque standard de TopSolid. | Families.IsFamily + IsExplicit |
detecter_mise_a_platREADDepliage | Verifie si le document contient un depliage tolerie (flat pattern). Le depliage est le contour plat obtenu en "deroulant" une piece en tole. Liste les plis detectes. Specifique a la tolerie TopSolid. | Detection operations FlatPattern |
detecter_mise_en_planREADMise en plan | Verifie si le document courant est une mise en plan TopSolid (Drafting). Retourne le nombre de vues, le format papier et les informations de base. Premiere verification avant d'explorer un plan. | DraftingDocuments.IsDraftingDocument |
detecter_nomenclatureREADNomenclature | Verifie si le document contient une nomenclature (BOM - Bill of Materials). Retourne le nombre de lignes. La nomenclature est generalement dans la mise en plan d'un assemblage. | Nomenclatures.GetNomenclatures |
exporter_batch_stepREADExport | Exporte TOUTES les pieces et assemblages du projet en STEP, un fichier par document, dans un dossier de destination. Utile pour livrer un projet complet a un partenaire utilisant un autre logiciel CAO. | Documents.Export en boucle — value = dossier destination |
exporter_dxfREADExport | Exporte en DXF (format AutoCAD). Principalement utilise pour les mises en plan 2D, les profils de decoupe laser ou les plans d'atelier. Compatible avec tous les logiciels 2D. | Documents.Export DXF — value = chemin (optionnel) |
exporter_igesREADExport | Exporte en IGES, format historique d'echange CAO encore utilise dans l'aeronautique et l'automobile. Moins precis que STEP mais plus largement supporte par les anciens systemes. | Documents.Export IGES — value = chemin (optionnel) |
exporter_nomenclature_csvREADExport | Exporte le contenu de la nomenclature (BOM) du document en format texte avec colonnes separees par tabulation. Permet d'importer la BOM dans Excel ou un ERP. | Nomenclatures lecture → format texte |
exporter_pdfREADExport | Exporte en PDF. Utilise principalement pour les mises en plan (plans de fabrication, plans d'ensemble). Genere un document lisible sans logiciel CAO. | Documents.Export PDF — value = chemin (optionnel) |
exporter_stepREADExport | Exporte le document actif en format STEP (AP214), le format universel d'echange entre logiciels CAO (Catia, SolidWorks, NX...). Retourne le chemin du fichier cree. Le chemin est optionnel (defaut = dossier temp). | Documents.Export STEP — value = chemin (optionnel) |
exporter_stlREADExport | Exporte en STL (maillage de triangles). Format standard pour l'impression 3D, le prototypage rapide et la visualisation web. Converti la geometrie exacte en facettes triangulaires. | Documents.Export STL — value = chemin (optionnel) |
invoquer_commandeWRITEDocument | Execute une commande du menu TopSolid par son nom interne. Attention : certaines commandes ouvrent des dialogues interactifs. A utiliser quand aucune recette dediee n'existe pour l'action souhaitee. | Application.InvokeCommand — value = nom commande |
lire_boite_englobanteREADPhysique | Retourne la boite englobante du modele : coordonnees min/max en X, Y, Z (en mm) plus les dimensions calculees Longueur × largeur × hauteur. | Parameters systeme bounding box |
lire_cas_emploiREADNavigation | Where-used : recherche tous les documents du projet qui referencent le document courant. Trouve les assemblages parents, les mises en plan associees. Indispensable avant de modifier une piece partagee. | Pdm.SearchMajorRevisionBackReferences |
lire_codes_familleREADFamille | Liste les codes (variantes) d'une famille explicite. Chaque code correspond a une configuration du catalogue. Ex: pour une famille de vis, les codes sont M6×20, M8×30, M10×40, etc. | Families.GetCodes |
lire_colonnes_nomenclatureREADNomenclature | Liste les colonnes de la nomenclature : Repere, Designation, Quantite, Reference, Materiau, Masse... La structure depend du modele de nomenclature configure dans TopSolid. | Nomenclatures.GetColumns → GetColumnName |
lire_contenu_nomenclatureREADNomenclature | Lit le tableau complet de la nomenclature : toutes les lignes avec toutes les cellules. Format texte tabulaire lisible. C'est le contenu brut de la BOM tel qu'il apparait dans le plan. | GetRows → GetCellValue par colonne |
lire_contenu_projetREADNavigation | Parcourt recursivement toute l'arborescence du projet : dossiers, sous-dossiers et documents a chaque niveau. Affiche l'indentation par profondeur et le total de dossiers et documents trouves. | Pdm.GetConstituents (recursif) |
lire_densite_materiauREADPhysique | Calcule la densite du materiau (kg/m³) a partir du rapport masse/volume des proprietes systeme. Utile pour verifier que le bon materiau est affecte (acier ~7800, alu ~2700, plastique ~1200). | masse / volume depuis params systeme |
lire_designationREADPDM | Lit la designation du document actif, c'est-a-dire la description fonctionnelle de la piece ou de l'assemblage (ex: "Bride de serrage", "Support moteur"). Retourne "(vide)" si le champ n'est pas renseigne dans les proprietes PDM. | Pdm.GetDescription(pdmId) |
lire_dimensions_depliageREADDepliage | Retourne les dimensions du contour deplie (flan plat) : longueur et largeur en mm. Ce sont les dimensions de la tole brute a decouper avant pliage. | Parametres systeme de depliage |
lire_dimensions_pieceREADPhysique | Lit les dimensions principales de la piece depuis les proprietes systeme : Height (hauteur), Width (largeur), Length (longueur) et Box Size en mm. Ce sont les dimensions de la boite englobante orientee. | Parameters systeme $Height, $Width, $Length, $Box Size |
lire_echelle_mise_en_planREADMise en plan | Lit l'echelle globale du plan et l'echelle individuelle de chaque vue. L'echelle globale definit le ratio par defaut (ex: 1:2), les vues peuvent avoir leur propre echelle. | GetDocumentScale + GetViewScale par vue |
lire_fabricantREADPDM | Lit le fabricant ou fournisseur associe au document. Utile pour les pieces achetees ou sous-traitees. Retourne "(vide)" si non renseigne. | Pdm.GetManufacturer(pdmId) |
lire_format_mise_en_planREADMise en plan | Retourne les informations du format papier : taille (A4, A3, A2...), dimensions en mm, marges, orientation (paysage/portrait), nombre de pages. | GetSheetSize / Margins / PageCount |
lire_historique_revisionsREADNavigation | Affiche la timeline complete des revisions du document : revisions majeures et mineures avec auteur, date et commentaire. Permet de tracer l'evolution du document dans le temps. | Pdm.GetMajorRevisions + GetMinorRevisions |
lire_masse_volumeREADPhysique | Retourne la masse (kg), le volume (affiche en mm³) et la surface (affiche en mm²) du document actif depuis les proprietes systeme TopSolid. Necessite qu'un materiau soit affecte pour que la masse soit calculee. | Parameters systeme $Mass, $Volume, $Surface Area |
lire_materiauREADPhysique | Retourne le nom du materiau affecte a la piece et sa densite calculee. Si aucun materiau n'est affecte, la masse sera nulle. | Parameters systeme $Mass + $Volume |
lire_moments_inertieREADPhysique | Lit les moments principaux d'inertie en X, Y et Z depuis les proprietes systeme. Utilise en calcul de resistance des materiaux et dimensionnement mecanique. | Parameters systeme $Principal Moment of Inertia X/Y/Z |
lire_nomREADPDM | Lit le nom unique du document dans l'arborescence projet TopSolid (ex: "BRD-001", "Plaque_base"). C'est l'identifiant visible dans l'explorateur de projet, distinct de la designation. | Pdm.GetName(pdmId) |
lire_occurrencesREADAssemblage | Liste les occurrences visibles de l'assemblage avec leur document de definition. Les occurrences sont les representations dans l'arbre, les inclusions sont les operations sous-jacentes. | Assemblies.GetOccurrences → GetOccurrenceDefinitionDocument |
lire_operationsREADGeometrie | Affiche l'arbre de construction complet : liste de toutes les operations (features) avec nom et type (Extrusion, Revolution, Pocket, Fillet, Chamfer, Pattern, etc.). C'est l'historique de modelisation de la piece. | Operations.GetOperations → Elements.GetTypeFullName |
lire_parametre_reelREADParametres | Lit la valeur d'un parametre reel par son nom (match partiel insensible a la casse). La valeur retournee est en SI : 0.050000 signifie 50 mm, 0.785398 signifie 45 degres. | Parameters.GetRealValue — value = nom du parametre |
lire_parametre_texteREADParametres | Lit la valeur d'un parametre texte par son nom (match partiel). Les parametres texte servent souvent pour les references, noms de materiaux ou commentaires embarques dans le modele. | Parameters.GetTextValue — value = nom du parametre |
lire_parametresREADParametres | Liste tous les parametres du document actif avec pour chacun : nom, valeur et type (Real, Integer, Boolean, Text). Les valeurs reelles sont en SI (metres, radians). C'est la vue complete de l'arbre parametrique. | Parameters.GetParameters + GetParameterType + Get*Value |
lire_plis_depliageREADDepliage | Liste les plis du depliage tolerie avec pour chacun : angle de pliage (en degres), rayon interieur (en mm) et longueur developpee (en mm). Donnees essentielles pour programmer la plieuse. | Proprietes des operations de pliage |
lire_points_3dREADGeometrie | Liste tous les points 3D de construction du document avec leurs coordonnees X, Y, Z converties en mm. Les points 3D servent de references geometriques pour les contraintes et les assemblages. | Geometries3D.GetPoints → GetPointGeometry (×1000) |
lire_projection_principaleREADMise en plan | Identifie la piece ou l'assemblage 3D source de la mise en plan et les vues principales (face, dessus, droite). Permet de remonter du plan 2D vers le modele 3D. | GetProjectionDocument |
lire_projet_courantREADNavigation | Retourne le nom du projet actif dans TopSolid. C'est la premiere verification a faire pour s'assurer qu'un projet est bien ouvert avant toute operation. | Pdm.GetCurrentProject → GetName |
lire_propriete_batchREADBatch | Lit une propriete specifique (designation, reference, fabricant ou propriete utilisateur) sur tous les documents du projet. Retourne un tableau nom de document → valeur. Vue globale d'une propriete. | Pdm.Get* en boucle — value = nom de la propriete |
lire_propriete_utilisateurREADDocument | Lit une propriete utilisateur personnalisee (texte) du document. Ces proprietes sont definies par l'entreprise dans le modele PDM (ex: "Indice", "Traitement", "Validation"). | Pdm.GetUserPropertyValue — value = nom de la propriete |
lire_proprietes_pdmREADPDM | Retourne les 4 proprietes PDM principales d'un seul appel : nom, designation, reference et fabricant. Pratique pour un apercu rapide du document sans faire 4 appels separes. | Pdm.Get{Name,Description,PartNumber,Manufacturer} |
lire_referenceREADPDM | Lit la reference du document, aussi appelee part number ou numero de piece. C'est le code utilise pour le suivi en production et l'approvisionnement (ex: "REF-2024-0042"). Retourne "(vide)" si non renseignee. | Pdm.GetPartNumber(pdmId) |
lire_reperes_3dREADGeometrie | Liste les reperes 3D (frames/systemes de coordonnees) du document par nom. Les reperes definissent des systemes de reference locaux utilises pour le positionnement dans les assemblages. | Geometries3D.GetFrames |
lire_shapesREADGeometrie | Liste les shapes (corps solides) du document avec le nombre de faces de chaque shape. Un document peut contenir plusieurs shapes (multi-corps). Les faces sont les surfaces individuelles du solide. | Shapes.GetShapes → GetFaceCount |
lister_documents_dossierREADNavigation | Liste les documents contenus dans un dossier specifique du projet. Utile pour explorer un sous-ensemble sans tout lister. | Pdm.GetConstituents(folderId) — value = nom du dossier |
lister_documents_projetREADNavigation | Liste TOUS les documents du projet avec pour chacun : nom, designation et reference. Format tableau complet. Utile pour avoir une vue d'ensemble du contenu du projet. | Pdm.GetConstituents iteration complete |
lister_documents_sans_designationREADAudit | Detecte les documents du projet dont la designation (description fonctionnelle) est vide. Une designation manquante rend les nomenclatures et les recherches inutilisables. | Filtre GetDescription vide |
lister_documents_sans_referenceREADAudit | Detecte les pieces et assemblages du projet dont le champ reference (part number) est vide. Utile pour l'audit qualite avant mise en production ou archivage. | Filtre GetPartNumber vide |
lister_esquissesREADGeometrie | Liste les esquisses 2D (sketches) du document par nom. Les esquisses sont les profils de base utilises par les operations d'extrusion, revolution, balayage, etc. | Sketches2D.GetSketches |
lister_exporteursREADExport | Liste tous les formats d'export disponibles dans l'installation TopSolid courante. La liste depend des modules installes et des licences. | Documents.GetExporterNames |
lister_inclusionsREADAssemblage | Liste les inclusions de l'assemblage : chaque inclusion est une instance d'une piece (document de definition). Montre la relation inclusion → piece source. Permet de comprendre la structure de l'assemblage. | IsInclusion → GetInclusionDefinitionDocument |
lister_vues_mise_en_planREADMise en plan | Liste toutes les vues du plan avec pour chacune : nom, echelle et type (projection, coupe, detail, isometrique...). Les vues sont les representations 2D de la piece/assemblage 3D. | DraftingDocuments.GetViews → GetViewScale |
modifier_designationWRITEPDM | Change la designation (description fonctionnelle) du document actif. La sauvegarde PDM est automatique apres modification. Aucune transaction de modelisation necessaire. | Pdm.SetDescription — value = texte libre |
modifier_fabricantWRITEPDM | Change le fabricant ou fournisseur associe au document. Sauvegarde PDM automatique. | Pdm.SetManufacturer — value = nom fabricant |
modifier_nomWRITEPDM | Renomme le document dans l'arborescence projet. Attention : si d'autres documents referencent ce nom (inclusions, mises en plan), les liens peuvent etre impactes. | Pdm.SetName — value = nouveau nom |
modifier_parametre_reelWRITEParametres | Modifie la valeur d'un parametre reel. La valeur DOIT etre en unites SI : les longueurs en metres (50 mm = 0.05), les angles en radians (45° = 0.785398). TopSolid recalcule automatiquement le modele apres modification. | Parameters.SetRealValue — value = nom:valeurSI (ex: Longueur:0.15) |
modifier_parametre_texteWRITEParametres | Modifie la valeur d'un parametre texte. Le format est nom:valeur, separes par deux-points. Le match du nom est partiel et insensible a la casse. | Parameters.SetTextValue — value = nom:valeur |
modifier_propriete_utilisateurWRITEDocument | Modifie une propriete utilisateur personnalisee. Le format est nom:valeur separes par deux-points. La propriete doit exister dans le modele PDM. | Pdm.SetUserPropertyValue — value = nom:valeur |
modifier_referenceWRITEPDM | Change la reference / part number du document. Sauvegarde PDM automatique. Utile pour affecter ou corriger un code article en serie. | Pdm.SetPartNumber — value = nouvelle reference |
ouvrir_document_par_nomWRITENavigation | Cherche un document par nom dans le projet puis l'ouvre dans l'editeur TopSolid. Le document devient le document actif pour toutes les operations suivantes. Indispensable avant de lire parametres, shapes, etc. | Documents.Open(ref docId) — value = nom document |
ouvrir_mise_en_planWRITEMise en plan | Cherche automatiquement la mise en plan associee a la piece ou l'assemblage courant en parcourant les back-references PDM (documents de type .TopDft qui referencent le doc actif), puis l'ouvre dans l'editeur. | SearchBackReferences filtre .TopDft → Documents.Open |
rapport_masse_assemblageREADPhysique | Rapport de masse pour un assemblage complet : masse totale (kg), volume total, surface totale, et decompte des pieces. Donne une vue globale du poids de l'assemblage. Necessite un materiau sur chaque piece. | GetParts + proprietes systeme agreges |
reconstruire_documentWRITEDocument | Force la reconstruction complete du modele : recalcul de toutes les operations de l'arbre de construction dans l'ordre. Utile apres modification de parametres pour voir le resultat final. | Documents.Rebuild(docId) |
renommer_occurrenceWRITEAssemblage | Renomme une occurrence dans l'assemblage. Le match sur l'ancien nom est partiel et insensible a la casse. Utile pour donner des noms significatifs aux instances ("Vis_gauche", "Plaque_dessus"). | Entities.SetFunctionOccurrenceName — value = ancien:nouveau |
reporter_parametresWRITEBatch | Copie les valeurs de parametres du document actif vers un autre document du projet. Le match se fait par nom de parametre. Ignore les parametres systeme ($Mass, $Volume...). Ideal pour propager une modification sur plusieurs pieces similaires. | Parameters.Set{Real,Text,Integer,Boolean}Value — value = nom doc cible |
reporter_proprietes_pdmWRITEBatch | Copie la designation, la reference et le fabricant du document actif vers un autre document du projet. Utile pour homogeneiser les proprietes entre pieces d'une meme famille ou serie. | Pdm.Set{Description,PartNumber,Manufacturer} — value = nom doc cible |
resumer_projetREADNavigation | Resume synthetique du projet : nombre de documents par type (.TopPrt, .TopAsm, .TopDft...), nombre de dossiers, structure globale. Vue macro avant de plonger dans le detail. | Comptage par Pdm.GetType |
sauvegarder_documentWRITEDocument | Sauvegarde le document actif dans le PDM TopSolid. Equivalent du Ctrl+S dans l'interface. A faire apres des modifications de parametres ou de proprietes. | Pdm.Save(pdmId, true) |
sauvegarder_tout_projetWRITEDocument | Sauvegarde tous les documents du projet en une seule passe. Equivalent du "Sauvegarder tout" de TopSolid. A utiliser apres des modifications batch ou avant de fermer. | Pdm.Save en boucle sur tous les docs |
selectionner_faceASKSelection | Demande a l'utilisateur de cliquer une face dans la vue 3D. Retourne le shape parent et l'index de la face selectionnee. Utilise pour les operations face-specifiques (couleur, usinage). | User.AskFace |
selectionner_point_3dASKSelection | Demande a l'utilisateur de cliquer un point dans l'espace 3D de TopSolid. Retourne les coordonnees X, Y, Z en mm. Utile pour definir une position, un point de reference ou mesurer une distance. | User.AskPoint3D |
selectionner_shapeASKSelection | Ouvre une boite de dialogue TopSolid demandant a l'utilisateur de cliquer un corps solide (shape) a l'ecran. Retourne le nom du shape et son nombre de faces. Utile quand l'IA ne peut pas determiner automatiquement quel element traiter. | User.AskShape |
type_documentREADDocument | Retourne le type du document actif : piece (.TopPrt), assemblage (.TopAsm), mise en plan (.TopDft), etc. Detecte aussi si c'est une famille ou une mise a plat. Premiere chose a verifier pour adapter le traitement. | IsAssembly + IsDraftingDocument + IsFamily + GetType |
verifier_drivers_familleREADFamille | Verifie que les parametres drivers de la famille (ceux qui pilotent le catalogue) ont une designation renseignee. Les drivers sans designation rendent le catalogue moins lisible. Liste ceux a corriger. | Families.GetCatalogColumnParameters → GetDescription |
verifier_drivers_famille_batchREADFamille | Audit les drivers de TOUTES les familles du projet d'un coup. Detecte les drivers sans designation sur chaque famille. Rapport global pour corriger en serie. | IsFamily → GetCatalogColumnParameters en boucle |
verifier_materiaux_manquantsREADAudit | Parcourt le projet et liste les pieces qui n'ont pas de materiau affecte (masse = 0 kg). Indispensable avant un calcul de masse d'assemblage ou un export pour simulation. | Filtre $Mass == 0 sur tous les docs |
verifier_pieceREADAudit | Check-list qualite pour la piece : designation renseignee ? Reference renseignee ? Materiau affecte ? Retourne OK ou ATTENTION pour chaque critere. A utiliser avant livraison ou archivage. | GetDescription + GetPartNumber + presence materiau |
verifier_projetREADAudit | Verification qualite a l'echelle du projet entier : liste les pieces sans designation et les pieces sans reference (part number). Detecte les documents incomplets avant une livraison. | Iteration complete avec filtres |
verifier_virtuel_batchREADBatch | Verifie la propriete 'virtuel' (IsVirtualDocument) sur tous les documents du projet. Liste les documents non-virtuels. Un document virtuel n'est pas stocke physiquement sur le serveur. | Documents.IsVirtualDocument en boucle |
vider_auteur_batchWRITEBatch | Vide le champ Auteur de tous les documents du projet. Utile pour anonymiser les fichiers avant une livraison client ou un transfert de projet. | Pdm.SetAuthor("") en boucle |
vider_auteur_documentWRITEDocument | Vide le champ Auteur du document courant uniquement. | Pdm.SetAuthor(pdmId, "") |
Par categorie (detail)
Proprietes PDM (9 recettes)
Les proprietes PDM (Product Data Management) sont les metadonnees du document TopSolid : designation, nom, reference et fabricant. Elles sont stockees dans le gestionnaire PDM et accessibles sans ouvrir le document en edition.
| Recette | Description | Technique | Mode |
|---|---|---|---|
read_designation | Lit la description fonctionnelle du document (ex: "Bride de serrage"). Retourne (vide) si non renseignee. | Pdm.GetDescription(pdmId) | READ |
read_name | Lit le nom unique du document dans l'arborescence projet (ex: "BRD-001"). | Pdm.GetName(pdmId) | READ |
read_reference | Lit le numero de reference / part number (ex: "REF-2024-0042"). Retourne (vide) si non renseignee. | Pdm.GetPartNumber(pdmId) | READ |
read_manufacturer | Lit le fabricant ou fournisseur associe au document. | Pdm.GetManufacturer(pdmId) | READ |
read_pdm_properties | Retourne les 4 proprietes PDM d'un coup : nom, designation, reference, fabricant. Utile pour un apercu rapide. | Pdm.Get{Name,Description,PartNumber,Manufacturer} | READ |
set_designation | Change la designation. Sauvegarde auto. | Pdm.SetDescription — value = texte libre | WRITE |
set_name | Renomme le document dans le projet. Attention : peut casser des liens si d'autres documents referencent ce nom. | Pdm.SetName — value = nouveau nom | WRITE |
set_reference | Change la reference / part number. Sauvegarde auto. | Pdm.SetPartNumber — value = nouvelle ref | WRITE |
set_manufacturer | Change le fabricant. Sauvegarde auto. | Pdm.SetManufacturer — value = nom fabricant | WRITE |
Navigation projet (22 recettes)
Recettes pour explorer l'arborescence du projet, chercher des documents, lister des dossiers. Le projet TopSolid est une hierarchie PDM avec dossiers et documents de differents types (.TopPrt, .TopAsm, .TopDft...).
| Recette | Description | Technique | Mode |
|---|---|---|---|
read_current_project | Retourne le nom du projet actif dans TopSolid. Premiere verification utile. | Pdm.GetCurrentProject() → Pdm.GetName() | READ |
read_project_contents | Parcourt recursivement toute l'arborescence : dossiers, sous-dossiers et documents. Indente par niveau. Affiche le total dossiers/documents. | Pdm.GetConstituents() recursif | READ |
search_document | Recherche un document par nom (match partiel, CONTAINS). Retourne nom + designation + reference pour chaque resultat. | Pdm.SearchDocumentByName(projId, value) — value = texte a chercher | READ |
search_folder | Recherche un dossier par nom dans le projet (match partiel). | Pdm.GetConstituents() + filtre nom — value = texte a chercher | READ |
open_document_by_name | Cherche puis ouvre un document dans l'editeur TopSolid. Le document devient le document actif. | Documents.Open(ref docId) — value = nom du document | WRITE |
list_project_documents | Liste TOUS les documents du projet avec designation et reference. Format tableau. | Pdm.GetConstituents() iteration complete | READ |
list_folder_documents | Liste les documents d'un dossier specifique. Utile pour explorer un sous-ensemble du projet. | Pdm.GetConstituents(folderId) — value = nom du dossier | READ |
summarize_project | Resume synthetique : nombre de documents par type (.TopPrt, .TopAsm, .TopDft...), nombre de dossiers. | Comptage par extension via Pdm.GetType() | READ |
count_documents_by_type | Compte les documents groupes par type. Retourne un tableau type → quantite. | Pdm.GetType() sur chaque doc | READ |
list_documents_without_reference | Detecte les pieces/assemblages dont le champ reference est vide. Utile pour l'audit qualite. | Filtre GetPartNumber() == "" | READ |
list_documents_without_designation | Detecte les documents sans designation. Utile pour l'audit qualite. | Filtre GetDescription() == "" | READ |
search_parts_by_material | Liste les pieces avec leur materiau et masse. Filtre optionnel sur le nom du materiau. | Parameters.GetRealValue(Mass) + materiau — value = filtre optionnel | READ |
read_where_used | Where-used : trouve tous les documents qui referencent le document courant (assemblages parents, mises en plan). | Pdm.SearchMajorRevisionBackReferences() | READ |
read_revision_history | Timeline des revisions majeures et mineures du document courant avec auteur et date. | Pdm.GetMajorRevisions() + GetMinorRevisions() | READ |
compare_revisions | Compare les parametres entre la revision courante et la precedente. Montre les valeurs qui ont change. | Diff GetParameters() entre 2 revisions | READ |
find_modified_documents | Liste les documents non sauvegardes (dirty) du projet. Utile avant un export ou une fermeture. | Documents.IsDirty(docId) sur chaque doc | READ |
batch_export_step | Exporte TOUTES les pieces et assemblages du projet en STEP dans un dossier. Un fichier par document. | Documents.Export() en boucle — value = chemin dossier (optionnel) | READ |
batch_read_property | Lit une propriete specifique sur tous les documents du projet. Retourne un tableau nom → valeur. | Iteration + Pdm.Get{Description,PartNumber,...} — value = nom propriete | READ |
batch_clear_author | Vide le champ Auteur de tous les documents du projet. Utile pour anonymiser avant livraison. | Pdm.SetAuthor(pdmId, "") en boucle | WRITE |
clear_document_author | Vide le champ Auteur du document courant uniquement. | Pdm.SetAuthor(pdmId, "") | WRITE |
batch_check_virtual | Verifie la propriete "virtuel" (IsVirtualDocument) sur tous les documents. Liste les non-virtuels. | Documents.IsVirtualDocument() en boucle | READ |
batch_enable_virtual | Active le mode virtuel sur tous les documents non-virtuels du projet. | Documents.SetVirtualDocumentMode(true) en boucle | WRITE |
Parametres (6 recettes)
Les parametres TopSolid sont les variables du modele : cotes, dimensions, textes. Ils pilotent la geometrie parametrique. Les valeurs sont toujours en SI (metres, radians, kg).
| Recette | Description | Technique | Mode |
|---|---|---|---|
read_parameters | Liste tous les parametres du document avec nom, valeur et type (Real, Integer, Boolean, Text). | Parameters.GetParameters(docId) + GetParameterType + Get{Real,Integer,Boolean,Text}Value | READ |
read_real_parameter | Lit la valeur d'un parametre reel par nom (match partiel). Retourne la valeur en SI. Ex: 0.050000 = 50mm. | Parameters.GetRealValue() — value = nom du parametre | READ |
read_text_parameter | Lit la valeur d'un parametre texte par nom (match partiel). | Parameters.GetTextValue() — value = nom du parametre | READ |
set_real_parameter | Modifie un parametre reel. La valeur doit etre en SI (metres). Ex: 50mm → 0.05. | Parameters.SetRealValue() — value = nom:valeurSI (ex: Longueur:0.15) | WRITE |
set_text_parameter | Modifie un parametre texte. | Parameters.SetTextValue() — value = nom:valeur (ex: Materiau:Acier) | WRITE |
compare_parameters | Compare les parametres entre le document actif et un autre. Affiche les differences (valeur A vs B) et les parametres exclusifs a chacun. | Diff par nom de parametre — value = nom de l'autre document | READ |
Masse, volume, dimensions (7 recettes)
Proprietes physiques calculees par TopSolid. Necessitent un materiau affecte pour la masse. Les valeurs systeme sont accessibles via les parametres speciaux ($Mass, $Volume, etc.).
| Recette | Description | Technique | Mode |
|---|---|---|---|
read_mass_volume | Retourne masse (kg), volume (mm³), surface (mm²) depuis les proprietes systeme du document. Necessite un materiau pour la masse. | Parameters systeme : $Mass, $Volume, $Surface Area | READ |
assembly_mass_report | Masse totale de l'assemblage, volume, surface, et nombre de pieces. Vue globale assemblage. | GetParts() + proprietes systeme agreges | READ |
read_material_density | Calcule la densite (kg/m³) a partir de masse/volume. Utile pour verifier le materiau affecte. | masse / volume depuis parametres systeme | READ |
read_material | Retourne le nom du materiau affecte et la densite calculee. | Parametres systeme $Mass + $Volume | READ |
read_part_dimensions | Lit Height, Width, Length et Box Size depuis les proprietes systeme. Valeurs en mm. | Parameters systeme : $Height, $Width, $Length, $Box Size | READ |
read_bounding_box | Boite englobante : min/max XYZ en mm. Calcule aussi les dimensions LxlxH. | Parametres systeme bounding box | READ |
read_inertia_moments | Moments principaux d'inertie X, Y, Z. Utile pour le calcul de resistance. | Parameters systeme : $Principal Moment of Inertia X/Y/Z | READ |
Geometrie et visualisation (5 recettes)
Acces a la geometrie du modele : points, reperes, esquisses, shapes (corps solides), operations (arbre de construction).
| Recette | Description | Technique | Mode |
|---|---|---|---|
read_3d_points | Liste les points 3D avec coordonnees X, Y, Z en mm. | Geometries3D.GetPoints() → GetPointGeometry() (×1000 pour mm) | READ |
read_3d_frames | Liste les reperes 3D (frames) par nom. | Geometries3D.GetFrames() | READ |
list_sketches | Liste les esquisses 2D du document par nom. | Sketches2D.GetSketches() | READ |
read_shapes | Liste les shapes (corps solides) avec nombre de faces par shape. | Shapes.GetShapes() → GetFaceCount() | READ |
read_operations | Arbre de construction : liste les operations avec nom et type (Extrusion, Revolution, Pocket, etc.). | Operations.GetOperations() → Elements.GetTypeFullName() | READ |
Attributs visuels (11 recettes)
Couleur, transparence, calques — tout ce qui concerne l'apparence visuelle des elements. Les couleurs sont en RGB (0-255). La transparence va de 0.0 (opaque) a 1.0 (invisible).
| Recette | Description | Technique | Mode |
|---|---|---|---|
attr_read_all | Lit couleur, transparence, calque et visibilite de tous les elements. Vue complete des attributs visuels. | Elements.GetColor/Transparency + Layers.GetLayer | READ |
attr_read_color | Lit la couleur RGB de chaque shape. Retourne "pas de couleur" si heritee du materiau. | Elements.HasColor() → GetColor() | READ |
attr_read_face_colors | Lit les couleurs face par face. Utile quand chaque face a sa propre couleur. | Shapes.GetFaces() → Elements.GetColor() par face | READ |
attr_set_color | Change la couleur d'un shape. Si plusieurs shapes, TopSolid demande une selection interactive. | Elements.SetColor(target, Color) — value = R,G,B (ex: 255,0,0) | WRITE |
attr_set_color_all | Change la couleur de TOUS les elements d'un coup. Pas de selection. | Elements.SetColor() en boucle — value = R,G,B | WRITE |
attr_replace_color | Remplace une couleur specifique par une autre sur tous les elements. Ex: tout le vert → rouge. | Filtre par couleur source → SetColor() — value = R1,G1,B1:R2,G2,B2 | WRITE |
attr_read_transparency | Lit la transparence de chaque shape (0.0 a 1.0). | Elements.HasTransparency() → GetTransparency() | READ |
attr_set_transparency | Change la transparence. Si plusieurs shapes, selection interactive. | Elements.SetTransparency() — value = 0.0 a 1.0 | WRITE |
attr_list_layers | Liste les calques (layers) du document par nom. | Layers.GetLayers() | READ |
attr_assign_layer | Deplace un element vers un calque. | Layers.SetLayer(elemId, layerId) — value = nom_element:nom_calque | WRITE |
select_shape | Demande a l'utilisateur de cliquer sur un shape dans TopSolid. Retourne nom + nombre de faces. | User.AskShape() interactif | ASK |
Selection interactive (3 recettes)
Recettes qui ouvrent une boite de dialogue TopSolid pour que l'utilisateur pointe un element a l'ecran. Utile quand l'IA ne peut pas determiner l'element automatiquement.
| Recette | Description | Technique | Mode |
|---|---|---|---|
select_shape | L'utilisateur clique sur un corps solide. Retourne nom et nombre de faces. | User.AskShape() | ASK |
select_face | L'utilisateur clique sur une face. Retourne le shape parent et l'index de la face. | User.AskFace() | ASK |
select_3d_point | L'utilisateur clique un point dans l'espace 3D. Retourne les coordonnees X, Y, Z en mm. | User.AskPoint3D() | ASK |
Assemblages (8 recettes)
Un assemblage TopSolid contient des inclusions (instances de pieces) avec des contraintes de positionnement. Chaque inclusion reference un document "definition".
| Recette | Description | Technique | Mode |
|---|---|---|---|
detect_assembly | Verifie si le document courant est un assemblage. Si oui, liste les pieces. | Assemblies.IsAssembly() → GetParts() | READ |
list_inclusions | Liste les inclusions avec le document de definition de chaque instance. Montre la structure assemblage → piece. | Operations.GetOperations() filtre IsInclusion() → GetInclusionDefinitionDocument() | READ |
read_occurrences | Liste les occurrences (instances visibles) avec leur document de definition. | Assemblies.GetParts() + GetOccurrenceDefinition() | READ |
count_assembly_parts | Compte les pieces groupees par reference (type). Retourne quantite par piece unique et total. Ex: "Vis M8: 4, Plaque: 2 → 6 pieces". | GetParts() groupe par GetInclusionDefinitionDocument() | READ |
rename_occurrence | Renomme une occurrence dans l'assemblage. Match par nom partiel (insensible a la casse). | Entities.SetFunctionOccurrenceName() — value = ancien_nom:nouveau_nom | WRITE |
count_occurrences (v1.6.2) | Compte total / inclusions / definitions uniques. | GetParts() + IsOccurrence() + GetOccurrenceDefinition() | READ |
list_inclusions_with_reference (v1.6.2) | Pour chaque inclusion : nom + reference PDM + designation de la definition. Utile pour audit BOM. | GetParts() + Pdm.GetPartNumber/GetDescription | READ |
find_occurrence (v1.6.2) | Recherche d'occurrence par fragment de nom. value=fragment. | Substring match sur GetFriendlyName() | READ |
Familles (5 recettes)
Une famille TopSolid est un document parametrique avec des configurations (codes). Les drivers sont les parametres qui pilotent les variantes du catalogue.
| Recette | Description | Technique | Mode |
|---|---|---|---|
detect_family | Verifie si le document est une famille. Indique si elle est explicite (catalogue) ou implicite (parametrique). | Families.IsFamily() + IsExplicit() | READ |
read_family_codes | Liste les codes (variantes) de la famille. Chaque code correspond a une configuration du catalogue. | Families.GetCodes() | READ |
check_family_drivers | Verifie que les drivers (parametres pilotant le catalogue) ont une designation. Liste ceux sans description. | Families.GetCatalogColumnParameters() → Elements.GetDescription() | READ |
fix_family_drivers | Genere automatiquement une designation pour les drivers sans description, en deduisant du nom du parametre (CamelCase → mots separes). | Elements.SetDescription() auto-genere — aucun value | WRITE |
batch_check_family_drivers | Audit des drivers de TOUTES les familles du projet. Detecte les drivers sans designation sur chaque famille. | Iteration IsFamily() → GetCatalogColumnParameters() | READ |
Export (7 recettes)
Export du document actif vers differents formats CAO/dessin. Le chemin est optionnel — si omis, TopSolid utilise le dossier par defaut (temp ou bureau). L'exporteur est selectionne automatiquement par nom.
| Recette | Description | Technique | Mode |
|---|---|---|---|
export_step | Export STEP (AP214). Format universel d'echange CAO. Retourne le chemin du fichier cree. | Documents.Export() avec exporteur STEP — value = chemin (optionnel) | READ |
export_dxf | Export DXF (AutoCAD). Pour les mises en plan ou profils 2D. | Documents.Export() avec exporteur DXF — value = chemin (optionnel) | READ |
export_pdf | Export PDF. Pour les mises en plan principalement. | Documents.Export() avec exporteur PDF — value = chemin (optionnel) | READ |
export_stl | Export STL (maillage triangles). Pour l'impression 3D ou la visualisation. | Documents.Export() avec exporteur STL — value = chemin (optionnel) | READ |
export_iges | Export IGES. Format historique d'echange CAO, encore utilise dans l'aeronautique. | Documents.Export() avec exporteur IGES — value = chemin (optionnel) | READ |
list_exporters | Liste tous les formats d'export disponibles dans l'installation TopSolid. | Documents.GetExporterNames() | READ |
export_bom_csv | Exporte la nomenclature (BOM) du document en format texte avec colonnes separees. | Lecture Nomenclatures → format texte | READ |
Audit et verification (8 recettes)
Outils de controle qualite : verification des proprietes, coherence des noms de parametres, materiaux manquants. Essentiels avant livraison ou archivage.
| Recette | Description | Technique | Mode |
|---|---|---|---|
audit_part | Audit complet : proprietes PDM, parametres (nombre + liste), shapes, masse, volume, surface, materiau. Rapport synthetique. | Combinaison Pdm.* + Parameters.* + Shapes.* + parametres systeme | READ |
audit_assembly | Audit assemblage : pieces, inclusions, occurrences, masse totale, structure. | Assemblies.GetParts() + GetOccurrences() + masse systeme | READ |
check_part | Check-list qualite : designation renseignee ? Reference renseignee ? Materiau affecte ? Retourne OK/ATTENTION par critere. | Verification GetDescription, GetPartNumber, presence materiau | READ |
check_project | Verification qualite sur tout le projet : liste les pieces sans designation et sans reference. | Iteration complete avec filtres | READ |
check_missing_materials | Liste les pieces du projet qui n'ont pas de materiau affecte (masse = 0). | Filtre $Mass == 0 sur tous les docs | READ |
audit_parameter_names | Detecte les incoherences de convention dans les noms de parametres (CamelCase vs snake_case, doublons proches, caracteres speciaux). | Analyse syntaxique des noms via regex | READ |
batch_audit_parameter_names | Meme audit sur tous les documents du projet. Rapport global. | Iteration complete + analyse syntaxique | READ |
batch_audit_driver_designations | Liste les designations de drivers de toutes les familles pour inspection visuelle (fautes, incoherences). | GetCatalogColumnParameters() → GetDescription() sur toutes les familles | READ |
Mise en plan (10 recettes)
La mise en plan (Drafting) est le dessin technique 2D genere a partir d'une piece ou assemblage 3D. Elle contient des vues, une echelle, un format papier.
| Recette | Description | Technique | Mode |
|---|---|---|---|
detect_drafting | Verifie si le document est une mise en plan. Retourne le nombre de vues et le format. | Draftings.IsDrafting() | READ |
open_drafting | Cherche la mise en plan associee a la piece courante (via back-references PDM) et l'ouvre. | Pdm.SearchMajorRevisionBackReferences() filtre .TopDft → Documents.Open() | WRITE |
list_drafting_views | Liste les vues du plan avec nom et titre. | Draftings.GetDraftingViews() | READ |
read_drafting_scale | Lit l'echelle globale du plan et l'echelle de chaque vue individuellement. | Draftings.GetScaleFactorParameterValue() + GetViewScaleFactor() | READ |
read_drafting_format | Format papier (A3/A4), dimensions en mm, nombre de pages, mode de projection. | Draftings.GetDraftingFormatName/Dimensions/PageCount | READ |
read_main_projection | Identifie la piece source de la mise en plan et les vues principales. | Draftings.GetMainProjectionSet() | READ |
set_drafting_scale (v1.6.1) | Change l'echelle globale du plan. value=denominateur (ex: 10 → 1:10). | Draftings.SetScaleFactorParameterValue() — Pattern D | WRITE |
set_drafting_format (v1.6.1) | Change le format papier. value=nom (ex: A3, A4). | Draftings.SetDraftingFormatName() — Pattern D | WRITE |
set_projection_quality (v1.6.1) | Qualite de projection. value=exact (precis) ou fast (rapide). | Draftings.SetProjectionMode() — Pattern D | WRITE |
print_drafting (v1.6.1) | Imprime toutes les pages du plan (N&B, 300 DPI, a l'echelle). | Draftings.Print() | READ |
Nomenclature / BOM (6 recettes)
La nomenclature (Bill of Materials) est le tableau des composants d'un assemblage. Elle est generalement dans la mise en plan.
| Recette | Description | Technique | Mode |
|---|---|---|---|
detect_bom | Verifie si le document contient une nomenclature. Retourne le nombre de colonnes. | Boms.IsBom() | READ |
read_bom_columns | Liste les colonnes du tableau (Repere, Designation, Quantite, Reference...). | Boms.GetColumnCount() + GetColumnTitle() | READ |
read_bom_contents | Lit le tableau complet : toutes les lignes actives avec toutes les cellules. Format texte tabulaire. | Boms.GetRowChildrenRows() + GetRowContents() | READ |
count_bom_rows | Compte les lignes actives et inactives de la nomenclature. | Boms.IsRowActive() sur chaque ligne | READ |
activate_bom_row (v1.6.1) | Active une ligne BOM par index. value=row_index. | Boms.ActivateRow() — Pattern D | WRITE |
deactivate_bom_row (v1.6.1) | Desactive une ligne BOM par index. value=row_index. | Boms.DeactivateRow() — Pattern D | WRITE |
Mise a plat / Depliage (3 recettes)
Le depliage (flat pattern) concerne la tolerie : une piece en tole est "depliee" pour obtenir le contour plat a decouper. Les plis ont un angle, un rayon et une longueur.
| Recette | Description | Technique | Mode |
|---|---|---|---|
detect_unfolding | Verifie si le document contient un depliage tolerie. Liste les plis detectes. | Detection via operations de type FlatPattern | READ |
read_bend_features | Liste les plis avec angle (degres), rayon interieur (mm) et longueur (mm). | Proprietes des operations de pliage | READ |
read_unfolding_dimensions | Dimensions du contour deplie : longueur et largeur du flan plat en mm. | Parametres systeme de depliage | READ |
Document (7 recettes)
Operations sur le document actif : sauvegarde, reconstruction, proprietes utilisateur personnalisees.
| Recette | Description | Technique | Mode |
|---|---|---|---|
document_type | Retourne le type du document actif : piece, assemblage, mise en plan, etc. Detecte aussi famille et mise a plat. | IsAssembly(), IsDraftingDocument(), IsFamily(), GetType() | READ |
save_document | Sauvegarde le document actif. | Pdm.Save(pdmId, true) | WRITE |
rebuild_document | Force la reconstruction du modele (recalcul de toutes les operations). Utile apres modification de parametres. | Documents.Rebuild(docId) | WRITE |
save_all_project | Sauvegarde tous les documents du projet en une passe. | Pdm.Save() en boucle sur tous les docs | WRITE |
invoke_command | Execute une commande menu TopSolid par son nom interne. Attention : certaines commandes ouvrent des dialogues. | Application.InvokeCommand(value) — value = nom de la commande | WRITE |
Proprietes utilisateur et document (5 recettes)
Les proprietes utilisateur sont definies par l'entreprise (dossier PDM dedie) et materialisees dans chaque document comme des parametres speciaux. La resolution par Pdm.GetTextUserProperty(pdmId, "name_string") ne fonctionne pas — l'API attend une PdmObjectId pointant sur la definition. Le pattern fiable est d'iterer Parameters.GetParameters() et filtrer ceux avec une UserPropertyDefinition non-vide.
| Recette | Description | Technique | Mode |
|---|---|---|---|
read_user_property (v1.6.2 fixed) | Lit une propriete utilisateur par son nom visible (text/real/integer/boolean, auto-type). | Parameters.GetUserPropertyDefinition() + match par GetFriendlyName() | READ |
list_user_properties (v1.6.2) | Liste toutes les proprietes utilisateur du document avec type + valeur courante. | Iteration GetParameters() + filtre GetUserPropertyDefinition() != Empty | READ |
set_user_property (v1.6.2 fixed) | Modifie une propriete utilisateur par son nom visible, parse la valeur selon le type. value=nom:valeur. | Parameters.SetTextValue/SetRealValue/... apres lookup UserPropertyDefinition | WRITE |
list_document_properties (v1.6.2) | Liste TOUTES les proprietes document (systeme + user) via IDocuments.GetProperties() — utile pour decouvrir le fullName exact d'une propriete. | Documents.GetProperties(docId) + GetPropertyType() | READ |
read_document_property (v1.6.2) | Lit n'importe quelle propriete document par son fullName (auto-detect type). value=fullName. | Documents.GetPropertyType() + GetPropertyXxxValue() | READ |
Comparaison de documents (3 recettes)
Compare le document courant avec un autre document du meme projet. Utile pour verifier des differences entre revisions ou variantes.
| Recette | Description | Technique | Mode |
|---|---|---|---|
compare_document_operations | Compare l'arbre de construction entre 2 documents. Montre les operations ajoutees, supprimees ou differentes. | Operations.GetOperations() diff par nom — value = nom de l'autre document | READ |
compare_document_entities | Compare les entites (shapes, esquisses, points, reperes) entre 2 documents. Montre les differences de quantite. | Comptage Shapes/Sketches/Points/Frames — value = nom de l'autre document | READ |
compare_revisions | Compare les parametres de la revision courante avec la revision precedente du meme document. | Pdm.GetMajorRevisions() → diff parametres | READ |
Report de modifications (2 recettes)
Copie des proprietes d'un document vers un autre. Utile pour propager des modifications en serie.
| Recette | Description | Technique | Mode |
|---|---|---|---|
copy_parameters_to | Copie les valeurs de parametres du document actif vers un autre. Match par nom de parametre. Ignore les parametres systeme ($Mass, etc.). | Parameters.Set{Real,Text,Integer,Boolean}Value() — value = nom du document cible | WRITE |
copy_pdm_properties_to | Copie designation, reference et fabricant du document actif vers un autre. | Pdm.Set{Description,PartNumber,Manufacturer}() — value = nom du document cible | WRITE |
Document virtuel (2 recettes)
| Recette | Description | Technique | Mode |
|---|---|---|---|
enable_virtual_document | Active le mode virtuel sur le document courant. Un document virtuel n'est pas sauvegarde physiquement. | Documents.SetVirtualDocumentMode(docId, true) | WRITE |
batch_enable_virtual | Active le mode virtuel sur tous les documents non-virtuels du projet. | SetVirtualDocumentMode(true) en boucle | WRITE |
Pattern de modification
Toutes les recettes WRITE suivent le meme pattern :
TopSolidHost.Application.StartModification("Description", false);
TopSolidHost.Documents.EnsureIsDirty(ref docId);
// ... modifications ...
TopSolidHost.Application.EndModification(true, true);
TopSolidHost.Pdm.Save(pdmId, true);DANGER
EnsureIsDirty(ref docId) change le docId ! Chercher les elements APRES cet appel, jamais avant.
Couleurs de reference
| Nom | RGB |
|---|---|
| rouge | 255,0,0 |
| vert | 0,128,0 |
| bleu | 0,0,255 |
| jaune | 255,255,0 |
| orange | 255,165,0 |
| blanc | 255,255,255 |
| noir | 0,0,0 |
| gris | 128,128,128 |
Unites (TopSolid = SI)
| Grandeur | Unite SI | Conversion |
|---|---|---|
| Longueurs | metres | 50 mm = 0.05 |
| Angles | radians | 45° = 0.785398 |
| Masses | kg | |
| Volumes | m³ | Affiche en mm³ (×10⁹) |
| Surfaces | m² | Affiche en mm² (×10⁶) |
Tests LIVE
59/61 tests PASS sur TopSolid vivant (assemblage REF-MCPTEST).
| Categorie | PASS | Total |
|---|---|---|
| PDM read/write | 6 | 6 |
| Assemblage | 6 | 6 |
| Export (STEP/STL/IGES/DXF/PDF) | 5 | 5 |
| Attributs lecture | 5 | 5 |
| Parametres | 1 | 1 |
| Geometrie | 1 | 1 |
| Projet | 1 | 1 |
21 recettes non testees automatiquement (Ask* interactives, contexte specifique requis).
Dataset LoRA
2114 entrees ShareGPT dans data/lora-dataset-en.jsonl pour fine-tuner le sous-agent 3B (ministral-topsolid v6 conversational). Couvre les 124 recettes + patterns multi-turn + error-handling + acknowledgments. Script regenerable : scripts/generate-lora-dataset-en.py.
Eval : 100/100 sur 50 questions (5 tiers, trivial → piege), multi-turn verifie manuellement.
Pattern d'ecriture dans modify_script
Les recettes WRITE passent par topsolid_modify_script qui wrappe automatiquement StartModification / EnsureIsDirty / EndModification / Pdm.Save. Contraintes :
- NE PAS utiliser
return "..."— le wrapper l'interdit. - Utiliser
__message = "..."pour personnaliser le message de retour. return;(void) est autorise pour les early exits — transforme engoto __done;.- Variables pre-declarees :
docId,pdmId,__message.
Exemple (extrait de set_drafting_scale) :
if (docId.IsEmpty) { __message = "No document open."; return; }
double factor = 1.0 / denom;
TopSolidDraftingHost.Draftings.SetScaleFactorParameterValue(docId, factor);
__message = "OK: drafting scale set to 1:" + denom;