Macro pour changer la table de gabarit

vos questions concernant les API SolidWorks

Macro pour changer la table de gabarit

Messagepar maverick1313 » Mar 08 Mai 2012, 2:53

Bonjour,

j'ai plus de 800 pièces ou il faut que je change de table de gabarit ( excel ) en tôlerie !!!

Vous vous doutez bien que je vais programmé une macro pour faire cela.

Le problème : je ne suis pas spécialiste des macros et je trouve pas detutoriel francais complet sur la méthode.

Je continue mes recherches ( peut-être avec VBA comme point de départ ) et implore votre aide.

Voici les défis : . Traiter tous les fichiers d'un dossier.

. Changer la table de gabarie actuel ( 11 par exemple ) par ça nouvelle
( supposons T11) qui se trouve déjà dans la liste des choix .

. Donc récupérer le caractère qui ce trouve déjà dans le menu
déroulant et ajouter un '' T '' devant.

Voilà , au plaisir :) Dès que j'ai un début de solution je reviens posté. En espérant qu'une âme charitable pourra m'aiguiller.
maverick1313
Ewok SolidWorks
 
Messages: 15
Inscription: Sam 28 Avr 2012, 21:49

Messagepar liryc » Mar 08 Mai 2012, 13:07

Je n'ai pas solidworks sous les yeux mais je pense que tu devrais regarder cet exemple de l'API.
Doit y avoir possibilité de récupérer la table active et de la changer.
Pour le fonctionnement dans un répertoire donné, il ya une macro d'Annwn pour exporter dans divers formats qui le fait très bien.
Suffit d'adapter une partie du code pour faire qu'un type d'action.
liryc
Chevalier Jedi SolidWorks
 
Messages: 479
Inscription: Ven 02 Mar 2007, 8:14
Localisation: Paris - SW2009 SP5.0

Messagepar maverick1313 » Mar 08 Mai 2012, 23:02

Merci, je commence mon étude.
maverick1313
Ewok SolidWorks
 
Messages: 15
Inscription: Sam 28 Avr 2012, 21:49

Messagepar maverick1313 » Jeu 10 Mai 2012, 23:47

j'ai étudier la base de connaissance de l'API et je n'ai tien trouvé qui parle de récupérée gabarit utilisé dans la fonction tôlerie. :(

J'ai,par contre, trouvé une piste pour imposer une table en particulier. Au format xls.

voici ce que j'ai trouvé ( cela ne fonctionne pas pour l'instant ):

Dim customBendAllowanceData As Object

Set customBendAllowanceData = Part.FeatureManager.CreateCustomBendAllowance()

customBendAllowanceData.BendTableFile = "L:\CAD - Systemverzeichnis\Systemdaten\lang\german\Sheetmetal Bend Tables\220409_Rev1_Bahlsen_Biegetabelle.xls"


Quelqu'un a une idée pour récupérer le nom de la table utiliser et s'en servir pour sélectionner une autre table...!?

S.V.P. au secours 500 pièces m'attendent demain. !
maverick1313
Ewok SolidWorks
 
Messages: 15
Inscription: Sam 28 Avr 2012, 21:49

Messagepar maverick1313 » Ven 11 Mai 2012, 0:16

Si au moins la macro suivante décris dans L'API fonctionnerais j'aurais un indice.

http://help.solidworks.com/2011/English/api/sldworksapi/Get_All_Sheet_Metal_Feature_Data_Example_VB.htm
maverick1313
Ewok SolidWorks
 
Messages: 15
Inscription: Sam 28 Avr 2012, 21:49

Messagepar liryc » Ven 11 Mai 2012, 10:27

Désolé, pas d'idée ni le temps de regarder plus.
Je passe la main si quelqu'un s'y connaît un peu plus en table.
liryc
Chevalier Jedi SolidWorks
 
Messages: 479
Inscription: Ven 02 Mar 2007, 8:14
Localisation: Paris - SW2009 SP5.0

Messagepar Annwn » Ven 11 Mai 2012, 11:28

Et cet exemple, peut-il convenir ?

http://help.solidworks.com/2011/...
Programmer, c'est bien; programmer utile, c'est mieux........
Venez faire un tour ici !
Annwn
Site Admin
 
Messages: 4938
Inscription: Lun 18 Déc 2006, 22:35

Messagepar maverick1313 » Ven 11 Mai 2012, 21:43

Merci

mais c'est exactement la même que liryc a mentionné au début ;(

Mon défi actuel est tout simplement de la faire fonctionné et faire fonctionné l'autre exemple que j'ai mentionné plus tôt. Ainsi je pourrai l'adapter.

