Retourner propriétés d'un corps

vos questions concernant les API SolidWorks

Retourner propriétés d'un corps

Messagepar HeliCoid » Ven 07 Sep 2012, 13:23

Bonjour,

Je cherche à récupérer les propriétés des corps se trouvant dans une pièce.

Voici le petit bout de code me permettent de récupérer tout ça :

Code: Tout sélectionner
Sub Trav_CutBody()

Dim swFeat As SldWorks.Feature

Set swFeat = swPart.FirstFeature

Do While Not swFeat Is Nothing
    If swFeat.GetTypeName2 = "SolidBodyFolder" Then
        Set thisSubFeat = swFeat.GetFirstSubFeature
        Do While Not thisSubFeat Is Nothing
            If thisSubFeat.GetTypeName = "CutListFolder" Then
                Set cutFolder = thisSubFeat.GetSpecificFeature2
            End If
            If Not cutFolder Is Nothing Then
                If cutFolder.GetBodyCount > 0 Then
                    Call Prop_Body(thisSubFeat)
                End If
            End If
            Set thisSubFeat = thisSubFeat.GetNextSubFeature
        Loop
        Exit Do
    End If
    Set swFeat = swFeat.GetNextFeature()

Loop

End Sub

Sub Prop_Body(docFeat As SldWorks.Feature)

    Dim custPropMgr As SldWorks.CustomPropertyManager
    Dim propNames As Variant
    Dim vName As Variant
    Dim propName As String
    Dim Value As String
    Dim resolvedValue As String
   
    Set custPropMgr = docFeat.CustomPropertyManager
    If Not custPropMgr Is Nothing Then
        propNames = custPropMgr.GetNames
        If Not IsEmpty(propNames) Then
            Debug.Print docFeat.Name, docFeat.GetTypeName
            For Each vName In propNames
                propName = vName
                Call custPropMgr.Get2(propName, Value, resolvedValue)
                Debug.Print "", "", propName, Value, resolvedValue
            Next vName
        End If
    End If

End Sub


Mais il ne me retourne pas toutes les valeurs correctement :
Pour une pièce de tôlerie pliée (1 seul corps)
Longueur du flanc de tôle 0 (faux)
Largeur du flanc de tôle 0 (faux)
Epaisseur de tôlerie 1
Surface du flanc de tôle 0 (faux)
Surface du flanc de tôle brut 0 (faux)
Longueur à découper extérieure 0 (faux)
Longueur à découper des boucles intérieures 0 (faux)
Découpes 0 (faux)
Plis 1
Zone de pliage 2.5
Matériau "Matériau@@@Article-liste-des-pièces-soudées1@21-20.SLDPRT"
Masse 130.69
Description Sheet
Rayon de pliage 0.6
Traitement de surface Finition <non spécifiée>
Coût 0.0


Toutes les valeurs dimensionnelles sont nulles.

Comment faire pour récupérer ces valeurs (actuellement fausses) correctement?

merci d'avance!
HeliCoid
Ewok SolidWorks
 
Messages: 39
Inscription: Mar 22 Mar 2011, 10:40

Messagepar MarcS » Jeu 13 Sep 2012, 15:59

Si ca peu te lancer vers une direction (Epaisseur de Materiel)

Set Sheet_Metal_Feat = Sw_Model.FirstFeature
Mat_Thickness = 0
Do While Not Sheet_Metal_Feat Is Nothing
If Sheet_Metal_Feat.GetTypeName = "SMBaseFlange" Then
Set SwSheetMetalFeature = Nothing
Set SwSheetMetalFeature = Sheet_Metal_Feat.GetDefinition
Mat_Thickness = SwSheetMetalFeature.Thickness * 1000
Exit Do
End If
Set Sheet_Metal_Feat = Sheet_Metal_Feat.GetNextFeature()
Loop

MarcS
Avatar de l’utilisateur
MarcS
Chevalier Jedi SolidWorks
 
Messages: 311
Inscription: Mar 06 Jan 2009, 20:10
Localisation: Quebec, Quebec SolidWorks 2017 SP 1.0 & SolidWorks 2014 SP 2.0


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 6 invités

banniere