Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  EPLAN Electric P8
  Eplan API Koordinaten auslesen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN
Autor Thema:  Eplan API Koordinaten auslesen (2442 mal gelesen)
Karlh1
Mitglied
Elektrotechniker


Sehen Sie sich das Profil von Karlh1 an!   Senden Sie eine Private Message an Karlh1  Schreiben Sie einen Gästebucheintrag für Karlh1

Beiträge: 24
Registriert: 14.11.2008

Eplan P8 Prof.
V1.9.10
Build 3725

erstellt am: 06. Aug. 2009 19:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo an alle,
ich hab ein mehr oder weniger kleines Problem. Ich möchte über die Eplan API die Koordinaten aller vier Eckpunkte eines Gerätekastens auslesen.

Ist sowas überhaupt möglich???

Ich habs schon mit

            Page oPage = device.Page;
            oPage.Properties.s
            double oPoint = device.Page.Location.Y;
            double oPoint1 = device.Page.Location.X;

            PointD sfd = device.Page.Location;

probiert, wobei device mein entsprechender Gerätekasten ist. Ich bekomme auch irgendwelche koordinaten zurück, aber die sind alles andere als glaubwürdig.

Kann mir bitte jemand weiterhelfen?

mfG Karlheinz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Straight-Potter
Mitglied
Dipl.Ing. E-Technik


Sehen Sie sich das Profil von Straight-Potter an!   Senden Sie eine Private Message an Straight-Potter  Schreiben Sie einen Gästebucheintrag für Straight-Potter

Beiträge: 601
Registriert: 14.07.2008

EPLAN Plattform 2.9 SP1
API
EEC Prof
EEC One

erstellt am: 07. Aug. 2009 13:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Karlh1 10 Unities + Antwort hilfreich

Hallo Karlheinz,

versuch es mal mit

PointD oPoint = device.Location

//Hier bekommst du die Koordinaten des Einfügepunktes

oPoint.X
oPoint.Y
// Sind die jeweiligen X-Y Koordinaten

Schau auch mal ob dir eine LogicalArea Property zur Verfügung steht!

Laut API-Hilfe:

LogicalArea value is presented as Base.PointDbl of which X coordinate holds the width of the LogicalArea and the Y coordinate holds height of the LogicalArea

Kannst Du hier die Höhe und Breite herrausfinden und so auch die vier Eckpunkte....

Straight-Potter


------------------
Wenn wir bedenken, dass wir alle verrückt
sind, ist das Leben erklärt.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Karlh1
Mitglied
Elektrotechniker


Sehen Sie sich das Profil von Karlh1 an!   Senden Sie eine Private Message an Karlh1  Schreiben Sie einen Gästebucheintrag für Karlh1

Beiträge: 24
Registriert: 14.11.2008

Eplan P8 Prof.
V1.9.10
Build 3725

erstellt am: 07. Aug. 2009 18:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Straight-Potter
hat super geklappt,
vielen dank für deine schnelle Antwort.

Gruss Karlheinz

   

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Karlh1
Mitglied
Elektrotechniker


Sehen Sie sich das Profil von Karlh1 an!   Senden Sie eine Private Message an Karlh1  Schreiben Sie einen Gästebucheintrag für Karlh1

Beiträge: 24
Registriert: 14.11.2008

Eplan P8 Prof.
V1.9.10
Build 3725

erstellt am: 07. Aug. 2009 19:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi, eine Frage hab ich noch,
und zwar möchte ich gerne ein Makro einfügen.
In irgend einer Methode hab ich stehen: Insert oInsert = new Insert();
Die HEServices DLL hab ich eingebunden und das Arbeitsverzeichnis steht auf dem Eplan BIN Ordner.
Es lässt sich alles Fehlerfrei kompilieren aber die Methode in der das Insert Objekt angelegt werden soll
wird nicht durchlaufen.
Der Debugger bricht schon beim Methodenaufruf ab und bringt die Fehlermeldung Objekt nicht vorhanden.
Die DLL ist aber da und auch korrekt eingebunden.

Kann mir da bitte jemand weiterhelfen?
Gruss Karlheinz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FML
Mitglied



Sehen Sie sich das Profil von FML an!   Senden Sie eine Private Message an FML  Schreiben Sie einen Gästebucheintrag für FML

Beiträge: 491
Registriert: 11.03.2002

Aktuell:
EPLAN Electric P8 Professional
V 2.6 HF2
V 2.7
V 2.7 Education<P>Eplan Fluid Add On
Eplan ProPanel Add On
Electric P8 API
EEC
Systeme:
MS WINDOWS 10
MS WINDOWS 7
MS WINDOWS 2016 Server
MS WINDOWS SQL Server

