variable Hotspots in Schleife
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2019-09-17 03:21 PM
ich möchte in einer Schleife variable Hotspots in nur einem Parameter (Array) anlegen
!=================================
!2DSCRIPT
!=================================
unID=100
DIM HTSP_ARRAY[]
FOR i=1 to INT_COUNT
unID = unID +1 : HOTSPOT2 0, 0, unID, HTSP_ARRAY[INT_COUNT], 1+128
unID = unID +1 :HOTSPOT2 0, -1, unID, HTSP_ARRAY[INT_COUNT], 3
unID = unID +1 :HOTSPOT2 0, HTSP_ARRAY[INT_COUNT], unID, HTSP_ARRAY[INT_COUNT], 2
next i
Es läuft noch nicht.....
Wer kann helfen?
Danke,
Lukas
GER Archicad Full, Up to date
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2019-09-17 03:54 PM
INT_COUNT würde ich durch VARDIM1( HTSP_ARRAY ) ersetzen.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2019-09-17 04:10 PM
habe einen "echten Parameter" angelegt....
ich steh leider aufm Schlauch
INT_COUNT würde ich durch VARDIM1( HTSP_ARRAY ) ersetzen.
wie springt das script dann in den nächsten Wert?
Ist ein GOSUB sinnvoll?
GER Archicad Full, Up to date
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2019-09-17 05:18 PM
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2019-09-18 01:10 AM
Sonst solte das Skript stimmen. Es macht so viele Fangpunkte, wie das Array groß ist.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2019-09-19 09:16 AM
"Ma_Scht" wrote:
"" statt "[INT_COUNT]" ?
und ich dachte das hätt ich ausprobiert.....es läuft!
Was würd ich nur ohne euch machen 😉
Nur noch eine Frage: Kann ich die Größe der Matrix eines ARRAY Parameters (angelegter Parameter) definieren? Oder muss ich für den Fall der Fälle händisch ausreichend anlegen?
GER Archicad Full, Up to date
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2019-09-19 10:19 AM
ganz unten bei Tipps und Tricks stehts:
Arrayparameter in der Parameterliste haben eine feste Ausdehnung. Diese kann ab ArchiCAD 8 individuell für jedes im Projekt platzierte Objekt per Skript erweitert werden, indem man den neuen Feldern einen Wert zuweist und mit PARAMETERS neu anlegt:
! ### Parameterskript
! Parameter 'aa' ist ein Array mit 1x3 Feldern, Typ Länge
FOR i=4 TO 5
aa[i]=A : PARAMETERS aa[i]=aa[i]
NEXT i
Die Zuweisung kann auch durch den Befehl PARAMETERS aa=aa erfolgen.
So ist auch eine Reduzierung der Arrayausdehnung möglich, indem man zunächst ein anders benanntes Array (z.B. bb[2]) mit geringerer Ausdehnung definiert und die benötigten Werte dorthin überträgt und danach mittels PARAMETERS aa=bb neu setzt.
Joachim Sühlo und Frank Beister sei an dieser Stelle nochmal für die grandiose Seite gedankt!
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2019-09-19 12:45 PM
PARAMETERS funktioniert nur im Rahmen des Parameter Skripts. Aber auch dann funktioniert das nicht jedes mal, wenn es abgearbeitet wird.
Das heißt, dass dein Array erst größer wird, wenn PARAMETERS auch wirksam war und die Werte in der Parametertabelle deiner Objektinstanz im Projekt geändert wurde.
Wenn nicht und dein 2D-Skript versucht Arraywerte zu lesen, die noch nicht angelegt wurden, kommt es zum dicken Knösel.
Daher bei dynamischen Parameterarrays besser mit VARDIM arbeiten als mit festen Werten.
BTW: Ein Reset des Arrays ist übrigens auch durch den DIM Befehl möglich. Dann werden alle Inhalte gelöscht und die Dimensionen neu gesetzt.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2019-09-19 01:56 PM
habe auch gemerkt, dass das nicht ganz so problemlos läuft.....Für meinen Fall konnte ich aber mit dem Befehl im Parameter automatisiert 100 Standard Werte setzen.....danach habe ich die Zeile raus kommentiert.
GER Archicad Full, Up to date