Export données masse d'un assemblage vers Excel

vos questions concernant les API SolidWorks

Export données masse d'un assemblage vers Excel

Messagepar paulo44444 » Jeu 09 Aoû 2012, 16:27

Bonjour à tous!

J'ai besoin d'exporter toutes les données de masse et de matériaux des composants d'un assemblage vers Excel.

Quelqu'un sait-il si il est possible de faire ça automatiquement? Je pensais à une macro par exemple...
paulo44444
Ewok SolidWorks
 
Messages: 7
Inscription: Mer 11 Juil 2012, 17:11

Messagepar MarcS » Jeu 09 Aoû 2012, 20:45

Oui c'est posible avec un peu de temps et de patience

Verifier avec
GetMaterialPropertyName2
Set SwMass = SwPart.Extension.CreateMassProperty
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

Re: Export données masse d'un assemblage vers Excel

Messagepar adn56 » Mer 30 Jan 2013, 13:37

Voici comment je fais (c'est en VB.NET, mais la traduction ne devrait pas poser de soucis)

Code: Tout sélectionner
   Private sub masseEtMatiere()
        ' si c'est pas une piéce ne fait rien
        If not swDoc.GetType = 1 Then exit sub
        ' list du matériaux (couper par | et prendre l'index 1
        ' équivalent à écrire => "SW-Material@" & tabChemin(tabChemin.Length - 1)
        Dim SWmatiere As String() = swDoc.MaterialIdName.Split("|"c) ' format solidmateriaux|nom|index
        If SWmatiere.Length < 2 Then 'si pas de matiére
            MessageBox.Show("La matiére de " & nom & " est vide !" _
                               & Environment.NewLine & "veuillez la renseigner dans SW" _
      , "-Ok pour fermer-", MessageBoxButtons.OK, MessageBoxIcon.Stop) : exit sub
        Else
            'liste des mesures massique, l'index 5 = la masse selon la matiére choisi
            ' équivalent à écrire => "SW-Mass@" & tabChemin(tabChemin.Length - 1) dans la propriété
            ' car le plan l’interprétera comme la valeur de la masse. testé c'est OK
            Dim listeMasse As Double() = CType(swDoc.GetMassProperties(), Double())
            matiere = SWmatiere(1)
            masse = listeMasse(5).ToString("0.0")
        End If
    End sub
programmation is good for you ^^
Avatar de l’utilisateur
adn56
Ewok SolidWorks
 
Messages: 26
Inscription: Jeu 29 Nov 2012, 18:11


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

banniere