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

Hotspots vereinfachen..

Hmooslechner
Moderator
Ich möchte die anfassbaren hotspots als Routine verwenden und somit deren Aufruf einfacher machen.


Ich würde gerne diesen Code:
	 

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



durch dies hier ersetzen:




EVEKTOR = Querschnittein
gosub "Edithotspot"
Querschnittein = EVEKTOR



!und später die Routine:

"Edithotspot":
!!! zur Vereinheitlichung von editierbaren Hotspots



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


return



Weiß von Euch jemand, warum dies nicht geht??
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
6 ANTWORTEN 6
Anonymous
Nicht anwendbar
Der Verschiebewert muss ein Parameter sein. Man kann den Parameter nicht durch eine Variable ersetzen.
Hmooslechner
Moderator
Schade. Oder geht es doch irgendwie?

Ich möchte mir einfach die viele Schreibarbeit sparen können. Außerdem ist diese Arbeitsweise auch sehr fehleranfällig.

Es sollte doch möglich sein, einfach den Parameter an eine Funktion zu übergeben!

Und wenns jetzt nicht geht - sollte es in Zukunft gehen!
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Frank Beister
Moderator
Es sollte doch möglich sein, einfach den Parameter an eine Funktion zu übergeben!
Und wenns jetzt nicht geht - sollte es in Zukunft gehen!

Nein, geht nicht und wird auch nicht gehen, weil es grundlegend unterschiedliche Dinge sind.
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
Hmooslechner
Moderator
Das ist nicht hilfreich! 🙄

Frank - Du hast natürlich einen wesentlich tieferen Einblick als ich als "Wald und Wiesen - GDL-ler", aber erkennst Du wirklich nicht die Vorteile für uns, wenn sowas gehen würde?

Wenn es so komplett andere Dinge sind - sollte es eben geändert werden, dass es geht - ODER - eine viel einfacher Funktion (zum Scripten) dafür hergestellt werden.


Ich habe mich natürlich beim Scripten damit "arrangiert" - eben mindestens 6 Anweisungen für
einen einzigen editierbaren hotspot hinzuschreiben - aber:

- es ist schlecht lesbar!
- es ist Fehleranfällig - und verlängert so die Scriptzeit sinnlos.
- Das Raufzählen der ID sollte nicht nötig sein - bzw. von Archicad selber übernommen werden.

Ich als Laie stelle mir eben sowas vor:

e_hotspot2 Variablenname (x, y, (z), Ausrichtungsrichtung(x oder y oder z))


Also statt 6 Zeilen nur eine.

und dieser fiktive Befehl stellt mir eben einen hotspot in 2D .
Somit wäre die Transformation des koordinatensystems direkt nicht nötig, bzw vom letzten Punkt aus möglich.

Die Scripts wären kürzer - leichter lesbar, weniger fehleranfällig.

Wo wäre ein Nachteil?

Archicad gibt ohnehin bei jeder Version "Derivate" von bestehenden Befehlen neu hinzu. Dies wäre meiner Ansicht nach sehr lohnend.
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Frank Beister
Moderator
Heimo. Das mögen andere anders sehen: Eine Programmiersprache ist eine SPRACHE. Dazu gehört Syntax und Grammatik. Eine gewisse Sauberkeit, und da hinkt der Vergleich mit gesprochenen Sprachen, obendrein. Für mich ist Dein Ansinnen, als würdest Du gerne den Dativ weglassen, weil er nervt und lieber den Noominativ nehmen.
GDL ist ohnehin wegen der Altalsten und Abwärtskompatibilität inzwischen alles andere als eine klare Sprache.

Das bezieht sich auf deine ursprüngliche Frage, nicht, dass ich nicht auch HOTSPOT zu kompliziert finde und dass man das hätte anders anlegen können. Allerdings blicke ich auch hier nicht tief genug in die Glaskugel, denn es kann sein, dass das Ursprünge in nicht sichtbaren Bereichen hat. Denn, so habe ich mir sagen lassen, passiert neben den Objekten eine ganze Menge in ArchiCAD auf Basis von GDL. Morphs z.B.
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
Hmooslechner
Moderator
ich war schon mal so frei...

http://archicad-talk.graphisoft.com/viewtopic.php?t=47274
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia