Hallo Zusammen,
ich weis nicht ob die Überschrift so passend ist aber ich versuche mal zu erklären wo der Schuh gerade drückt.
Ich habe ein Script welches nach der Berechnung des Gesamtgewichts (nachfolgend GG) dann mit XEsGetPropertyAction auf das Feld 36108 (Gesamtgewicht ein Schrankes) schaut und es mit XEsSetProjectPropertyAction an ein Benutzerdefiniertes Feld im Projekt zurückschreibt.
Nun zu folgenden Problem:
Habe ich nur ein Schrank klappt das Script super: 3D Navigator öffnen, Schrank im Navigator selektieren und es wird GG berechnet und übertragen. Da XEsGetPropertyAction auf das schaut was selektiert ist.
Habe ich drei Schränke funktioniert es zwar pro Schrank auch jedoch erhalte ich immer nur den Wert des einzelnen selektieren Schrankes. Mehrfachselektion habe ich schon versucht, hier nimmt er immer den ersten und nicht alle.
Wichtig wäre aber hier die Summe aller Schränke zu wissen und zu übergeben.
Anbei mal das Script:
[CODE]
/using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Scripting;
using System;
using Eplan.EplApi.Base;
using System.Threading;
using System.IO;
public class Gesamtgewicht_an_Projekteigenschaft
{
[DeclareAction("Gesamtgewicht")]
public void Action()
{
CommandLineInterpreter cli = new CommandLineInterpreter();
ActionCallingContext acc1 = new ActionCallingContext();
ActionCallingContext acc2 = new ActionCallingContext();
string sPropertyValue = string.Empty;
cli.Execute("XCabCalculateEnclosureTotalWeightAction"); //starte Gewichtsberechnung
acc1.AddParameter("PropertyId", "36108");
acc1.AddParameter("PropertyIndex", "0");
cli.Execute("XEsGetPropertyAction", acc1); //lese Feld 36108
acc1.GetParameter("PropertyValue", ref sPropertyValue); //schreibe es in sPropertyValue
MessageBox.Show(sPropertyValue, "Gesamtgewicht"); //MSG Box mit Gewichtsangabe
acc2.AddParameter("PropertyIdentName", "EPLAN.Project.UserSupplementaryField33"); //"EPLAN.Project.UserSupplementaryField33"
acc2.AddParameter("PropertyIndex", "0");
acc2.AddParameter("PropertyValue", sPropertyValue);
cli.Execute("XEsSetProjectPropertyAction", acc2); //schrieb sPropertyValue an Benutzer Feld 33
}
}
[CODE]
Da die GG jedes Schrankes vorhanden ist müsse man hier irgendwie das summieren können.
Kann mir hier jemand helfen?
LG
[Diese Nachricht wurde von m.lamschick84 am 02. Feb. 2024 editiert.]
[Diese Nachricht wurde von m.lamschick84 am 02. Feb. 2024 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP