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

Polygon verzerrbar

Anonymous
Nicht anwendbar
Hallo Zusammen

Ich habe folgendes GDL gefunden:
https://bimcomponents.com/GSM/Details/9701

Ich möchte ein Rechteck mit verschiebbaren Ecken bzw. Punkten erstellen.
Grundsätzlich möchte ich genau dieses GDL (siehe Link) als Basis für weitere Objekte. Leider kriege ich nur ein Rechteck hin, wo eine ganze Seite verschoben wird und nicht nur ein Punkt.

Kann mir jemand weiterhelfen?

Vielen Dank
Gruss Ivan
3 ANTWORTEN 3
Hmooslechner
Moderator
Du musst Dich mit editierbaren Hotspots beschäftigen.

eine Variable zum Ziehen mit der Maus kann man zB. mit diesen 3 Zeilen herstellen:

Hier wird die Variable MBR dann grafisch verändert - in y-Richtung

Form:
HOTSPOT2 X, Y, unID, Wert zum verändern, 1=Base :unID=unID+1 !BASE

		

HOTSPOT2 0, 0, unID, MRB, 1 :unID=unID+1 !BASE
HOTSPOT2 0, MRB, unID, MRB, 2 :unID=unID+1 !MOVE
HOTSPOT2 0, -1, unID, MRB, 3 :unID=unID+1 !REF



(Das unID muss vorher einen Anfangswert bekommen, damit es raufzählt - jede Zeile braucht eine eindeutige ID-Nummer)

Man braucht also immer 3 Zeilen für einen Anfasser in einer Richtung

Wenn man 2 Werte für X und Y gleichzeitig verändern will - Etwa für das Ende einer Linie, muss mann dann jeweils X und Y gegeneinander einsetzten - was dann 6 Zeilen sind - etwa so:




!x control Lage der Kooerdinatenliste lg[]

HOTSPOT2 0, lg[2], unIDpsynpoly, lg[1], 1+128 :unIDpsynpoly=unIDpsynpoly+1 !BASE
HOTSPOT2 lg[1], lg[2], unIDpsynpoly, lg[1], 2 :unIDpsynpoly=unIDpsynpoly+1 !MOVE
HOTSPOT2 -1, lg[2], unIDpsynpoly, lg[1], 3 :unIDpsynpoly=unIDpsynpoly+1 !REF

!y control

HOTSPOT2 lg[1], 0, unIDpsynpoly, lg[2], 1+128 :unIDpsynpoly=unIDpsynpoly+1 !BASE
HOTSPOT2 lg[1], lg[2], unIDpsynpoly, lg[2], 2 :unIDpsynpoly=unIDpsynpoly+1 !MOVE
HOTSPOT2 lg[1], -1, unIDpsynpoly, lg[2], 3 :unIDpsynpoly=unIDpsynpoly+1 !REF



Jeweils X (=lg[1]) und Y (=lg[2]) sind gegeneinander eingesetzt.

Somit hast Du zB. den Endpunkt einer Linie variabel gestaltet.
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Anonymous
Nicht anwendbar
Hallo hmooslechner

Vielen Dank für deine Antwort.
Ich werde versuchen es umzusetzen!
Frank Beister
Moderator
Hast du mal das angesehen?

https://bimcomponents.com/GSM/Details/4997

Hier findest du auch weitere Beispiele:

https://www.selfgdl.de/2d-elemente-2/eingabesteuerung/hotspot2/
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