EPLAN

EPLAN 5 Datenübernahme

EPLAN 5 ist nun schon länger abgekündigt. Mit der EPLAN P8 Version 2.7 kann man Projekte noch migrieren, danach nicht mehr.
Wir haben schon länger für dieses Szenario unser Tool UpgradeProject570 um mehrere Projekt gleichzeitig zu konvertieren.

In der EPLAN Oberfläche gibt es noch diese versteckte Actions:

  • Symbolbibliothek: E5ExfSymbolImportAction
  • Normblatt: E5ExfFrameImportAction
  • Formular: E5ExfFormularImportAction
  • Artikel: E5ExfArticlesImportAction
  • Wörterbuch: XTrImportE5LanguageDbAction
  • Makros: E5ExfMacroImportAction
  • Projekt: E5ExfProjectImportAction

Nun ist der Zeitpunkt gekommen um spätestens jetzt zu migrieren. Wir bei ibKastl bieten das auch als Dienstleistung an. Bei Fragen einfach melden!

Von |2020-05-29T08:10:06+02:002020-05-29|EPLAN, EPLAN-Scripts|

EDZ-Datei automatisiert exportieren

Ich liebe ja das EDZ-Format, alles was zum Artikel in EPLAN gehört ist dabei.

Es gibt den nicht dokumentierten Parameter IXPartsImportExportEdz für den Export via Scripting.
Somit ist es möglich mit der Action partlist auch EDZ-Dateien zu exportieren 🎉

Von |2019-12-05T08:28:47+01:002019-12-05|EPLAN, EPLAN-Scripts|

DLLs manuell kopieren

Ab EPLAN 2.6 kopiert EPLAN ja die DLLs welche geladen werden in ein ShadowCopy-Verzeichnis.
Mit dem Interface IEplAddInShadowCopy können wir Einfluss nehmen…

Ich habe ein API-Addin, welches per Entity Framework Daten aus der Datenbank abruft. Komischerweise werden nicht alle DLLs kopiert und werden somit nicht vom AssemblyResolver gefunden.

Über das Interface IEplAddInShadowCopy kopiert dieser Code nun alle DLLs manuell, welche im Orginalverzeichnis vorhanden sind:

public void OnBeforeInit(string strOriginalAssemblyPath)
{
  CopyAssemblies(strOriginalAssemblyPath);
}

private void CopyAssemblies(string originalAssemblyPath)
{
  string sourcePath = Path.GetDirectoryName(originalAssemblyPath);
  DirectoryInfo source = new DirectoryInfo(sourcePath);

  Type type = this.GetType();
  string dllLocation = Assembly.GetAssembly(type).Location;
  string destinationPath = Path.GetDirectoryName(dllLocation);
  DirectoryInfo destination = new DirectoryInfo(destinationPath);

  CopyFilesRecursively(source, destination, ".dll");
}

public static void CopyFilesRecursively(DirectoryInfo source, DirectoryInfo target, string fileExtension = null)
{
  IEnumerable<DirectoryInfo> sourceDirectories = source.GetDirectories();
  foreach (DirectoryInfo sourceDirectory in sourceDirectories)
  {
    DirectoryInfo destinationDir = target.CreateSubdirectory(sourceDirectory.Name);
    CopyFilesRecursively(sourceDirectory, destinationDir);
  }
  IEnumerable<FileInfo> sourceFiles;
  if (string.IsNullOrEmpty(fileExtension))
  {
    sourceFiles = source.GetFiles().ToList();
  }
  else
  {
    sourceFiles = source.GetFiles().Where(obj => obj.Extension.Equals(fileExtension)).ToList();
  }

  foreach (FileInfo sourceFile in sourceFiles)
  {
    string destination = Path.Combine(target.FullName, sourceFile.Name);
    if (!File.Exists(destination))
    {
      sourceFile.CopyTo(destination);
    }
  }
}
Von |2019-10-08T12:30:33+02:002019-10-08|EPLAN, EPLAN-API|

CAD-Tutorials.de

Patrick Elger hat mit CAD-Tutorials.de eine schöne Plattform erstellt und macht dazu noch super Videos auf Youtube. Mir gefällt es sehr gut dass hier regelmäßig Videos eingestellt werden.
Zusätzlich bietet Patrick kostenpflichtige Workshops auf seiner Website & Udemy an. Das Prinzip von Video-Learning finde ich super und nutze es schon länger für Programmiersprachen.

Von |2019-09-23T11:17:48+02:002019-09-23|EPLAN|

Alternative zu Fuslogvw Fusion++

EPLAN Signierung & Ich… eine traurige Geschichte…
Darum bin ich des öfteren gezwungen Fuslogvw zu nutzen um mal die Bindungen und das Laden der DLLs zu betrachten. Das Tool bzw. die UI ist einfach schlimm…

Als ich nun wieder Stunden mit Fuslogvw verbracht habe, suchte ich (erneut) nach einer Alternative. Und jetzt gibt es eine: Fusion++.
Frei, OpenSource, was will man mehr!

Von |2019-09-20T11:24:01+02:002019-09-20|C#, EPLAN|