API : Modification des propriétés personnalisées part

Bonsoir,

 

Peut on modifier les propriétés personnalisées via une macro ?

J'ai 4 propriétés que je veux modifier.

 

Merci d'avance,

Gautier

Bonsoir, oui c'est possible,

 

Pour récupérer ta propriété (exemple avec ma propriété SolidWorks code) :

 

CODE = swRefDoc.GetCustomInfoValue("", "code")

 

Et pour la modifier (mettre à jour la propriété CODE avec la variable NouveauCode) :

retval = SWmoddoc.AddCustomInfo3("", "CODE", 30, NouveauCode)
SWmoddoc.CustomInfo("CODE") = NouveauCode

1 « J'aime »

Merci pour ta réponse.

Le sens inverse est-il possible ?

 

 swRefDoc.GetCustomInfoValue("", "code")=CODE 

Oui, je viens d'éditer ma réponse, l'instruction tient en 2 lignes ;-)

1 « J'aime »

Retval est de quel type ?

Et faut il rajouter un dll pour avoir accès à la fonction swmoddoc ?

Bonsoir,

Je vois que vous êtes sous contrat de maintenance Axemble. Si vous avez également un abonnement pour les outils MyCADTools, BatchProperties est parfaitement adapté !

Oui nous avons mycadtools, mais sauf erreur de ma part Batch Properties ne gère pas l'affectation de propriété différente entre les fichiers. Pour faire simple je veux (par exemple) que la référence de ma pièce se mettent dans la propriété référence.

 

Sinon j'avance mais je n'ai toujours pas le bon résultat.

Je mets mon code. J'ai mis la ligne supérieur et la ligne inférieur. en gros je veux éditer la propriété "Description" lorsque j'ouvre un step et que je l'enregistre en part.

Voici mon code :

swApp1.SetUserPreferenceIntegerValue swSaveAssemblyAsPartOptions, swSaveAsmAsPart_ExteriorFaces

Set swmoddoc = swApp1.ActiveDoc
If OTB_OUI_COMMERCE.Enabled = True Then
    retval = swmoddoc.AddCustomInfo3("", "Description", 30, descrip)
    swmoddoc.CustomInfo("Description") = descrip
End If

swModelDocExt1.SAVEAS NewFilePath, swSaveAsCurrentVersion, swSaveAsOptions_Silent, Nothing, nErrors, nWarnings

 

1 « J'aime »
retval est un boolean
1 « J'aime »
Où est le problème ? Il y a une erreur ?

Bonjour,

 

C'est bon j'ai réussi à effectuer ce que je voulais. Pour info j'ai du rouvrir la pièce mettre a jour les propriétés, sauvegarder et fermer.

 

Merci pour votre aide.

Gautier

1 « J'aime »