Problème Macro pour CATIA V5R14

Problème Macro pour CATIA V5R14 - VB/VBA/VBS - Programmation

Marsh Posté le 15-05-2006 à 14:17:14    

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.

Reply

Marsh Posté le 15-05-2006 à 14:17:14   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed