Macro de renseignement de propriétés

Bonjour,

Dans mon entreprise, nous nommons nos pièces : Nomdeprojet_Numérodepièce_Révision.

Je souhaite réaliser une macro Solidworks qui me permettrai de renseigner les propriétés "Nomdeprojet" (7 premiers caractères ou tout ce qui est avant le premier "_") et "Numérodepièce" (caractères entre les deux "_") d'une pièce dans le custom property.

Pourriez-vous m'aider pour le code car je suis un vrai débutant concernant les macros, ou si une méthode plus simple éxiste.

 

Merci

 

Quentin

Bonjour,

Ce n'est pas sous Solidworks, et pas éxactement ce que tu cherches, mais ça peut t'aider sur la réalisation de la macro.

Dans mon cas, le nom du fichier est le suivant : désignationdelapièce__référence

La référence a toujours 8 caractères.

 

/*recherche du separateur
separateur=search(rel_model_name(),"__")
/* test la presence du separateur
if separateur >0
/*extraction de la designation
designation=extract(rel_model_name(),1,(separateur-1))
/*extraction de la reference
reference=extract(rel_model_name(),(separateur+2),8)
else
designation=rel_model_name()
reference="...-...."
endif

 

s.b

Merci,

J'ai réussi grâce à un sujet ouvert d'un forum, si ca peut aider :

 

 

Dim swApp As SldWorks.SldWorks

Dim swModel As ModelDoc2

 
Sub main()

 
    Set swApp = Application.SldWorks

    Set swModel = swApp.ActiveDoc

 
    'Check and Add/Update PartNo Property
   
    If swModel.CustomInfo("_ToolingNo") = "" Then

      swModel.AddCustomInfo2 "_ToolingNo", swCustomInfoText, Left(swModel.GetTitle, 7)

    Else

        swModel.CustomInfo("_ToolingNo") = Left(swModel.GetTitle, 7)

    End If

 
    'Check and Add/Update Revision Property
  
    If swModel.CustomInfo("_Position") = "" Then

      swModel.AddCustomInfo2 "_Position", swCustomInfoText, Mid(swModel.GetTitle, 9, 5)

    Else

        swModel.CustomInfo("_Position") = Mid(swModel.GetTitle, 9, 5)

    End If

 
    'Check and Add/Update Description Property

    If swModel.CustomInfo("Revision") = "" Then

      swModel.AddCustomInfo2 "Revision", swCustomInfoText, Mid(swModel.GetTitle, 15, 2)

    Else

        swModel.CustomInfo("Revision") = Mid(swModel.GetTitle, 15, 2)

    End If

 
End Sub