Wir schätzen Ihren Input! Bitte nehmen Sie an der Umfrage zu Archicad 28 Startbildschirm und Lerninhalte/Schnell-Tutorials teil
am 2023-11-05 05:02 PM
am 2023-11-06 12:22 PM
Howdy dihes,
schau mal ins GDL-Handbuch. Bei Drehung muss du neben dem 4er, 5er und 6er noch den 7er-HoSpo-Typ setzen. Der kennzeichnet die Drehachse (sprich senkrecht zu der Fläche die durch 4, 5 und 6 aufgespannt wird. Dann klappts auch mit alpha = 0
HOTSPOT 0, 0, 0, unID, dreWi, 6 : unID=unID+1 !!! MP
HOTSPOT radi, 0, 0, unID, dreWi, 4 + 1*128 : unID=unID+1 !!! BASIS
HOTSPOT radi * COS(dreWi), radi * SIN(dreWi), 0, unID, dreWi, 5 + 0*128 : unID=unID+1 !!! Beweglicher Pkt
HOTSPOT 0, 0, 1, unID, dreWi, 7 : unID=unID+1 !!! ReferenzPkt. falls dreWi = NULL
Gruß
am 2023-11-06 01:03 PM
für 3d hast du recht; In der Frage ging es aber um 2D: "hotspot2"
Ich denke, das Problem liegt hier: hotspot2 a0, 0, uID, wA , 6 :uID=uID+1 !Mittelpunkt
der X Wert a0 taucht in den folgenden beiden Zeilen nicht mehr auf
am 2023-11-07 08:05 AM
am 2024-01-06 11:34 AM
hallo neuer versuch
hab das script reduziert auf einen vector
möchte, dass der drehpunkt immer der anfangspunkt bleibt
vlt. kann wer helfen
danke
___
am 2024-01-08 09:12 AM
Um was willst du drehen? Um den Objektnullpunkt oder den Anfangspunkt des Vektors? Das ist entscheidend. Danach richtet sich, wo du die Dreh-Befehle einfügst und v.a. wann du das Koordinatensystem verschiebst bzw. drehst.
am 2024-01-08 07:55 PM
danke fürs helfen
um den anfangspunkt soll gedreht weden
der anfangspunkt & der endpunkt sind linear verschiebbar
das drehen um den nullpunkt ist kein problem
am 2024-01-09 02:32 PM
Mögliche Lesart:
Ein Punkt auf der X-Achse beweglich. Gedachte Gerade durch diesen Punkt und um diesen Punkt drehbar. Weiterer Punkt in beweglichem Abstand auf dieser Geraden. Vektor zwischen den Punkten.
Zweite Lesart:
Ein beliebig positionierter Punkt in X/Y. Der Rest wie zuvor.
Dritte Lesart:
Zwei beliebig positionierte Punkte in X/Y. Vektor dazwischen. Nur wozu ist dann die Rotation?
Bei allem vorausgesetzt, dass die Drehung des Gesamtobjektes nicht sinnvoll/möglich ist, weil noch andere Elemente erzeugt werden, die nicht gedreht werden sollen.
Ich frage "so blöd", weil klar sein muss, was eigentlich wie funktionieren soll, denn ggf. beeinflusst eine Drehung die Position der Punkte und das kannst du nicht mit HOTSPOT(2) lösen, sondern dafür müssen die Parameter synchronisiert werden. Schlimmstenfalls widersprechen sich die Einstellungen.
2024-01-09 03:44 PM - bearbeitet 2024-01-09 03:52 PM
! Erste Lesart ungetestet so:
uID = 100
hotspot2 0, 0, uID
circle2 0,0,0.05
! linear links
hotspot2 0, 0, uID, a0, 1+128 :uID=uID+1
hotspot2 -0.1, 0, uID, a0, 3+128 :uID=uID+1
hotspot2 a0, 0, uID, a0, 2 :uID=uID+1
add2 a0,0
vl = (a1-a0)
dp = vl / 2
! drehbar bei a0
hotspot2 0, 0, uID, wA , 6 :uID=uID+1 !Mittelpunkt
hotspot2 dp, 0, uID, wA , 4+128 :uID=uID+1 !Basispunkt
rot2 wA
hotspot2 dp, 0, uID, wA , 5 :uID=uID+1 !Beweglicher Punkt
! linear rechts
hotspot2 -a0, 0, uID, a1, 1+128 :uID=uID+1
hotspot2 -a0-0.1, 0, uID, a1, 3+128 :uID=uID+1
hotspot2 vl, 0, uID, a1, 2 :uID=uID+1
line2 0,0,vl,0
del 2
! Erste Lesart ungetestet so:
uID = 100
hotspot2 0, 0, uID
circle2 0,0,0.05
! linear links
hotspot2 0, 0, uID, a0, 1+128 :uID=uID+1
hotspot2 -0.1, 0, uID, a0, 3+128 :uID=uID+1
hotspot2 a0, 0, uID, a0, 2 :uID=uID+1
add2 a0,0
dp = a1 / 2
! drehbar bei a0
hotspot2 0, 0, uID, wA , 6 :uID=uID+1 !Mittelpunkt
hotspot2 dp, 0, uID, wA , 4+128 :uID=uID+1 !Basispunkt
rot2 wA
hotspot2 dp, 0, uID, wA , 5 :uID=uID+1 !Beweglicher Punkt
! linear rechts
hotspot2 0, 0, uID, a1, 1+128 :uID=uID+1
hotspot2 -0.1, 0, uID, a1, 3+128 :uID=uID+1
hotspot2 a1, 0, uID, a1, 2 :uID=uID+1
line2 0,0,a1,0
del 2