dim rulename1 en tant que chaîne = "1" 'nom de la règle 1
dim rulename2 en tant que chaîne = "2" 'nom de la règle 2
dim topasm comme document de montage = cedoc.document
' invite l'utilisateur à sélectionner une seule partie
Dim invapp comme inventeur. application = cette application
dim selectedobject as object = invapp.commandmanager.pick(selectionfilterenum.kassemblyoccurrencefilter, "sélectionner une partie")
si l'objet sélectionné n'est pas rien et le type de l'objet sélectionné est l'occurrence du composant alors
dim selectedpart as componentoccurrence = ctype(selectedobject, componentoccurrence)
dim doc comme document = selectedpart.definition.document
' exécuter la première règle logique
ilogicvb.automation.runexternalrule(doc, nom de la règle1)
' exécuter la deuxième règle logique
ilogicvb.automation.runexternalrule(doc, nom de la règle2)
' changer la couleur de la pièce en r255 g143 b47
dim trans as transaction = thisapplication.transactionmanager.starttransaction(topasm, "set Custom color")
essayer
' créer ou récupérer l'actif d'apparence
dim personnalisation en tant qu'actif
essayer
personnalisation = topasm.assets.item("couleur personnalisée")
captures ex exception
personnalisation = topasm.assets.add(assettypeenum.kassettypeapparence, "generic", "customcolor")
fin de l'essai
' modifier la couleur de l'actif
dim colorassetvalue as colorassetvalue = personnalisation.item("generic_diffuse")
colorassetvalue.value = invapp.transientobjets.createcolor(255, 143, 47)
' appliquer l'apparence à la partie sélectionnée
selectedpart.comingance = personnalisation
messagebox.show("les deux règles exécutées et la couleur de la partie mise à jour avec succès.", "succès", messageboxboutons.ok, messageboxicon.information)
captures ex exception
messagebox.show("configurer la couleur de la partie d'erreur: " & ex.message, "error", messageboxboutons.ok, messageboxicon.error)
enfin
()
fin de l'essai
Autre
messagebox.show("pas de partie valide sélectionnée.", "error", messageboxboutons.ok, messageboxicon.error)
fin si