Bonjour
J’ai un système de coordonnées perso
J’ai des points dans l’assemblage
J’arrive à mesurer ces points manuellement pour obtenir les coordonnées X/Y/Z
Je développe une macro pour automatiser cette tâche et me renvoyer la liste des points et leurs coordonnées.
J’arrive à mesurer les points mais ça le fait d’après le système de coordonnées par défaut, et non pas avec celui que je veux
Voici le bout de mon code qui lit les coordonnées dans un dossier nommé « connexions » :
If (typeName = "FtrFolder" And swFeature.Name = "Connexions") Then
Debug.Print swFeature.Name
Debug.Print " Current coordinate system = " & swModel.GetUserPreferenceStringValue(swFileSaveAsCoordinateSystem)
Set swFeatFolder = swFeature.GetSpecificFeature2
Features = swFeatFolder.GetFeatures
Debug.Print " Number of Features: " & swFeatFolder.GetFeatureCount
For i = 0 To (swFeatFolder.GetFeatureCount - 1)
Set swFtrFolder = Features(i)
Debug.Print " Name of feature: " & swFtrFolder.Name
Debug.Print " Type of feature: " & swFtrFolder.GetTypeName2
Set swRefPt = swFtrFolder.GetSpecificFeature2
Set swRefPtData = swFtrFolder.GetDefinition
Set swMathPt = swRefPt.GetRefPoint
'Debug.Print "File = " & swModel.GetPathName
'Debug.Print " " & swFeat.Name
Debug.Print " Pt = (" & swMathPt.ArrayData(0) * 1000# & ", " & swMathPt.ArrayData(1) * 1000# & ", " & swMathPt.ArrayData(2) * 1000# & ") mm"
Debug.Print " AlongCurveOption = " & swRefPtData.AlongCurveOption
Debug.Print " Distance = " & swRefPtData.Distance * 1000# & " mm"
Debug.Print " Type = " & swRefPtData.Type
Next i
End If
Merci d’avance pour votre aide
Cédric