Macro Vastgoedintelligentie

Hallo

In mijn bedrijf noemen we onze stukken: Nomdeprojet_Numérodepièce_Révision.

Ik wil een Solidworks-macro maken waarmee ik de eigenschappen "ProjectName" (eerste 7 tekens of iets voor de eerste "_") en "PartNumber" (tekens tussen de twee "_") van een onderdeel in de aangepaste eigenschap kan invullen.

Kun je me helpen met de code, want ik ben een echte beginner als het gaat om macro's, of als er een eenvoudigere methode bestaat.

 

Bedankt

 

Quentin

Hallo

Het staat niet in Solidworks, en niet precies wat je zoekt, maar het kan je helpen met de macro.

In mijn geval is de bestandsnaam als volgt: désignationdelapièce__référence

De referentie bestaat altijd uit 8 tekens.

 

/*Zoeken naar het scheidingsteken
separator=search(rel_model_name(),"__")
/* test de aanwezigheid van de separator
als scheidingsteken >0
/*Extraheren van de aanduiding
aanduiding=extract(rel_model_name(),1,(scheidingsteken-1))
/*Haal de referentie op
reference=extract(rel_model_name(),(scheidingsteken+2),8)
anders
aanduiding=rel_model_name()
referentie="...-.... "
endif

 

S.B

Bedankt

Het is me gelukt dankzij een open forumonderwerp, als dat helpt:

 

 

Dim swApp als SldWorks.SldWorks

Dim swModel als ModelDoc2

 
Sub hoofd()

 
    Stel swApp = Toepassing.SldWorks in

    Stel swModel = swApp.ActiveDoc in

 
    'PartNo Property controleren en toevoegen/bijwerken
   
    Als swModel.CustomInfo("_ToolingNo") = "" Dan

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

    Anders

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

    Einde als

 
    'Revisie-eigenschap controleren en toevoegen/bijwerken
  
    Als swModel.CustomInfo("_Position") = "" Dan

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

    Anders

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

    Einde als

 
    'Beschrijving van de eigenschap controleren en toevoegen/bijwerken

    Als swModel.CustomInfo("Revisie") = "" Dan

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

    Anders

        swModel.CustomInfo("Revisie") = Midden (swModel.GetTitle, 15, 2)

    Einde als

 
Einde Sub