Utiliser GetFeature Method (IFace2)

Bonjour,
Je vous explique mon problème:
Je souhaites obtenir le nom présent dans l'arbre de création en sélectionnant une face. Sauf que je n'y arrives pas.
Voici mon code:

 

Code:
Option Explicit

Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swSelMgr As SldWorks.SelectionMgr
Dim swFace As SldWorks.Face2
Dim swfeat As SldWorks.Feature
Dim swfacefeat As SldWorks.Feature
Dim swent As SldWorks.Entity
Dim swseldata As SldWorks.SelectData
Dim vface As Variant

Sub test()



Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swSelMgr = swModel.SelectionManager
If swSelMgr.GetSelectedObjectType3(1, -1) = swSelFACES Then
    Set swFace = swSelMgr.GetSelectedObject6(1, -1)
    Set swseldata = swSelMgr.CreateSelectData
    vface = swFace.GetFeature
    Set swfeat = vface
        MsgBox swfeat.Name
Else
    MsgBox "selectionner un perçage"
    End
End If

End Sub


Y aurait-il quelqu'un pour m'aider???
Merci d'avance

Gael

1 « J'aime »

Bonjour,

 

Il manquait un "set" pour récupérer la feature et cela fonctionne.

Ci dessous le code modifié

 

A+

 

Philippe

 

Option Explicit
 
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swSelMgr As SldWorks.SelectionMgr
Dim swFace As SldWorks.Face2
Dim swfeat As SldWorks.Feature
Dim swfacefeat As SldWorks.Feature
Dim swent As SldWorks.Entity
Dim swseldata As SldWorks.SelectData
Dim vface As Variant
 
Sub test()
 
 
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swSelMgr = swModel.SelectionManager
If swSelMgr.GetSelectedObjectType3(1, -1) = swSelFACES Then
    Set swFace = swSelMgr.GetSelectedObject6(1, -1)
    Set swseldata = swSelMgr.CreateSelectData
   Set vface = swFace.GetFeature
    Set swfeat = vface
        MsgBox swfeat.Name
Else
    MsgBox "selectionner un perçage"
    End
End If
 
End Sub
9 « J'aime »

Je n'ai qu'une chose à dire : MERCI