Mit diesem Script kann man Projekteigenschaften von einem bestehenden Projekt importieren…

Es wird ein neuer Menüpunkt erstellt unter Projekt/Wiederherstellen/Projekteigenschaften…

In der Dateiauswahl muss die Projektinfo.xml vom zu kopierenden Projekt ausgewählt werden:

Anschließend werden die Projekteigenschaften zum weiteren Editieren geöffnet…

ProjectProperties (131)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
public class ImportProjectProperties
{
    [DeclareAction("ImportProjectProperties")]
    public void ProjectPropertiesVoid()
    {
        ////////////////////////////////////////////////////////////////////////
        // Projektdaten
        ////////////////////////////////////////////////////////////////////////
        string sSelectedProjectData = string.Empty;     // kompletter Pfad + Projektdateinamen + Erweiterung
        string sSelectedProjectPath = string.Empty;     // Projektpfad
        string sSelectedProjectName = string.Empty;     // Projektname
 
        // Projektdatei komplett
        CommandLineInterpreter oCLI = new CommandLineInterpreter();
        Eplan.EplApi.ApplicationFramework.ActionCallingContext ctx = new Eplan.EplApi.ApplicationFramework.ActionCallingContext();
        ctx.AddParameter("TYPE", "PROJECT");
 
        bool bRet = oCLI.Execute("selectionset", ctx);
        if (bRet == true)
        {
            ctx.GetParameter("PROJECT", ref sSelectedProjectData);
        }
 
        // Projektpfad
        sSelectedProjectPath = System.IO.Path.GetDirectoryName(sSelectedProjectData);
 
        // Projektname
        sSelectedProjectName = System.IO.Path.GetFileNameWithoutExtension(sSelectedProjectData);
 
        // FileDialog
        OpenFileDialog openFileDlg = new OpenFileDialog();
        openFileDlg.InitialDirectory = sSelectedProjectPath;
        openFileDlg.Filter = "XML-Datei (*.xml)|*.xml|Alle Dateien anzeigen (*.*)|*.*";
        DialogResult result = openFileDlg.ShowDialog();
        if (result == DialogResult.OK)
        {
            // Projecteigenschaften importieren
            ActionCallingContext ccImport = new ActionCallingContext();
            ccImport.AddParameter("TYPE", "READPROJECTINFO");
            ccImport.AddParameter("FILENAME", openFileDlg.FileName);
            oCLI.Execute("projectmanagement", ccImport);
            // Projekteigenschaften aufrufen
            oCLI.Execute("XPrjActionPropertiesEdit");
        }
 
    }
 
    // Menü
    [DeclareMenu]
    public void MenuFunction()
    {
        Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu();
        oMenu.AddMenuItem
            (
            "Projekteigenschaften...",
            "ImportProjectProperties",
            "Projekteigenschaften wiederherstellen...",
            35126,
            1,
            false,
            false
            );
    }
 
}