erstellt am: 07. Aug. 2009 23:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Karlh1 10 Unities + Antwort hilfreich

Hallo Karl Heinz,

tja ohne den Code zu sehen wird das wohl schwierig.
Ich füg Dir mal ein Beispiel an.

z.B.- ein Fenstermakro einfügen:

.....
Page page = new Page();
page.Create(project, DocumentTypeManager.DocumentType.Circuit, pagePropertyList);
// Makroobjekt erzeugen
WindowMacro windowMakro = new WindowMacro();
// Makro im Speicher öffnen
windowMakro.Open(@"$(MD_MACROS\Macro.ema",project,WindowMacro.Enums.RepresentationType.MultiLine, 0);
// Makro platzieren
Insert insert = new Insert();
StorableObject[] insertedObject = insert.WindowMacro(windowMakro, windowMakro.RepresentationType, windowMakro.Variant, page, new PointD(0,0), Insert.MoveKind.Relative, WindowMacro.Enums.NumerationMode.Ignore);
....

Hoffe das hilft Dir weiter.

Gruß Fritz

------------------
Um zu sehen, musst Du die Augen offen halten.
Um zu erkennen, musst Du sie schliessen und denken.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Karlh1
Mitglied
Elektrotechniker


Sehen Sie sich das Profil von Karlh1 an!   Senden Sie eine Private Message an Karlh1  Schreiben Sie einen Gästebucheintrag für Karlh1

Beiträge: 24
Registriert: 14.11.2008

Eplan P8 Prof.
V1.9.10
Build 3725

erstellt am: 08. Aug. 2009 13:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Fritz,
leider nicht ganz.
Sobald ich die Zeile Insert oInsert = new Insert(); einfüge bekomme ich einen Fehler vom Visual Studio. Muss ich da noch irgendwas einstellen? Kann das eventuell mit irgendwelchen DLL´s zusammenhängen? Wenn ich die Zeile wieder auskommentiere funktioniert alles Problemlos. Der Fehler tritt aber erst nach dem kompilieren beim Programmdurchlauf auf.

Gruss

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Straight-Potter
Mitglied
Dipl.Ing. E-Technik


Sehen Sie sich das Profil von Straight-Potter an!   Senden Sie eine Private Message an Straight-Potter  Schreiben Sie einen Gästebucheintrag für Straight-Potter

Beiträge: 601
Registriert: 14.07.2008

EPLAN Plattform 2.9 SP1
API
EEC Prof
EEC One

erstellt am: 08. Aug. 2009 14:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Karlh1 10 Unities + Antwort hilfreich

Mmhh sollte eigentlich klappen!

Poste doch mal bitte den betreffenden Codeausschnitt und ein Sceenshot der Fehlermeldung!

Danke

Straight-Potter

------------------
Wenn wir bedenken, dass wir alle verrückt
sind, ist das Leben erklärt.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Karlh1
Mitglied
Elektrotechniker


Sehen Sie sich das Profil von Karlh1 an!   Senden Sie eine Private Message an Karlh1  Schreiben Sie einen Gästebucheintrag für Karlh1

Beiträge: 24
Registriert: 14.11.2008

Eplan P8 Prof.
V1.9.10
Build 3725

erstellt am: 10. Aug. 2009 10:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


fehler.zip

 
Hi,
private void SetMac(BoxedDevice device)          //Teilschaltung platzieren SetMac
        {
            int Variante = 0;    //Variante A
            string MacroPath = SeperateString("DE", device.Properties.FUNC_CUSTOM_SUPPLEMENTARYFIELD03);

            Page oPage = device.Page;
            double oPointDX = device.Location.X;            //Einfügepunkt von Gerätekasten,
            double oPointDY = device.Location.Y;            //immer links oben
           
            double Height = device.LogicalArea.Y;          //Height of the BoxedDevice
            PointDbl oPointDBL = new PointDbl(oPointDX , (oPointDY-Height));        //corner down left         

            Insert oInsert = new Insert();
            StorableObject[] oStorableObject = oInsert.WindowMacro(MacroPath, Variante, oPage, oPointDBL, Eplan.EplApi.HEServices.Insert.MoveKind.Absolute);
        }

das ist meine Methode die ich im Hauptprogramm aufrufe. Die Fehlermeldung habe ich angehängt. Diese erscheint nur wenn ich das mit dem Insert in meiner Methode habe.
Ich weis echt nicht mehr weiter,
Gruss

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Straight-Potter
Mitglied
Dipl.Ing. E-Technik


