am 2023-11-05 05:02 PM
2025-01-02 11:19 AM - bearbeitet 2025-01-02 11:21 AM
Ich würde ja die beiden Parameter a0 und a1 stilllegen und vom Objektursprung aus agieren. Wandlänge gleich A. Gedreht wird mit dem Drehwerkzeug und damit das ganze Objekt. Mit Wandbreite = B lässt sich das auch gut in einer IA auswerten (nicht vom Arbeitsblatt aus, ich weiß).
Dein GSM sieht dann so aus:
! ### 2D Skript (Tektur)
! linear links
hotspot2 0, 0, uID, a, 1 :uID=uID+1
hotspot2 -1, 0, uID, a, 3+128 :uID=uID+1
hotspot2 a, 0, uID, a, 2 :uID=uID+1
! 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 :nTrs=nTrs+1
! linear rechts (kann auch entfallen)
hotspot2 a, 0, uID, a, 1+128 :uID=uID+1
hotspot2 a+1, 0, uID, a, 3+128 :uID=uID+1
hotspot2 0, 0, uID, a, 2 :uID=uID+1
! 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
! drehbar bei a0 (brauchst du nicht mehr)
! ! hotspot2 a0*cos(wA), a0*sin(wA), 0, wA,6 :uID=uID+1 !Drehpunkt
! hotspot2 a0, 0, uID, wA , 6 :uID=uID+1 !Mittelpunkt
! hotspot2 a0+l4, 0, uID, wA , 4+0 :uID=uID+1 !Basispunkt
! hotspot2 a0+l4*cos(wA), l4*sin(wA), uID, wA , 5 :uID=uID+1 !Beweglicher Punkt
! rot2 wA :nTrs=nTrs+1
! ### In Parameter-Skript am Anfang einfügen
parameters a0=0, a1=a
So wie du das (nach meiner Auffassung) haben möchtest, habe ich in deinem GSM geändert. Die Wandlänge ist darin nicht a1-a0, sondern a1. Alles andere ergibt keinen Sinn. Bei beiden Lösungen kannst du noch die ggf. überflüssigen Parameter bzw. Variablen rausfiletieren.
am 2025-01-02 11:47 AM
Nachtrag zur 1. Lösung:
Am besten gar keine dezidiert beweglichen Fangpunkte für 0/0 und a/0 setzen, sondern nur einfache. Dann kann man in beide Richtungen die Länge ändern und die Wand bleibt dabei "liegen".
hotspot2 0, 0, uID : uID=uID+1
hotspot2 a, 0, uID : uID=uID+1
! linear links (entfällt)
! drehbar bei a0 (entfällt)
! linear rechts (entfällt)
Anpassung im Parameter-Skript bzw. Verwendung von a0 und a1 im ganzen Skript rausnehmen nicht vergessen!