Je ne sait pas si sait un bug !! J'aiSolidworks2012 sp3.

Est-ce que cette macro fonctionne de votre coté ?

voici le message d'erreur que j'ai pour ton exemple : ( voir photo )

et le bout de code qui est en jaune est le suivant :

pFeatDef.ThicknessTableName = ThicknessNames(3)
maverick1313
Ewok SolidWorks
 
Messages: 15
Inscription: Sam 28 Avr 2012, 21:49

Messagepar Annwn » Sam 12 Mai 2012, 7:30

Ce message d'erreur nous indique que tu as un variant qui n'a pas assez de "cases"

exemple
myVar(3) as variant

myvar(5)="toto"
Programmer, c'est bien; programmer utile, c'est mieux........
Venez faire un tour ici !
Annwn
Site Admin
 
Messages: 4938
Inscription: Lun 18 Déc 2006, 22:35

Messagepar maverick1313 » Sam 12 Mai 2012, 15:12

MDR

j'étais en français et l'exemple de la macro était en anglais..

Mais maintenant il me dit que le format de ma table est invalide !

Pourtant je suis bien dans le dossier anglais et tout est conforme.

J'ai tout essayé. En vain. Est-ce que quelqu'un a déjà essayé cette macro.
maverick1313
Ewok SolidWorks
 
Messages: 15
Inscription: Sam 28 Avr 2012, 21:49

Messagepar maverick1313 » Sam 12 Mai 2012, 15:25

voici ou ca coince :

Code: Tout sélectionner
    pFeatDef.GaugeTablePath = "c:\Program Files\SolidWorks\SolidWorks\lang\english\Sheet Metal Gauge Tables\sample table - steel - english units.xls"

    Dim ThicknessNames As Variant

    Dim Radii As Variant

    ThicknessNames = pFeatDef.GetTableThicknesses()

   

    If (IsEmpty(ThicknessNames)) Then

        MsgBox "Invalid gauge table path."

        End

    End If


Comme si le format de la table empêchait la lecture table thicknesses...!?
maverick1313
Ewok SolidWorks
 
Messages: 15
Inscription: Sam 28 Avr 2012, 21:49

Messagepar maverick1313 » Sam 12 Mai 2012, 15:58

j'ai essayé avec la table pour l'aluminium et maintenant je me suit rendu jusqu'au '' STOP ''??!
maverick1313
Ewok SolidWorks
 
Messages: 15
Inscription: Sam 28 Avr 2012, 21:49

Messagepar liryc » Dim 13 Mai 2012, 15:23

Pour te répondre, j'ai eu des bugs avec les exemples de l'API donc impossible à tester.
Si tu maîtrise l'anglais, essaye sur le forum de solidworks (ou fais une recherche) tu auras peut-être quelqu'un qui a déjà eu à faire ce genre de macro.
liryc
Chevalier Jedi SolidWorks
 
Messages: 479
Inscription: Ven 02 Mar 2007, 8:14
Localisation: Paris - SW2009 SP5.0

Messagepar maverick1313 » Lun 14 Mai 2012, 11:53

Désolé mais je ne maitrise pas encore l'anglais. Je crois qu'il y a un forum français chez solidworks..

Je croyais que vous connaissiez le langage macro de solid. Bref je comprend je sait un gros projet.

Simple en soi mais un peut lourd.

Merci de votre aide !
maverick1313
Ewok SolidWorks
 
Messages: 15
Inscription: Sam 28 Avr 2012, 21:49

Messagepar liryc » Lun 14 Mai 2012, 12:09

maverick1313 a écrit:Désolé mais je ne maitrise pas encore l'anglais. Je crois qu'il y a un forum français chez solidworks..

Je croyais que vous connaissiez le langage macro de solid. Bref je comprend je sait un gros projet.

Simple en soi mais un peut lourd.

Merci de votre aide !


On a tous quelques connaissances mais là, personnellement, ça sort de mon domaine.
N'ayant pu tester les exemples de l'API et voir où ça bloque (j'ai un message d'erreur sur l'unité qui ne serait pas renseignée dans la table proposée par sw).
J'ai un peu de temps donc je vais revérifier mais j'attire ton attention sur le fait que tout n'est pas accessible via macro dans sw.
C'est également valable ne fonction des versions, par exemple la fonction de composition à emporter n'est accessible par macro qu'à partir de sw2010.
Je jette encore un oeil et reviens vers toi mais essaye de regarder en parallèle sur d'autres forums.
liryc
Chevalier Jedi SolidWorks
 
Messages: 479
Inscription: Ven 02 Mar 2007, 8:14
Localisation: Paris - SW2009 SP5.0

Suivante

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

banniere