Zum Inhalt springen

Grundriss-Höhenkote


mamo

Frage

Geschrieben

Hy zusammen,

 

diese tolle Höhenkote übernimmt bei mir die Anzahl der Nachkommastellen aus den Dokumenteinstellungen:

 

Hoehenkoten_Grundriss.vwx

 

Weiß jemand, wie man dieses Marionette Object erweitern kann, um das im besten Fall über die OIP durch Eingabe zu steuern?

 

 

Danke euch

- Vectorworks 2026 ARCH (aktuell) / Windows 11

- 10th Gen Intel i7-10750H @ 2.60GHz - 32GB RAM - RTX 2070 Laptop GPU

6 Antworten auf diese Frage

Empfohlene Beiträge

Geschrieben

Salü mamo

Am 23.9.2025 um 13:22 schrieb mamo:

Weiß jemand, wie man dieses Marionette Object erweitern kann, um das im besten Fall über die OIP durch Eingabe zu steuern?

 

Also in deinem Upload kann ich kein Marionette-Objekt finden, nur ein Symbol welches mit einer Datenbank verknüpft ist...?

Gruss KroVex

 

CADNODE.ch

Unabhängige CAD-Beratung & Support für Planende: persönlich, zuverlässig und pragmatisch – Workflows, die nicht nur gut klingen, sondern auch funktionieren.

Have you tried to turn it off and on again?
Vectorworks | Architektur | macOS/Windows

Geschrieben (bearbeitet)

Salü Mamo,

 

also an zwei unterschiedlichen Orten musst du Anpassungen vornehmen:

 

1. Das Marionette arbeitet mit einer Datenbank ("Hoehenkote_Data"), welche die Daten im Symbol anzeigt (das Marioonette schreibt die Daten in die Datenbank und im Symbol ist der Text mit dieser Datenbank verknüpft). Die Datenbankfelder sind auf "Objektmasse" formatiert - zeigen somit also die Einheit und Nachkommastelle der Dokumenteinstellungen an. Damit du dies manuell über das Objekt steuern kannst, musst du also die Feldformatierung auf Text (nicht Zahl - Grund kommt später) umstellen.

 

