Modification sur liste de pièce soudé en automatique

vos questions concernant les API SolidWorks

Modification sur liste de pièce soudé en automatique

Messagepar gautron » Lun 24 Sep 2012, 7:04

Bonjour à tous
Par défaut quand je crée un corps de tôlerie j'ai dans ma liste de pièces soudées sur la propriété description la valeur "sheet". Je souhaiterai en automatique changer cette valeur par "Tôle laser". Cela est il possible par une macro ou autre. Je suis novice dans ce domaine. Merci de votre aide
gautron
Ewok SolidWorks
 
Messages: 13
Inscription: Jeu 26 Juil 2012, 12:43

Messagepar MarcS » Lun 24 Sep 2012, 14:16

Essais ce Programme et Sous-programme

Private Sub Propriete_Sheet_metal()

Set swApp = Application.SldWorks
Set SwModel = swApp.ActiveDoc

If SwModel Is Nothing = True Then
swApp.SendMsgToUser2 "Vous devez avoir un document ouvert avant d'executer ce programme", swMbWarning, swMbOk
Set SwModel = Nothing
Set swApp = Nothing
Exit Sub
End If

Set SwPart = SwModel
Dim Feat_Obj As SldWorks.Feature
Dim SubFeat_Obj As SldWorks.Feature
Dim cutFolder As SldWorks.BodyFolder
Set Feat_Obj = SwPart.FirstFeature
Do While Not Feat_Obj Is Nothing
Set SubFeat_Obj = Feat_Obj.GetFirstSubFeature
Do While Not SubFeat_Obj Is Nothing
If SubFeat_Obj.GetTypeName = "CutListFolder" Then
Set cutFolder = SubFeat_Obj.GetSpecificFeature2
End If
If Not cutFolder Is Nothing Then
If cutFolder.GetBodyCount > 0 Then
Call Change_SheetProp_Value(SubFeat_Obj)
Set SubFeat_Obj = Nothing
Set Feat_Obj = Nothing
GoTo Fin_Loop
End If
End If
Set SubFeat_Obj = SubFeat_Obj.GetNextSubFeature
Loop
Set Feat_Obj = Feat_Obj.GetNextFeature
Fin_Loop:
Loop
Set SwModel = Nothing
Set swApp = Nothing



End Sub

Sub Change_SheetProp_Value(Obj_Feat 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 = Obj_Feat.CustomPropertyManager
If Not custPropMgr Is Nothing Then
propNames = custPropMgr.GetNames
If Not IsEmpty(propNames) Then
For Each vName In propNames
propName = vName
Call custPropMgr.Get2(propName, Value, resolvedValue)
If propName = "Description" And Value = "Sheet" Then
Call custPropMgr.Set(propName, "Tôle laser")
Exit For
End If
Next vName
End If
End If
End Sub


Bonne chance
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

Messagepar gautron » Mar 25 Sep 2012, 8:29

Bonjour Marc
Je ne parvient pas à lancer ton programme. Il me met le message d'erreur suivant pièce jointe. Pour info je travail sur SW2011. Merci pour ton aide
gautron
Ewok SolidWorks
 
Messages: 13
Inscription: Jeu 26 Juil 2012, 12:43

Messagepar MarcS » Mar 25 Sep 2012, 12:46

Remplace:
Private Sub Propriete_Sheet_metal
Par:
Sub Propriete_Sheet_metal


Et Remplace:
Sub Change_SheetProp_Value
Par:
Private Sub Change_SheetProp_Value

Et refait ton bouton de macro
Excuse moi
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

Messagepar gautron » Mer 26 Sep 2012, 7:09

Merci pour ton programme. Celui ci fonctionne mais il me remplace uniquement la première tôle. C'est vrai je ne t'en avais pas parlé mais il m'arrive régulièrement d'avoir plusieurs corps de tôlerie sur un ensemble mécanosoudé. J'espère que tu pourra résoudre ce petit problème. Merci pour le temps passé.
gautron
Ewok SolidWorks
 
Messages: 13
Inscription: Jeu 26 Juil 2012, 12:43

Messagepar MarcS » Mer 26 Sep 2012, 16:38

tu as dans le programme la ligne suivante:
Call Change_SheetProp_Value(SubFeat_Obj)

sous cette ligne enleve simplement ces 3 prochaine lignes:
Set SubFeat_Obj = Nothing
Set Feat_Obj = Nothing
GoTo Fin_Loop
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

Messagepar gautron » Jeu 27 Sep 2012, 9:36

Merci pour tout. Le programme fonctionne parfaitement
gautron
Ewok SolidWorks
 
Messages: 13
Inscription: Jeu 26 Juil 2012, 12:43


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

banniere