Aiuto Macro

geppetto

Utente Standard
Professione: Concretizzare i sogni degli architetti
Software: Basta che raggiunga l'obiettivo
Regione: Una alla volta tutte
#1
Cercando tra le varie discussioni non ho trovato niente che facesse al mio caso e rubacchiando una stringa già esistente ho creato la Proprietà Pippo con valore Pluto:

Sub main()

Set swApp = _
Application.SldWorks

Set Part = swApp.ActiveDoc
Part.FileSummaryInfo
retval = Part.AddCustomInfo3(ConfigName, "Pippo", swCustomInfoText, _
" Pluto ") 'Add latest values
End Sub

Visto che in VB sono una capra, come faccio a scrivere questa Proprietà nella scheda Specifica di configurazione anzichè Personalizzato?
Grazie.
 

re_solidworks

Moderatore Solidworks
Staff Forum
Professione: Progettista
Software: Swx2016-R2W2016-Power Surfacing 2.1-Creo 2.0- PDSU 2016 - Composer 2016
Regione: Veneto
#2
Cercando tra le varie discussioni non ho trovato niente che facesse al mio caso e rubacchiando una stringa già esistente ho creato la Proprietà Pippo con valore Pluto:

Sub main()

Set swApp = _
Application.SldWorks

Set Part = swApp.ActiveDoc
Part.FileSummaryInfo
retval = Part.AddCustomInfo3(ConfigName, "Pippo", swCustomInfoText, _
" Pluto ") 'Add latest values
End Sub

Visto che in VB sono una capra, come faccio a scrivere questa Proprietà nella scheda Specifica di configurazione anzichè Personalizzato?
Grazie.
Anch'io con la programmazione sono una capra, ma non faresti prima a registrare questa macro dall'area grafica?
Oppure utilizzare task skeduler o tab builder?
 

geppetto

Utente Standard
Professione: Concretizzare i sogni degli architetti
Software: Basta che raggiunga l'obiettivo
Regione: Una alla volta tutte
#3
Magari si potesse. Come ben saprai (a meno che non sia solo un magheggio nei miei confronti) SW non registra tutte le macro. Quelle di accesso alle proprietà è uno dei casi in cui non si può. Tab builder e Tasc scheduler risulterebbero poco pratici nel mio caso. Anche perchè la capra, vorrebbe succesivamente anche introdurre "If, Else, Ekse If". Queste ultime credo di sapere come si fa.
 

flfn

Utente Junior
Professione: progettista
Software: Solid Works-Ready Works-Rhinoceros-Mastercam
Regione: veneto
#4
Ecco la macro modificata per scrivere nella configurazione attiva

-----------------------
Option Explicit


Public Enum swCustomInfoType_e

swCustomInfoText = 30

End Enum



Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Dim swConfigMgr As SldWorks.ConfigurationManager

Dim swConfig As SldWorks.Configuration

Dim swCustPropMgr As SldWorks.CustomPropertyManager

Dim retVal As Long




Sub main()

Set swApp = Application.SldWorks

Set swModel = swApp.ActiveDoc

Set swConfigMgr = swModel.ConfigurationManager

Set swConfig = swConfigMgr.ActiveConfiguration

Set swCustPropMgr = swConfig.CustomPropertyManager

swModel.FileSummaryInfo

' Add custom property date to this configuration

retVal = swCustPropMgr.Add2("Pippo ", swCustomInfoText, "Pluto")


End Sub
------------------------

Saluti

flfn
 

geppetto

Utente Standard
Professione: Concretizzare i sogni degli architetti
Software: Basta che raggiunga l'obiettivo
Regione: Una alla volta tutte
#5
Grazie, non ci speravo più...:biggrin:
La capra non vorrebbe approfittare della tua generosità, ma come faccio ad ovviare all'errore di richiamo proprietà?
Provo a spiegarmi, la tua soluzione è perfetta ma se anzichè Pluto io volessi una Proprietà riferita al modello (es.: "SW-SurfaceArea@@Default@Part2.SLDPRT"), il raddoppio di virgolette in VB mi da errore.
Anche se non potessi rispondere a questa, grazie infinitamente per quello che hai già fatto.:finger:
Geppetto
 

flfn

Utente Junior
Professione: progettista
Software: Solid Works-Ready Works-Rhinoceros-Mastercam
Regione: veneto
#6
Salve, geppetto
In riguardo alla tua seconda domanda, bisogna modificare la macro in modo che si prenda il nome del file e della configurazione attiva, e compili la sua definizione. Se hai più configurazione si puo fare in modo che le compili tutte in automatico, sul tutorial Api ci sono degli esempi.

non so quando posso dedicarci del tempo per fartelo .......

Saluti
Flfn
 

geppetto

Utente Standard
Professione: Concretizzare i sogni degli architetti
Software: Basta che raggiunga l'obiettivo
Regione: Una alla volta tutte
#7
Intanto grazie ancora per quello che hai fatto.
Personalmente dovrei modificare solo la configurazione attiva ed io in quella benedetta guida Api (tutta in inglese) non sono stato in grado di trovare niente in merito. Ho chiesto anche all'assistenza SW se fosse disponibile una guida in italiano ma sembra che si faccia prima ad imparare l'inglese. Comunque proverò ancora a vedere se riesco con qualche parola di ricerca a trovare la soluzione.
Grazie di nuovo:finger:
 

re_solidworks

Moderatore Solidworks
Staff Forum
Professione: Progettista
Software: Swx2016-R2W2016-Power Surfacing 2.1-Creo 2.0- PDSU 2016 - Composer 2016
Regione: Veneto
#8
Ecco la macro modificata per scrivere nella configurazione attiva

-----------------------
Option Explicit


Public Enum swCustomInfoType_e

swCustomInfoText = 30

End Enum



Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Dim swConfigMgr As SldWorks.ConfigurationManager

Dim swConfig As SldWorks.Configuration

Dim swCustPropMgr As SldWorks.CustomPropertyManager

Dim retVal As Long




Sub main()

Set swApp = Application.SldWorks

Set swModel = swApp.ActiveDoc

Set swConfigMgr = swModel.ConfigurationManager

Set swConfig = swConfigMgr.ActiveConfiguration

Set swCustPropMgr = swConfig.CustomPropertyManager

swModel.FileSummaryInfo

' Add custom property date to this configuration

retVal = swCustPropMgr.Add2("Pippo ", swCustomInfoText, "Pluto")


End Sub
------------------------

Saluti

flfn
Ehilà, chi si rivede! Come ti passa, tutto bene?
 

flfn

Utente Junior
Professione: progettista
Software: Solid Works-Ready Works-Rhinoceros-Mastercam
Regione: veneto
#9
Ciao Enrico, andiamo abbastanza bene.

Come vedi quando posso, do il mio piccolo contributo formativo...
Ciao