Lorsque vous créez un objet, celui-ci ne s'affiche pas dans un diagramme, sauf si vous utilisez la méthode AttachObject() ou AttachLinkObject(). Les symboles sont des objets de plein droit qui ne sont accessibles que via des collections sur l'objet ou diagramme parent. Vous pouvez positionner un symbole en utilisant la méthode Position() et changer son format en utilisant LineWidth et d'autres attributs de format.
Dim MonModele, MonDiagramme, C1, C2, A1 Set MonModele = ActiveModel Set MonDiagramme = ActiveDiagram ' Création des classes Set C1 = MonModele.Classes.CreateNew() C1.SetNameAndCode "C1", "C1" Set C2 = MonModele.Classes.CreateNew() C2.SetNameAndCode "C2", "C2" ' Affichage de symboles de classe MonDiagramme.AttachObject(C1) MonDiagramme.AttachObject(C2) ' Création de l'association Set A1 = MonModele.Associations.CreateNew() A1.SetNameAndCode = "A1", "A1" ' Définition de ses extrémités Set A1.Object1 = C1 Set A1.Object2 = C2 ' Affichage du symbole d'association MonDiagramme.AttachLinkObject(A1)
Dim MouveauModele, idx, obj, sym set MouveauModele = CreateModel(PdEAM.Cls_Model, "Diagram=CityPlanningDiagram") MouveauModele.SetNameAndCode "MonMAE" , "MonMAE" For idx = 1 to 4 Set obj=MouveauModele.ArchitectureAreas.CreateNew() obj.SetNameAndCode "A" & idx, "A" & idx Set sym=ActiveDiagram.AttachObject (obj) sym.width=30000 sym.height=20000 Next dim A1, A2, A3, A4, X1, Y1 set A1 = MouveauModele.FindChildByName("A1",cls_architecturearea).Symbols.Item(0) set A2 = MouveauModele.FindChildByName("A2",cls_architecturearea).Symbols.Item(0) set A3 = MouveauModele.FindChildByName("A3",cls_architecturearea).Symbols.Item(0) set A4 = MouveauModele.FindChildByName("A4",cls_architecturearea).Symbols.Item(0) X1 = A1.Position.X Y1 = A1.Position.Y ' Déplacement des symboles pour les rendre adjacents A2.Position = NewPoint(X1 + A1.Width, Y1) A3.Position = NewPoint(X1, Y1 - A1.Height) A4.Position = NewPoint(X1 + A1.Width, Y1 - A1.Height) A1.DashStyle = 2 A1.LineWidth = 3