Comme n'importe quel objet de PowerAMC, les extensions peuvent être lues, créées et modifiées à l'aide du scripting.
Pour obtenir des informations détaillées sur les extensions, voir Fichiers d'extension.
Le script suivant illustre la façon dont vous pouvez accéder à une extension existante, la parcourir, y créer un attribut étendu au sein de la définition et enfin y modifier les valeurs d'attribut étendu. Une fonction est créée afin de permettre de développer les noeuds de catégories qui figurent dans l'arborescence de la boîte de dialogue Propriétés de l'extension.
Dim M
Set M = ActiveModel
'Récupère la première extension dans le modèle actif
Dim X
Set X = M.ExtendedModelDefinitions.Item(0)
'Développer l'arborescence de catégories en utilisant la fonction searchObject (détails plus bas)
Dim C
Set C = SearchObject (X.Categories, "Settings")
Set C = SearchObject (C.Categories, "Extended Attributes")
Set C = SearchObject (C.Categories, "Objects")
Set C = SearchObject (C.Categories, "Entity")
'Create extended attribute in the Entity category
Dim A
Set A = C.Categories.CreateNew (cls_ExtendedAttributeTargetItem)
'Définit les propriétés de l'attribut étendu
A.DataType = 10 'integer
A.Value = 10
A.Name = "Z"
A.Code = "Z"
'Récupère la première entité du modèle actif
Dim E
Set E = M.entities.Item(0)
'Récupère les valeurs de l'attribut étendu créé dans un boîte message
msgbox E.GetExtendedAttribute("X.Z")
'Change les valeurs de l'attribut étendu
E.SetExtendedAttribute "X.Z", 5
'Retrieve the modified values of the extended attribute in a message box
msgbox E.GetExtendedAttribute("X.Z")
********************
'Détaille la fonction SearchObject qui permet de parcourir une collection à partir de son nom et l'objet recherché
'* SUB SearchObject
Function SearchObject (Coll, Name)
'For example Coll = Categories and Name = Settings
Dim Found, Object
For Each Object in Coll
If Object.Name = Name Then
Set Found = Object
End If
Next
Set SearchObject = Found
End Function