L00S Geschrieben 5. Januar 2021 Teilen Geschrieben 5. Januar 2021 (bearbeitet) 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*s Irgendwo in der vorletzten Zeile passiert es, aber was genau Vielleicht ist DomC @Dominique Corpataux?? Bearbeitet 5. Januar 2021 von L00S MacOS 10.15.7 - VWX2022 SP6 Link zu diesem Kommentar
Manuel Roth Geschrieben 5. Januar 2021 Teilen Geschrieben 5. Januar 2021 In der vorletzen Zeile wird der Massstab der momentan aktiven Ebene ausgelesen. Von demher wird deine Vermutung wohl stimmen. Theoretisch sollte so etwas funktionieren. s = vs.GetLScale(vs.GetLayer(self.Handle)) Liest den Masstab von der Ebene aus, auf dem der Node plaziert ist. Ist aber gerade nicht zu testen, ohne das ganze Netzwerk zur Hand zu haben und könnte je nach dem unvorhergesehene Nebenwirkungen in Symbolen, Ergänzungen usw. haben. Das Thema ist übrigens hier. (Mit der Forumssuche ist es aber nicht auffindbar. Zum Glück gibts Google) Freundliche Grüsse Manuel Roth _________________________________________________ Vectorworks 2022 SP3 | Architektur | Windows 10 Link zu diesem Kommentar
L00S Geschrieben 5. Januar 2021 Autor Teilen Geschrieben 5. Januar 2021 (bearbeitet) Hallo Manuel, besten Dank für die Antwort. Leider funktioniert es auch nicht... Im Ergebnis das Selbe, nach dem Drucken der PDF springt alles auf kleine Abstände, also s=1 und bleibt so bis man den Datenstempel in der KOnstruktionebene aktualisiert. Datenstempel Wandaufbau.vwx Bearbeitet 5. Januar 2021 von L00S MacOS 10.15.7 - VWX2022 SP6 Link zu diesem Kommentar
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