Zum Inhalt springen

Tabellen - Symbol: Länge-Breite-Höhe / Skalierung auslesen


Josef.S

Frage

Geschrieben

Hallo Vectorworkspros,

 

ich möchte gerne 3D-Symbole (Form eines Quaders) in der Zeichnung platzieren.

Diese sollen dann teilweise Asymetrisch skaliert werden. Anschließend sollen Länge, Breite und Höhe in der Tabelle ausgelesen werden - optional falls das möglich ist der Skalierungsfaktor des Symbols.

 

Was ich schon probiert habe:

Symbol in der Tabelle auslesen -> Werte für L/B/H (=HÖHE etc.) werden garnicht bzw. falsch ermittelt.

 

Objekt innerhalb des Symbols in der Tabelle auslesen -> Länge und Höhe haben selben Wert (VW-BUG meines Erachtens)

 

Objekt innerhalb des Symbols in Additionskörper umwandeln damit Länge, Höhe und Breite richtig ausgelesen werden -> Skallierungsfaktor des Symbols wird beim auslesen übergangen

 

Die Lösung die Funktioniert, ich aber nicht will ist alle Symbole zu zeichnen, innerhalb in Additionskörper umwandeln, Symbole Skalieren, alles Auflösen - Aber dann sind die Quader nicht mehr Variabel.

 

Weiß jemand einen anderen Lösungsansatz oder die Formel zum Auslesen des Skalierungsfaktors?

 

Schonmal Danke ;)

 

Schöne Grüße,

Josef

12 Antworten auf diese Frage

Empfohlene Beiträge

Geschrieben

Keine leichte Aufgabe. Gib den Grundsymbolen eine Datenbank mit, welche die Länge und Breite vor der Skalierung beinhalten. Mit Hilfe der Länge/Breite Funktionen erhältst du die Masse des umschliessenden Rechtecks der Symbole. Wenn die Symbole nicht gedreht sind im Plan, kannst du nun einfach die Breite des Umschliessenden Rechtecks / die Breite in der Datenbank teilen um an den Skalierfaktor zu kommen. Wenn das Symbol gedreht ist, musst du über Winkelfunktionen (mit =Winkel kommst du an die Drehung ran) die wirkliche Breite/Länge des skalierten Symbols errechnen. Wenn die Grundform immer ein Rechteck ist, ist das ja möglich.

Vectorworks 2024 - Architektur - Win 10

Geschrieben

Hallo Herbieherb,

 

vielen Dank für die schnelle Antwort.

 

Die Idee ist Super. Leider scheiters bei mir schon am auslesen der Masse bzw. Länge Breite des Symbols. Hier werden nicht die richtigen Werte ausgegeben (siehe Datei anbei). Die Objekte liegen rechtwinklig im Raum (teilw. um 90° gedreht teilweise um 0.5 skaliert). Bei der Symbolmasse kommen aber krumme werte raus. - mache ich hier ggf. etwas falsch?

 

Gibt es ggf. eine Tabellen Formel ähnlich der BoundingBox bei Marionette, die die linke untere Ecke und rechte obere Ecke des Symbols angibt?

Hier wäre mein Ansatz =(XKoordinate-XMitte)*2 gewesen. -> falsche Werte

 

Dem Grundsymbol einen Datenbank Eintrag zuzuweisen würde funktionieren wenn die Länge und Breite in einer Datenbank ausgelesen werden würde (ohne eigene Eingabe) oder man den Feldeintrag in einer Tabelle über eine Formel ausfüllen könnte. Oder habe ich dich hier falsch verstanden?

 

 

Schöne Grüße,

Josef

233746952_Bildschirmfoto2018-06-18um19_23_36.thumb.png.6ffc74cbb331004fde5218ff0f64c873.png

Tabelle.vwx

Geschrieben

Ok, wenn alles Orthagonal ist, wirds viel einfacher.

Breite, Länge und Höhe entsprechen den Werten des umgrenzenden Rechtecks. In einer 3D oder gedrehten Ansicht kommen die krummen Zahlen raus. in einer Ansicht von oben bzw. 2D funktionierts dann aber mit den Formeln.

Vectorworks 2024 - Architektur - Win 10

Geschrieben

ist das in vwx2023 inzwischen leichter geworden? stehe vor gleichem Problem. Werder Höhe noch Breite werden richtig ausgelsen. Leider auch alles in Winkeln..

Geschrieben

Hallo @lelebu,

das Auslesen der Skalierungsfaktoren gelingt mit den folgenden Formeln:

Für x

=OBJEKTDATEN('Objektvariable'; 102)

Für y

=OBJEKTDATEN('Objektvariable'; 103)

Für z

=OBJEKTDATEN('Objektvariable'; 104)

 

Bis Vectorworks 2023 einschließlich muss die Funktionsoption 'object variable' genutzt werden.

  • Like 2

Gruß


Antonio Landsberger

ComputerWorks GmbH

http://www.computerworks.de

Geschrieben

Hallo Zusammen,

lässt sich das Auslesen der Skalierungswerte noch etwas "verfeinern"?
Ich hätte gerne das nur dann ein Wert in die Tabelle eingetragen wird wenn der Achse

ein Wert <1 eingetragen wurde.
Lässt sich das vielleicht mit einer "Wenn" Formel lösen?
Sprich
Wenn Wert ist <1 = Eintrag anzeigen
Wenn Wert ist >1 = Eintrag nicht anzeigen, bzw. eine 0 anzeigen.

Vielen Dank!

Geschrieben (bearbeitet)
vor 1 Stunde schrieb Hauruck:
=IF(OBJEKTDATEN('Objektvariable'; 102)<1;OBJEKTDATEN('Objektvariable'; 102);'0')



Herzlichen Dank @Hauruck, leider zeigt es mir mit dieser Formel bei jeder Zeile den Wert "0" an.
Obwohl ich ein Objekt in der Zeichnung habe welches über die Z-Achse skaliert wurde.
Den Variablenwert habe ich auf "104" geändert für die Z Achse.

Ich hänge mal zwei Screenshots an, einmal mit der "normalen Formel"
Dort wird alles korrekt angezeigt, nur eben die "1" en stören mich.
Das Zweite Bild mit der "IF Formel"

Danke!

Bildschirmfoto2024-10-21um14_07_55.thumb.png.b725eafacfcaf7ba462fe5b430ddf0fe.png

 

Bildschirmfoto 2024-10-21 um 13.30.52.png

Bearbeitet von J_K
Geschrieben
=IF(OBJEKTDATEN('Objektvariable'; 102)<1;OBJEKTDATEN('Objektvariable'; 102);'0')

 

Die Formel bedeutet: Wenn Z-Skalierung kleiner ist als 1 dann gib die Z-Skalierung an, wenn nicht schreib 0.

In deinem Fall sind alle Skalierungen grösser oder gleich 1, also gibt die Formel 0 aus.

  • Like 1

Vectorworks 2024 - Architektur - Win 10

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
      24,6Tsd
    • Beiträge insgesamt
      127,8Tsd
×
×
  • Neu erstellen...