2. Im Marionette-Script (Doppelklick auf das Marionette -> Script bearbeiten, musst du nun die Logik ergänzen. Um die Nachkommastelle mit Python zu steuern, wird normalerweise "round" verwendet. Hier ist einfach das Problem, dass wenn du z.B. die Zahl "2.7" hast und die Nachkommastelle auf 3 setzt, wird dennoch nur "2.7" und nicht "2.700" angezeigt. Deshalb müssen wir den Round-Node zu einem F-String-Round umbauen (deshalb DB-Feldformat = Text und nicht Zahl). Aber eins nach dem anderen...:
2.1 Innerhalb des Scripts ist der Node, aus welchem die roten Linien kommen, für dich relevant:
image.thumb.png.7737b1cc3e095a72fedfeb5a1a07712d.png

 

Nebst diesem ("Add-") Node setzen wir drei weitere ein, einen Input String-Node, einen Input Int-node und den Round-Node.
2.2 Auf den Round-Node führst du einen Doppelklick aus, um das Script zu bearbeiten -> alles markieren und mit dem Folgenden ersetzen:
 


@Marionette.NodeDefinition
class Params(metaclass = Marionette.OrderedClass):
#APPEARANCE
	#Name
	this = Marionette.Node( 'round' )
	this.SetDescription( 'n rounded to i digits, rounding half to even. If i is not connected, it defaults to 0' )

	#Input Ports
	s = Marionette.PortIn(None)
	s.SetDescription('The input string.') 
	x = Marionette.PortIn( 0, 'n' )
	x.SetDescription( 'A floating-point number' )
	n = Marionette.PortIn( 0, 'i' )
	n.SetDescription( 'An integer' )

	#OIP Controls

	#Output Ports
	res = Marionette.PortOut('n')
	res.SetDescription( 'n rounded to i digits, as a floating-point number' )

#BEHAVIOR
	
def RunNode(self):
	#inputs
	s = self.Params.s.value
	x = self.Params.x.value
	y = self.Params.n.value

	#script
	res = f"{x:.{y}f}{s}"

	#outputs
	self.Params.res.value = res

 

(Anstatt "res = round(x,y)" wird hier "res = f"{x:.{y}f}{s}" " verwendet, damit wir auch die zusätzlichen Nullen bekommen um homogene Zahlen zu erhalten und wir können damit auch gleich die Einheiten ergänzen.)


2.3 Anschliessend benennst du den String-Node über die Info-Palette mit "Einheit", den Int-Node mit "Nachkommastellen" (dadurch kannst du diese Nodes ausserhalb des Scriptes, direkt über das Objekt steuern) und hängst sie wie folgt zusammen:
image.thumb.png.a5c7d07f3c235e5b9781d794d013d4a2.png

 

(Da wir durch die F-String-Rundung die Werte in Strings umwandeln, müssen mathematische Operationen vor diesen Round-Nodes ausgeführt werden -> weshalb wir den angepassten Round-Node duplizieren, um "00 = ..." zuvor auszurechnen...).

Ich Hoffe das ist verständlich. Damit kannst du dann komplett frei über die Objekt Infopalette die Nachkommastellen und Einheiten steuern.

Gruss KroVex
 

Bearbeitet von KroVex
  • Like 1

CADNODE.ch

Unabhängige CAD-Beratung & Support für Planende: persönlich, zuverlässig und pragmatisch – Workflows, die nicht nur gut klingen, sondern auch funktionieren.

Have you tried to turn it off and on again?
Vectorworks | Architektur | macOS/Windows

Geschrieben (bearbeitet)

Hallo zusammen, 

man könnte auch das Werkzeug Kotenbemaßung verwenden 🙂
Das funktioniert für Grundriss, Ansicht und Schnitt.
In der Bibliothek gibt es vordefinierte Stile, jeweils für Grundrisse und Schnitte/Ansichten.


LG

Viktor 

Bearbeitet von Viktor Frank
  • Like 1

BIM Consultant

ComputerWorks Deutschland

Geschrieben

Danke KroVex,

 

und auch danke Viktor. Im Fall des Werkzeuges fehlt mir die 3d Darstellung. Hab mich aber auch noch nicht bemüht eine zu erzeugen. Oder habe ich da etwas übersehen?

 

Danke

  • Like 1

- Vectorworks 2026 ARCH (aktuell) / Windows 11

- 10th Gen Intel i7-10750H @ 2.60GHz - 32GB RAM - RTX 2070 Laptop GPU

Geschrieben

Hey zusammen,

 

Ich hätte auch noch eine Idee parat.

 

ich baue mir meist einen Datenstempel, welcher NUR

Daten von Boden/Decken-Objektes abfragen kann.

Mit anderen Objekten ist der Datenstempel nicht kompatibel.

 

Der Datenstempel hat die Funktionalität, dass man per

Pop-up auswählen kann, welche OK-Werte die Grundriss-

höhenkote anzeigt.

 

Es ist allerdings eine Datenbank notwendig, die an

jedes Bo/De-Objekt gehängt werden muss.

 

Optionen:

Relativ zu Ebenenbasishöhe

Relativ zur Grundebene (VW Nullpunkt)

 

Die notwendigen Bestandteile des Datenstempels welche zur Höhenauswahl dienen,

sind sehr klein und können per Klasse ausgeblendet werden.

 

Der Datenstempel kann auch in den Ergänzungen von Ansichtsbereichen verwendet

werden. Ist also sehr flexibel in der Anwendung.

 

Mit anderen Formeln wär auch die UK der Bo/De-Objekte möglich.

 

Anbei eine Beispieldatei (VW 2025).

Vielleicht hilft sie dem Einen oder Anderen.

 

LG Tobi

Beispiel Höhenkote als Datenstempel.vwx

  • Like 2

/  /  /  /  /

 

VW 2025 U7 (Build 828783)


MacBook Pro 16"  |  2023  |  M3 Max  |  128 GB Ram
macOS Sequoia 15.7.1

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
  • Forenstatistik

    • Themen insgesamt
      26,3Tsd
    • Beiträge insgesamt
      136,7Tsd
×
×
  • Neu erstellen...