Archiv für den Monat: Mai 2017

EPLAN 2.7: Scripting Neuerungen

Die Beta läuft ja schon ne Weile und ich hab mich mal hingesetzt und die neuen Action angeschaut. Folgende kamen dazu:

changeLayer
Ändert die grafischen Eigenschaften von Ebenen.
export3D
Exportiert Bauräume in das STEP-Format.
exportNCData
Exportiert NC-Daten
exportProductionWiring
Exportiert Drahtkonfektionierungsdaten in verschiedenen Formaten.
GraphicalLayerTable
Importiert / exportiert Ebenen.
Renumber
Führt eine Nummerierung durch.
XPlaUpdateDetailAction
Detailplanung wird aktualisiert
XPamSelectPart
Artikel aus GUI auswählen
Von |2017-11-09T11:16:27+01:002017-05-22|EPLAN, EPLAN-Scripts|

Multiuserkonflikt erkennen

Vorab: Leider geht das nur per API, nicht im Scripting.

Die Ermittlung der User ist schnell gemacht, hab aber noch einen Dialog dazu gepackt, welcher Infos über die User anzeigt:

public static bool IsMultiUserConflict(Project project, bool showDialog = false)
{
   var currentUsers = project.CurrentUsers.ToList();

   // No conflict
   if (currentUsers.Count <= 1)
   {
      return false;
   }

   // Conflict
   if (showDialog)
   {
      StringBuilder sb = new StringBuilder();
      foreach (var user in currentUsers)
      {
         if (!string.IsNullOrEmpty(user.Name) && !string.IsNullOrEmpty(user.Identification))
         {
            sb.AppendLine(user.ComputerName + " / " + user.Name + " / " + user.Identification);
         }
         else if (!string.IsNullOrEmpty(user.Name))
         {
            sb.AppendLine(user.ComputerName + " / " + user.Name);
         }
         else if (!string.IsNullOrEmpty(user.Identification))
         {
            sb.AppendLine(user.ComputerName + " / " + user.Identification);
         }
         else
         {
            sb.AppendLine(user.ComputerName);
         }
      }
      MessageBox.Show(sb.ToString(), "Multi user conflict", MessageBoxButton.OK, MessageBoxImage.Warning);
   }
   return true;
}
Von |2017-05-03T13:34:52+02:002017-05-04|EPLAN, EPLAN-API|