récupération propriété corps impossible

vos questions concernant les API SolidWorks

récupération propriété corps impossible

Messagepar HeliCoid » Mer 16 Oct 2013, 16:53

Bonjour,

Cela fait un moment que je cherche un moyen de pouvoir récupérer les propriétés des corps dans une pièce.

pour cela j'utilise le code suivant (c'est du VB.NET donc peut-être qu'il y a quelques différences avec le VB...) :

Code: Tout sélectionner
            swSelMgr = swModel.SelectionManager
            Feat_Obj = swPart.FirstFeature
            SubFeat_Obj = Nothing

            Do While Not Feat_Obj Is Nothing
                Debug.Print(Feat_Obj.GetTypeName2)
                If Feat_Obj.GetTypeName2 = "SolidBodyFolder" Then
                    SubFeat_Obj = Feat_Obj.GetFirstSubFeature
                    Exit Do
                End If
                Feat_Obj = Feat_Obj.GetNextFeature
            Loop
            Debug.Print(SubFeat_Obj.Name)
            Do While Not SubFeat_Obj Is Nothing
                swCustPropMgr = SubFeat_Obj.CustomPropertyManager

                Debug.Print("Corps" & SubFeat_Obj.Name)
                Debug.Print("Number of custom properties = " + CStr(swCustPropMgr.Count))
                ' parfois égale à 0
                Debug.Print("Name", "Text Expression", "Value", "Type")

                names = swCustPropMgr.GetNames
                textexp = ""
                evalval = ""
                For Each name In names
                    swCustPropMgr.Get2(name, textexp, evalval)
                    Debug.Print(name, textexp, evalval, swCustPropMgr.GetType(name))
                    Debug.Print(name & evalval)

                    Select Case name

                        Case "Description"

                        Case "Matériau"
                            t_Tab_list(t_Tab_list.Length - 1).Matiere = evalval
                        Case "Longueur du flanc de tôle"
                            t_Tab_list(t_Tab_list.Length - 1).Longueur = evalval
                        Case "Largeur du flanc de tôle"
                            t_Tab_list(t_Tab_list.Length - 1).Largeur = evalval
                        Case "Epaisseur de tôlerie"
                            t_Tab_list(t_Tab_list.Length - 1).epaisseur = evalval
                            'Case "Surface du flanc de tôle"
                            't_Tab_list(t_Tab_list.Length - 1).Longueur = evalval
                        Case "Plis"
                            t_Tab_list(t_Tab_list.Length - 1).Pliage = evalval
                        Case "LONGUEUR"
                            t_Tab_list(t_Tab_list.Length - 1).Longueur = evalval

                    End Select

                Next name

                SubFeat_Obj = SubFeat_Obj.GetNextSubFeature
            Loop


j'arrive très bien à récupérer les propriétés mais seulement j'ouvre la fenêtre de propriété (que je l'initialise en gros). une mise à jour ne fonctionne pas ni la recréation de la liste de pièces soudées.

Je cherche donc un moyen de pouvoir récupérer les propriétés des corps sans avoir à ouvrir la fenêtre de propriété des corps au préalable (le fait que ce soit du VB.NET ne change rien, j'ai le même problème avec le VB)

Quelqu'un a une idée?

par avance, merci.
SolidWorks 2015 SP5.0
HeliCoid
Ewok SolidWorks
 
Messages: 39
Inscription: Mar 22 Mar 2011, 10:40

Re: récupération propriété corps impossible

Messagepar HeliCoid » Jeu 17 Oct 2013, 15:58

Personne?
SolidWorks 2015 SP5.0
HeliCoid
Ewok SolidWorks
 
Messages: 39
Inscription: Mar 22 Mar 2011, 10:40


Retourner vers Questions générales sur les API

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 4 invités

banniere