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

vektor drehbar mit verschobenen mittelpunkt

dihes8010
Participant
an die helfer
danke mal, dass das immer so gut funktioniert
 
habe eine vektor mit beweglichen anfangspunkt
& beweglichen endpunkt
& drehbar
 
das funktioniert soweit gut
wenn allerdings a0 bewegt wird, geht der Mittelpunkt beim drehen mit a0 nicht mit
 
! 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

! 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

! drehbar bei a0
    hotspot2 a0,            0,              uID, wA , 6         :uID=uID+1  !Mittelpunkt
    hotspot2 l4,        0,              uID, wA , 4+128     :uID=uID+1  !Basispunkt
    hotspot2 l4*cos(wA),    l4*sin(wA), uID, wA , 5         :uID=uID+1  !Beweglicher Punkt
    rot2 wA :nTrs=nTrs+1    
11 ANTWORTEN 11

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. 

 

bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm

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!

bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm

Keine Antwort gefunden?

Andere Beiträge
im Board ansehen

Zurück zum Board

Neueste Lösungen durchsuchen

Akzeptierte Lösungen zeigen

Eine neue Diskussion starten!

Neues Thema erstellen