Sehen Sie sich das Profil von Straight-Potter an!   Senden Sie eine Private Message an Straight-Potter  Schreiben Sie einen Gästebucheintrag für Straight-Potter

Beiträge: 601
Registriert: 14.07.2008

EPLAN Plattform 2.9 SP1
API
EEC Prof
EEC One

erstellt am: 10. Aug. 2009 12:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Karlh1 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Karlh1:


            string MacroPath = SeperateString("DE", device.Properties.FUNC_CUSTOM_SUPPLEMENTARYFIELD03);


Ich vermute das Problem besteht hier! Er findet das Macro nicht! Was steht den im Benutzerzusatzfeld 3 ?

Versuche mal:

string MacroPath = device.Properties.FUNC_CUSTOM_SUPPLEMENTARYFIELD03.ToMultiLangString.GetStringToDisplay(ISOCode.Language.L_de_DE);

!Achtung! Der Macropfad benötigt das .ema

Straight-Potter

------------------
Wenn wir bedenken, dass wir alle verrückt
sind, ist das Leben erklärt.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Karlh1
Mitglied
Elektrotechniker


Sehen Sie sich das Profil von Karlh1 an!   Senden Sie eine Private Message an Karlh1  Schreiben Sie einen Gästebucheintrag für Karlh1

Beiträge: 24
Registriert: 14.11.2008

Eplan P8 Prof.
V1.9.10
Build 3725

erstellt am: 10. Aug. 2009 13:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi,
leider funktioneiert es immernoch nicht. Ich hab sogar die Zeile mit der SorableObject schon komplett auskommentiert, doch der Fehler tritt immernoch auf. Es muss irgendwas mit der Insert zu tun haben.

Gruss Karlheiz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Straight-Potter
Mitglied
Dipl.Ing. E-Technik


Sehen Sie sich das Profil von Straight-Potter an!   Senden Sie eine Private Message an Straight-Potter  Schreiben Sie einen Gästebucheintrag für Straight-Potter

Beiträge: 601
Registriert: 14.07.2008

EPLAN Plattform 2.9 SP1
API
EEC Prof
EEC One

erstellt am: 10. Aug. 2009 13:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Karlh1 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von FML:
Hallo Karl Heinz,


// Makro im Speicher öffnen
windowMakro.Open(@"$(MD_MACROS\Macro.ema",project,WindowMacro.Enums.RepresentationType.MultiLine, 0);

// Makro platzieren
Insert insert = new Insert();
StorableObject[] insertedObject = insert.WindowMacro(windowMakro, windowMakro.RepresentationType, windowMakro.Variant, page, new PointD(0,0), Insert.MoveKind.Relative, WindowMacro.Enums.NumerationMode.Ignore);
....

Hoffe das hilft Dir weiter.

Gruß Fritz


Ich glaube Fritz hat die Lösung schon gepostet! Du musst auch das betreffende Makro im Speicher öffen....

Versuche das mal ! Ansonsten bitte mal beim EPLAN API Support durchklingeln...
Und ggf. die Lösung hier Posten!!

Straight-Potter

------------------
Wenn wir bedenken, dass wir alle verrückt
sind, ist das Leben erklärt.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Karlh1
Mitglied
Elektrotechniker


Sehen Sie sich das Profil von Karlh1 an!   Senden Sie eine Private Message an Karlh1  Schreiben Sie einen Gästebucheintrag für Karlh1

Beiträge: 24
Registriert: 14.11.2008

Eplan P8 Prof.
V1.9.10
Build 3725

erstellt am: 11. Aug. 2009 11:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi, hab überall geschaut,
in welchem Namespace ist denn das WindowMacro Objekt enthalten? welche DLL muss ich denn einbinden?

Gruss Karlheinz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Straight-Potter
Mitglied
Dipl.Ing. E-Technik


Sehen Sie sich das Profil von Straight-Potter an!   Senden Sie eine Private Message an Straight-Potter  Schreiben Sie einen Gästebucheintrag für Straight-Potter

Beiträge: 601
Registriert: 14.07.2008

EPLAN Plattform 2.9 SP1
API
EEC Prof
EEC One

erstellt am: 11. Aug. 2009 13:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Karlh1 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Karlh1:
Hi, hab überall geschaut,
in welchem Namespace ist denn das WindowMacro Objekt enthalten? welche DLL muss ich denn einbinden?

Gruss Karlheinz


Hast Du die API-HIlfe?

Ist im Namespace : Eplan.EplApi.DataModel.MasterData

Straight-Potter

------------------
Wenn wir bedenken, dass wir alle verrückt
sind, ist das Leben erklärt.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz