Bonjour, Je développe une macro en VBA pour CATIA V5R14. La macro effectue des opérations sur un document de type « Drafting » et je rencontre des problèmes avec certaines fonctions : - la fonction GetBoundaryBox(), elle doit me retourner la position de ma dimension sur le calque de travail. Le problème est que j’ai toujours le même message d’erreur : ”Compile error : Function or interface marked as restricted, or the function uses an automation type not supported in Visual Basic” Voici l’aide proposé par DS pour cette fonction: o Sub GetBoundaryBox(CATSafeArrayVariant oValues) Get boundary box coordinates of dimension value. Parameters: oValues List of boundary box coordinates (X1,Y1,X2,Y2,.....X4,Y4). Example: This example gets boundary box coordinates of MyDimension path. MyDimension.GetBoundaryBox(oValues) Mon programme pour cette fonction : (je veux lire la position de la dimension) Sub CATMain() '--------------------------------------------------------------------------- '1/ Lecture du document .CATDrawing ouvert '--------------------------------------------------------------------------- Dim DrwDoc As DrawingDocument 'Variable type de document Set DrwDoc = CATIA.ActiveDocument 'on active le document '--------------------------------------------------------------------------- '2/ Sélection du calque contenant les vues à copier '--------------------------------------------------------------------------- Dim oSheetSource As DrawingSheet 'Variable calque source Set oSheetSource = DrwDoc.Sheets.Item("Sheet.1") 'nom du calque source '--------------------------------------------------------------------------- '3/ Sélection de la vue à copier '--------------------------------------------------------------------------- Dim oViewSource1 As DrawingView Set oViewSource1 = oSheetSource.Views.Item("AB-AB") oViewSource1.Activate oSheetSource.Activate Set DrwDoc = CATIA.ActiveDocument Dim oDimensions As DrawingDimensions Set oDimensions = oViewSource1.Dimensions Dim oDimension As DrawingDimension Set oDimension = oDimensions.Item(1) Dim selection1 As Selection Set selection1 = DrwDoc.Selection selection1.Clear selection1.Add oDimension Dim X1 As Single Dim Y1 As Single Dim X2 As Single Dim Y2 As Single Dim X3 As Single Dim Y3 As Single Dim X4 As Single Dim Y4 As Single oDimension.GetBoundaryBox X1, Y1, X2, Y2, X3, Y3, X4, Y4 End Sub - Je souhaiterais créer une droite, toujours dans un document Drafting (jusque la tout va bien), mais je voudrais que cette droite est une contrainte de type “fixe” (et là, c’est le drame). J’arrive à appliquer des contraintes dans un document de type « .Part » mais je ne parviens pas à trouver la fonction pour le Drafting. Si vous avez des infos sur ces fonctions, je suis preneur. Merci par avance. Stéphane.