habe ein Datenstempel mit Marionette für den Wandaufbau. Der ganze Datenstempel stammt aus diesem Forum, aber ich finde das Thema nicht.
Dort ist ein Node enthalten PageBased_mm, der wohl nicht original von VW ist. Dieser Node liest den Maßstab der aktuellen Ebene aus und rechnet damit die Abstände um, um dann die Zeilenhöhe zu steuern oder auch den Abstand der Spalten.
Das funktioniert auch wunderbar in der Konstruktionsebene. In der Layoutebene schaut es erstmal auch gut aus, nur wenn man ausdruckt wird die Marionette wohl neu berechnet und die Werte werden nicht auf den Maßstab der Konstruktionsbene umgerechnet, sondern auf die Layout-Ebene - also 1:1. Das führt dazu, dass die Abstände alle mickrig sind.
Kann man da was tun? Der Script schaut so aus:
#Dom C 2016-10
@Marionette.NodeDefinition
class Params(metaclass = Marionette.OrderedClass):
By = 'DomC';import datetime; now = datetime.datetime.now(); y80f5 = now.year;m80f5 = now.month; d80f5 = now.day; h180f5 = now.hour; mi180f5 = now.minute; s180f5 = now.second; ms180f5 = now.microsecond; h2 = now.hour-12 if now.hour >=13 else now.hour; VersionChange1 = str(y80f5)+' '+str(m80f5)+' '+str(d80f5); VersionChange2 = str(y80f5)+'-'+str(m80f5)+'-'+str(d80f5)+'-'+str(h2)+'-'+str(mi180f5);
TextStatic = Marionette.OIPControl( By +' v'+VersionChange2, Marionette.WidgetType.TextStatic, "")
this = Marionette.Node( 'PageBased_mm' )
this.SetDescription('A Real value defined in the OIP in document units')
r = Marionette.PortOut()
r.SetDescription('The value')
Real = Marionette.OIPControl( 'real', Marionette.WidgetType.Real, 0.0)
Real.SetDescription('A value in document units')
def RunNode(self):
units = vs.GetPrefReal(150)
s = vs.GetLScale(vs.ActLayer())
self.Params.r.value = self.Params.Real.value/units*s
Irgendwo in der vorletzten Zeile passiert es, aber was genau
Frage
L00S
Guten Abend,
habe ein Datenstempel mit Marionette für den Wandaufbau. Der ganze Datenstempel stammt aus diesem Forum, aber ich finde das Thema nicht.
Dort ist ein Node enthalten PageBased_mm, der wohl nicht original von VW ist. Dieser Node liest den Maßstab der aktuellen Ebene aus und rechnet damit die Abstände um, um dann die Zeilenhöhe zu steuern oder auch den Abstand der Spalten.
Das funktioniert auch wunderbar in der Konstruktionsebene. In der Layoutebene schaut es erstmal auch gut aus, nur wenn man ausdruckt wird die Marionette wohl neu berechnet und die Werte werden nicht auf den Maßstab der Konstruktionsbene umgerechnet, sondern auf die Layout-Ebene - also 1:1. Das führt dazu, dass die Abstände alle mickrig sind.
Kann man da was tun? Der Script schaut so aus:
#Dom C 2016-10 @Marionette.NodeDefinition class Params(metaclass = Marionette.OrderedClass): By = 'DomC';import datetime; now = datetime.datetime.now(); y80f5 = now.year;m80f5 = now.month; d80f5 = now.day; h180f5 = now.hour; mi180f5 = now.minute; s180f5 = now.second; ms180f5 = now.microsecond; h2 = now.hour-12 if now.hour >=13 else now.hour; VersionChange1 = str(y80f5)+' '+str(m80f5)+' '+str(d80f5); VersionChange2 = str(y80f5)+'-'+str(m80f5)+'-'+str(d80f5)+'-'+str(h2)+'-'+str(mi180f5); TextStatic = Marionette.OIPControl( By +' v'+VersionChange2, Marionette.WidgetType.TextStatic, "") this = Marionette.Node( 'PageBased_mm' ) this.SetDescription('A Real value defined in the OIP in document units') r = Marionette.PortOut() r.SetDescription('The value') Real = Marionette.OIPControl( 'real', Marionette.WidgetType.Real, 0.0) Real.SetDescription('A value in document units') def RunNode(self): units = vs.GetPrefReal(150) s = vs.GetLScale(vs.ActLayer()) self.Params.r.value = self.Params.Real.value/units*sIrgendwo in der vorletzten Zeile passiert es, aber was genau
Vielleicht ist DomC @Dominique Corpataux??
Bearbeitet von L00SMacOS 10.15.7 - VWX2022 SP6
2 Antworten auf diese Frage
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden