abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Programmierung
Alles über Programmierung in GDL und Python

Request Story....

Hmooslechner
Rockstar

nda = REQUEST ("STORY", "", genr, gname)

genummer = str("%.0m", genr)

addz 1
text 0,0, "genummer:" + genummer



DIM geINFO[]

n = REQUEST ("STORY_INFO", "", nr, geINFO)

FOR i = 1 TO nr

nummer = STR ("%.0m", geINFO[4 * (i - 1) + 1])


name = geINFO[4 * (i - 1) + 2]

lage = STR ("%m", geINFO[4 * (i - 1) + 3])

hoehe = STR ("%m", geINFO[4 * (i - 1) + 4])

if nummer = genummer then Geschosshoehe=hoehe


NEXT i


addz 1
text 0,0, "Geschosshoehe:"+ Geschosshoehe



Wenn ich das obige als Objekt einzeln in ein Geschoß einsetze, stimmt es bei einmaligem Einsetzen in die Zeichnung. So kann man die Höhe auslesen im 3d.

Alle folgenden Eingaben in andere Geschoße bleiben beim gleichen Wert wie das erste solche eingesetzte Objekt.

Was mache ich falsch?
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
7 ANTWORTEN 7
Hmooslechner
Rockstar
Hat damit wirklich noch Keiner zu tun gehabt?

Also - dieses 3D-Script sollte die aktuelle Geschoßhöhe im 3D auslesen und es später für die Z-Höhe der Stiege zugänglich machen.

Tut es auch - aber nur für das Erste dieser Objekte, das man in die Zeichnung einfügt..

Sobald man das Objekt ein 2. Mal einfügt, werden - egal wo man es einfügt - die Werte des ersten Objektes dargestellt. - Vielleicht ein Bug in Archicad? (wohl eher bei mir.. 😁 )

Für das 2 d gibt es eine wesentlich einfachere Methode, zum Wert zu kommen. diesen im 2D ermittelten Wert kann man aber nicht ans 3D-Script übergeben. Wenn es da eine konsistente Möglichkeit gäbe, wäre es mir wesentlich lieber...

Ich will einfach, dass sich das Stiegen-Objekt bei 0 einsetzt, sich die aktuelle Geschoßhöhe aus dem Projekteinstellungen übernimmt und daraus die Stufenanzahl und die ganzen Stufenmaße generiert. (im 2D-Script kann ich es problemlos..)

Zu 95% müßte die Höhenlage so einer Treppe dann ohne Bearbeitung gleich stimmen!
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Anonymous
Nicht anwendbar
Heimo beantworte dir doch erstmal folgende Frage: In welchem Geschoss befindest du dich gerade (=current), wenn du im 3D-Fenster bist?

Auch STORY liest nur das "current" aus.

Aber HOME_ELEVATION liest die Höhenlage deines Einsetzgeschosses aus. An Hand dieser Höhenlage und aus den Höhenlagen ALLER Geschoss kannst du heraussuchen, welches das EInsetzgeschoss ist und daraus die anderen Höhen ermitteln.

Aber eigentlich brauchst du doch auch nur die HOME_HEIGHT, oder?
Hmooslechner
Rockstar
Ja - Gibts das irgendwie direkt?





Ich dachte - dies hier folgt Deinem Hinweis mit current:

nda = REQUEST ("STORY", "", genr, gname)

genummer = str("%.0m", genr)





und mit folgendem Code übergebe ich dann die "Current " Geschoßhöhe an eine andere Variable zur Weiterbearbeitung - oder nicht? - (if nummer =..)

DIM geINFO[]

n = REQUEST ("STORY_INFO", "", nr, geINFO)

FOR i = 1 TO nr

nummer = STR ("%.0m", geINFO[4 * (i - 1) + 1])


name = geINFO[4 * (i - 1) + 2]

lage = STR ("%m", geINFO[4 * (i - 1) + 3])

hoehe = STR ("%m", geINFO[4 * (i - 1) + 4])

if nummer = genummer then Geschosshoehe=hoehe


NEXT i

AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Rockstar
Das in konsistente Verhalten des scripts stellt sich so dar:


Ich setze die Treppe im Grundrissfenster ein. Die Darstellung des 3D-Inhaltes im 2D erfolgt über eine einfache "project2 3, 270 ,2" - Anweisung. Der Schript ist der oben angegebene..

http://youtu.be/hzHpc2m2I9I

Wo ist mein Denkfehler genau?
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Rockstar
Hat wirklich noch nie jemand versucht, ein Objekt von der jeweiligen Geschoßhöhe abhängig zu machen?

Da gäbe es doch so viele Vorteile - und auch für spätere Änderungen!
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Anonymous
Nicht anwendbar
Heimo. Überlege doch mal wie das funktionieren soll. Im 3D-Fenster befindest du dich nicht in einem Geschoss. Da befindest du dich im Modell. An welches Geschoss soll es sich denn da anbinden? Das einzige, woran es sich anbinden könnte wäre das Einsetzgeschoss oder ein anderes, das explizit im Objekt einzustellen wäre. Und alle Werkzeuge dich in diesem Kontext zu bewegen und Höhen und Lage zu ermitteln sind oben genannt.
Hmooslechner
Rockstar
Hast Du das Video angesehen?

Das ist ja meine "Geistig -Erfassungs-Schwierigkeit"!

Warum funktioniert es denn, wenn ich nur ein Element einsetze.!?

Warum funktioniert es nicht mehr, wenn ich dann ein weiters einsetze? Dann übernimmt es mir die Werte des ersten Elementes? Keine Ahnung warum!

Ich setzte das Element im Grundriss (2D) ein.
Der Interpreter liest im !!3D-Text!! (im Modell - nicht im Grundriss) die Werte aus und berechnet die korrekte Geschoßhöhe - und erzeugt mir einen 3D-Text, der ins 2D zurück übertragen wird.(project2).

Das funktioniert ja eindeutig!

Auch, wenn ich dann das Element rauslösche und in ein anderes Geschoß einfüge - funktioniert es immer wieder richtig.

Sobald ich aber ein 2tes Element irgendwo anders einsetzte ohne vorher das vorige zu löschen, geht es für dieses neue Objekt nicht mehr. Dann nimmt er mir die Werte vom ersten Objekt.!

Das kapier ich einfach nicht.

Probiers doch mal aus!

Ich lass es jetzt mal so stehen und verwende meine Ressourcen wo anders. Sollte ohnehin nur ein Demo sein, woran Graphisoft noch arbeiten sollte (Stairmaker-Aktualisierung mit automatischer Geschoßanpassung des Elementes)
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia