Dieses Script öffnet die eingegebene Seite.
Die aktuelle Seite wird bereits im Formular gefüllt. Es kann jede Struktur einzeln gefüllt werden oder der komplette Seitenname geändert werden.
Hintergrund dafür ist, dass meine Eplan-Zeichner von WSCAD (anderes Zeichenprogramm) kommen… Dort konnte man mit STRG-G zu einer bestimmen Seite springen.
Da das ganze in die ePlanus Toolbar geladen wird, ist es auch möglich eine Tastenkombination festzulegen.
Zu beachten:
  • Dokumentenart darf nicht vorne stehen
  • Falls das Anlagennummerkennzeichen mehr als ein Zeichen besitzt muss das im Script angegeben werden
  • Ansonsten ist die Struktur frei wählbar


Danke an Nairolf für den Gedankenanstoß  (manchmal braucht man sowas)

Installation:

Script laden

  • Unter Dienstprogramme/Eigenschaften extern bearbeiten/Seiten exportieren… das angefügte Schema “PXexP.ePlanus_OpenPage.xml” importieren
  • Unter Projekteigenschaften Blockeigenschaft 100 für Seiten festlegen (Am besten im Basisprojekt, dadurch ist diese Eigenschaft dann immer Verfügbar, im Anhang)


Suplanus - Scripts - OpenPage (1613 Downloads )

 // Action
    [DeclareAction("OpenPage")]

    public void OpenPageVoid()
    {
        ////////////////////////////////////////////////////////////////////////
        // Open dialog
        ////////////////////////////////////////////////////////////////////////
        string sProjectname = PathMap.SubstitutePath("$(PROJECTNAME)");

        FrmOpenPage Frm1 = new FrmOpenPage();
        Frm1.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;

        // Titel
        Frm1.Text = "OpenPage [Project: " + sProjectname + "]";

        Frm1.ShowDialog();
        return;
    }

    private void FrmOpenPage_Load(object sender, System.EventArgs e)
    {
        ////////////////////////////////////////////////////////////////////////
        // Loading dialog
        ////////////////////////////////////////////////////////////////////////

        // Select Page
        new CommandLineInterpreter().Execute("XGedSelectPageAction");

        // Pagename Tempdata
        string sPageNameFile = @"C:\TEMP\OpenPageTemp.txt";

        // Export Pagename
        ActionCallingContext contextPageName = new ActionCallingContext();
        contextPageName.AddParameter("ConfigScheme", "ePlanus - OpenPage");
        contextPageName.AddParameter("Destination", sPageNameFile);
        contextPageName.AddParameter("ExecutionMode", "0");
        new CommandLineInterpreter().Execute("XMExportPagesAction", contextPageName);

        // Get Line in Tempdata
        string sLine3 = "";
        int iLine = 3;
        float fRow = 0;
        if (File.Exists(sPageNameFile))
        {
            StreamReader myFile = new StreamReader(sPageNameFile, System.Text.Encoding.Default);
            while (!myFile.EndOfStream && fRow < iLine)
            {
                fRow++;
                sLine3 = myFile.ReadLine();
            }
            myFile.Close();
            if (fRow < iLine)
                sLine3 = "";
        }

        // Split Line
        string[] slPageLine = sLine3.Split('\t');

        // Split Parameters
        string[] slPageParameters = slPageLine[2].Split(';');
        // 0 = Function
        // 1 = Plant
        // 2 = Location
        // 3 = Mount location
        // 4 = Plantnumber
        // 5 = Document
        // 6 = Defined by User
        // 7 = Pagename
        // 8 = FullPagename

        // Split Function
        txtFunction.Text = slPageParameters[0].Substring(2);

        // Split Plant
        txtPlant.Text = slPageParameters[1].Substring(1);

        // Split Location
        txtLocation.Text = slPageParameters[2].Substring(2);

        // Split Mount location
        txtMountLoc.Text = slPageParameters[3].Substring(1);

        // Split Plantnumber
        txtPlantNr.Text = slPageParameters[4].Substring(1); // Plantnumber = 1 Char (2 Chars = "2")

        // ---> Split Plantnumber identifier
        string sPlantNrIndex = slPageParameters[4].Substring(0, 1); // Plantnumber = 1 Char (2 Chars = "0, 2")
        txtPlantNrIndex.Text = sPlantNrIndex; // Plantnumber

        // Split Document
        txtDocument.Text = slPageParameters[5].Substring(1);

        // Split Defined by User
        txtUserDef.Text = slPageParameters[6].Substring(1);

        // Split Pagename
        txtPagename.Text = slPageParameters[7];

        // Split FullPagename
        txtFullPagename.Text = slPageParameters[8];

        txtFullPagename.Select();

    }

    public void btnOK_Click(object sender, System.EventArgs e)
    {
        ////////////////////////////////////////////////////////////////////////
        // Button: OK
        ////////////////////////////////////////////////////////////////////////

        Refresh();

        // Open Page
        ActionCallingContext context = new ActionCallingContext();
        context.AddParameter("PAGENAME", txtFullPagename.Text);
        new CommandLineInterpreter().Execute("edit", context);

        // Close Form
        Close();
        return;
    }

    private void btnAbbrechen_Click(object sender, System.EventArgs e)
    {
        ////////////////////////////////////////////////////////////////////////
        // Button Cancel
        ////////////////////////////////////////////////////////////////////////

        Close();
        return;
    }

    public void GetPagename()
    {
        ////////////////////////////////////////////////////////////////////////
        // Generate new pagename
        ////////////////////////////////////////////////////////////////////////

        // Function
        if (txtFunction.Text != "")
        {
            txtFullPagename.Text = txtFullPagename.Text + "==" + txtFunction.Text;
        }

        // Plant
        if (txtPlant.Text != "")
        {
            txtFullPagename.Text = txtFullPagename.Text + "=" + txtPlant.Text;
        }

        // Location
        if (txtLocation.Text != "")
        {
            txtFullPagename.Text = txtFullPagename.Text + "++" + txtLocation.Text;
        }

        // Mount location
        if (txtMountLoc.Text != "")
        {
            txtFullPagename.Text = txtFullPagename.Text + "+" + txtMountLoc.Text;
        }

        // Plantnumber
        if (txtPlantNr.Text != "")
        {
            txtFullPagename.Text = txtFullPagename.Text + txtPlantNrIndex.Text + txtPlantNr.Text;
        }

        // Document
        if (txtDocument.Text != "")
        {
            txtFullPagename.Text = txtFullPagename.Text + "&&" + txtDocument.Text;
        }

        // Defined by User
        if (txtUserDef.Text != "")
        {
            txtFullPagename.Text = txtFullPagename.Text + "#" + txtUserDef.Text;
        }

        // Pagename
        if (txtPagename.Text != "")
        {
            txtFullPagename.Text = txtFullPagename.Text + "/" + txtPagename.Text;
        }

        return;
    }

    ////////////////////////////////////////////////////////////////////////
    // Keyevent
    ////////////////////////////////////////////////////////////////////////
    private void keyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
        if (e.KeyChar == (char)13)
        {
            // Open Page
            ActionCallingContext context = new ActionCallingContext();
            context.AddParameter("PAGENAME", txtFullPagename.Text);
            new CommandLineInterpreter().Execute("edit", context);

            // Close Form
            Close();
            return;
        }
    }