Aktuelle Zeit: 8. Aug 2020, 22:11
Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Tabellenwerte (Excel) im GDL als Parameter
BeitragVerfasst: 3. Okt 2018, 16:26 
Offline
Forum Veteran

Registriert: 4. Nov 2004, 02:01
Beiträge: 570
Wohnort: Graz
Land: AT
Betriebsystem: Windows 10
Hallo,

Ich möchte Excel-Daten (gerne auch aus Excel exportiert via csv/txt...) über GDL in ein Objekt einlesen. Am Feinsten als "Ansammlungswerte" eines Parameters in entsprechender tabellarischer Form.
Kann mir hier evtl. unter die Arme greifen (oder hat gar schon sowas programmiert...)?

Vielen Dank schon mal.

_________________
ArchiCAD 23 aut, ArchiPhysik 16, Win 10 64-bit


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Tabellenwerte (Excel) im GDL als Parameter
BeitragVerfasst: 4. Okt 2018, 09:28 
Offline
Forum Veteran

Registriert: 4. Nov 2004, 02:01
Beiträge: 570
Wohnort: Graz
Land: AT
Betriebsystem: Windows 10
So, bin am Basteln:
Wenn ich es richtig sehe, sollt es so irgendwie möglich sein:
https://www.selfgdl.de/addons/data-io/input/
Allerdings: Wie kann ich ohne datensatzID in eine neue/bestimmte Zeile springen?

Banal stelle ich mir vor:

Code:
For zeile=1 to maxzeile
For spalte=1 to maxspalte
input(ch,zeile,spalte,sys[zeile][spalte])
next spalte
next zeile

_________________
ArchiCAD 23 aut, ArchiPhysik 16, Win 10 64-bit


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Tabellenwerte (Excel) im GDL als Parameter
BeitragVerfasst: 4. Okt 2018, 11:39 
Offline
Forum Veteran
Benutzeravatar

Registriert: 26. Mai 2002, 01:01
Beiträge: 927
Wohnort: Osterwald
Land: DE
Betriebsystem: MacOS 10.11
Hier ein Test-Beispiel (vielleicht hilft das weiter):

Code:
   filename = "test_x.txt"   
   ch = OPEN( "DATA" , filename , "MODE=RO, SEPARATOR='|', LIBRARY" )

   DIM cage_infos [][]
    ay = 1   
   searchfield = "test*material_info"
   nr = INPUT(ch, searchfield, 1,    cage_infos[ay][1], cage_infos[ay][2], cage_infos[ay][3], cage_infos[ay][4], cage_infos[ay][5], cage_infos[ay][6],
                            cage_infos[ay][7], cage_infos[ay][8], cage_infos[ay][9], cage_infos[ay][10], cage_infos[ay][11], cage_infos[ay][12],
                            cage_infos[ay][13], cage_infos[ay][14], cage_infos[ay][15], cage_infos[ay][16] )
   
      TEXT2 ay,  0.1 * 1, searchfield                        
   TEXT2 ay, -0.1 * 0, cage_infos[ay][1]
   TEXT2 ay, -0.1 * 1, cage_infos[ay][2]
   TEXT2 ay, -0.1 * 2, cage_infos[ay][3]
   TEXT2 ay, -0.1 * 3, cage_infos[ay][4]
   TEXT2 ay, -0.1 * 4, cage_infos[ay][5]
   TEXT2 ay, -0.1 * 5, cage_infos[ay][6]
   TEXT2 ay, -0.1 * 6, cage_infos[ay][7]
   TEXT2 ay, -0.1 * 7, cage_infos[ay][8]
   TEXT2 ay, -0.1 * 8, cage_infos[ay][9]
   TEXT2 ay, -0.1 * 9, cage_infos[ay][10]
   TEXT2 ay, -0.1 * 10, cage_infos[ay][11]
   TEXT2 ay, -0.1 * 11, cage_infos[ay][12]
   TEXT2 ay, -0.1 * 12, cage_infos[ay][13]
   TEXT2 ay, -0.1 * 13, cage_infos[ay][14]
   TEXT2 ay, -0.1 * 14, cage_infos[ay][15]
   TEXT2 ay, -0.1 * 15, cage_infos[ay][16]

   FOR ay = 2 TO 4

      searchfield = "test*cage_infos[" + STR(ay-1,1,0) + "]"
      nr = INPUT(ch, searchfield, 1,    cage_infos[ay][1], cage_infos[ay][2], cage_infos[ay][3], cage_infos[ay][4], cage_infos[ay][5], cage_infos[ay][6],
                              cage_infos[ay][7], cage_infos[ay][8], cage_infos[ay][9], cage_infos[ay][10], cage_infos[ay][11], cage_infos[ay][12],
                              cage_infos[ay][13], cage_infos[ay][14], cage_infos[ay][15], cage_infos[ay][16] )
      
      TEXT2 ay,  0.1 * 1, searchfield                  
      TEXT2 ay, -0.1 * 0, cage_infos[ay][1]
      TEXT2 ay, -0.1 * 1, cage_infos[ay][2]
      TEXT2 ay, -0.1 * 2, cage_infos[ay][3]
      TEXT2 ay, -0.1 * 3, cage_infos[ay][4]
      TEXT2 ay, -0.1 * 4, cage_infos[ay][5]
      TEXT2 ay, -0.1 * 5, cage_infos[ay][6]
      TEXT2 ay, -0.1 * 6, cage_infos[ay][7]
      TEXT2 ay, -0.1 * 7, cage_infos[ay][8]
      TEXT2 ay, -0.1 * 8, cage_infos[ay][9]
      TEXT2 ay, -0.1 * 9, cage_infos[ay][10]
      TEXT2 ay, -0.1 * 10, cage_infos[ay][11]
      TEXT2 ay, -0.1 * 11, cage_infos[ay][12]
      TEXT2 ay, -0.1 * 12, cage_infos[ay][13]
      TEXT2 ay, -0.1 * 13, cage_infos[ay][14]
      TEXT2 ay, -0.1 * 14, cage_infos[ay][15]
      TEXT2 ay, -0.1 * 15, cage_infos[ay][16]

   NEXT ay


   close ch

_________________
ArchiCAD 12 - 24 | iMac 3.5 Ghz | Mac OS X 10.13 | Win 10


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Tabellenwerte (Excel) im GDL als Parameter
BeitragVerfasst: 4. Okt 2018, 12:46 
Offline
Forum Veteran

Registriert: 4. Nov 2004, 02:01
Beiträge: 570
Wohnort: Graz
Land: AT
Betriebsystem: Windows 10
erste Frage dazu: In welches Script kommt der Code?
Wenn ich den befehl open um dialog erweitere, so scheint dies nur im UI_Skript zu funktionieren (leider aber auch nicht immer...)

_________________
ArchiCAD 23 aut, ArchiPhysik 16, Win 10 64-bit


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Tabellenwerte (Excel) im GDL als Parameter
BeitragVerfasst: 4. Okt 2018, 13:18 
Offline
Forum Veteran

Registriert: 4. Nov 2004, 02:01
Beiträge: 570
Wohnort: Graz
Land: AT
Betriebsystem: Windows 10
Hab bis dato folgendes:
Code:
UI_BUTTON UI_FUNCTION, "Import", 10, 30, 50, 20, 11
im UI-Script

Code:
If GLOB_UI_BUTTON_ID=11 then

   dat_sep='\t'
   ch=OPEN("DATA","test.txt","MODE=RO,SEPARATOR=dat_sep, DIALOG")
      
   FOR i=1 TO zeile
      FOR j=1 TO spalte
         nr=INPUT(ch,i,j,inh)
         parameters feld[i][j]=inh
         feld[i][j]=inh
      NEXT j
   NEXT i   
   CLOSE ch


Bedeutet: ich muß in der 1.Spalte die jeweilge Zeilennummer haben

Aber leider funktionierts trotzdem nicht:

Habe ich zweites Script im UI-Script, dann funktioniert die Zuweisung mittels parameters nicht. Setze ich es ins Master dann liest er gleich gar nix aus.
Und das Dialog-Menü wird sowieso nicht (bzw. anfangs alle heiligen Zeiten?) aufgerufen.

_________________
ArchiCAD 23 aut, ArchiPhysik 16, Win 10 64-bit


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Tabellenwerte (Excel) im GDL als Parameter
BeitragVerfasst: 4. Okt 2018, 13:59 
Offline
Forum Veteran
Benutzeravatar

Registriert: 26. Mai 2002, 01:01
Beiträge: 927
Wohnort: Osterwald
Land: DE
Betriebsystem: MacOS 10.11
Zitat:
erste Frage dazu: In welches Script kommt der Code?

Ich habe den im 2D-Script, weil ich das zum Testen als Text ausgegeben hatte.
Es geht aber auch Master. Parameter-Script und UI würde ich nicht empfehlen).
Zitat:
Wenn ich den befehl open um dialog erweitere, so scheint dies nur im UI_Skript zu funktionieren (leider aber auch nicht immer...)

Ich meine mich zu erinnern, dass das DATA Addon mit DILAOG nicht korrekt funktioniert, bin mir aber nicht sicher.

_________________
ArchiCAD 12 - 24 | iMac 3.5 Ghz | Mac OS X 10.13 | Win 10


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Tabellenwerte (Excel) im GDL als Parameter
BeitragVerfasst: 4. Okt 2018, 14:02 
Offline
Forum Veteran
Benutzeravatar

Registriert: 26. Mai 2002, 01:01
Beiträge: 927
Wohnort: Osterwald
Land: DE
Betriebsystem: MacOS 10.11
Im UI-Script kannst Du nicht mit Parameters arbeiten.
Bau doch ertsmal Dein Script ohne User Interface fertig und wenn es funktioniert,
schreibst Du das UI-Script dazu.

Was sind "alle heiligen Zeiten" ? :-) Erklär mal .....

_________________
ArchiCAD 12 - 24 | iMac 3.5 Ghz | Mac OS X 10.13 | Win 10


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Tabellenwerte (Excel) im GDL als Parameter
BeitragVerfasst: 5. Okt 2018, 08:29 
Offline
Forum Veteran

Registriert: 4. Nov 2004, 02:01
Beiträge: 570
Wohnort: Graz
Land: AT
Betriebsystem: Windows 10
@heilige Zeiten: der "Dialog"-Dialog poppt nur bei ca. 1 von 20 Versuchen (jedenfalls gaaaanz selten) auf, ansonsten werden zwar die Daten eingelesen, aber mit der zuletzt eingestellten Datei.

@Dialog mit Data: Gibt's eine "einfache", "generelle" Methode im UI-Script eine Datei (also mit vollem Pfad) auswählen zu lassen?

_________________
ArchiCAD 23 aut, ArchiPhysik 16, Win 10 64-bit


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Tabellenwerte (Excel) im GDL als Parameter
BeitragVerfasst: 5. Okt 2018, 10:17 
Offline
Forum Veteran
Benutzeravatar

Registriert: 26. Mai 2002, 01:01
Beiträge: 927
Wohnort: Osterwald
Land: DE
Betriebsystem: MacOS 10.11
Versuch es mal mit dem Filemanager-Addon:
https://www.selfgdl.de/addons/filemanager-io/input-3/
(hat aber auch so seine Tücken)

_________________
ArchiCAD 12 - 24 | iMac 3.5 Ghz | Mac OS X 10.13 | Win 10


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Tabellenwerte (Excel) im GDL als Parameter
BeitragVerfasst: 5. Okt 2018, 12:26 
Offline
Forum Veteran

Registriert: 4. Nov 2004, 02:01
Beiträge: 570
Wohnort: Graz
Land: AT
Betriebsystem: Windows 10
Folgende Porblem habe ich mittlerweile eruiert:

1.) DIALOG funktioniert nur dann und wann... -> am besten ausweichen auf LIBRARY
2.) Die doppelte Schleife dürfte das Addon Data nicht packen ->
Alle Spalten direkt abfragen (Spaltenanzahl ist fixiert):
Code:
nr=INPUT(ch,searchfield,1,feld[i][1],feld[i][2],feld[i][3],feld[i][4],feld[i][5])

Aber 3.) -konnte ich bis dato nicht lösen- :
Code:
parameters feld[i][1]=feld[i][1],feld[i][2]=feld[i][2],feld[i][3]=feld[i][3],feld[i][4]=feld[i][4],feld[i][5]=feld[i][5]
bringt das masterscript zum absturz? (Feld ist eine Ansammlung von Strings)

_________________
ArchiCAD 23 aut, ArchiPhysik 16, Win 10 64-bit


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Tabellenwerte (Excel) im GDL als Parameter
BeitragVerfasst: 5. Okt 2018, 15:12 
Offline
Forum Veteran

Registriert: 4. Nov 2004, 02:01
Beiträge: 570
Wohnort: Graz
Land: AT
Betriebsystem: Windows 10
OK. Folgendes habe ich herausgefunden (und darin dürfte auch das Problem mit parameters liegen):
Das Addon unterscheidet beim Import zwischen Zahlen und Texten. Wie kann ich erreichen, das alles als Text importiert wird?
-
Alternativ: Ich probier's mal mit VARTYPE

_________________
ArchiCAD 23 aut, ArchiPhysik 16, Win 10 64-bit


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Tabellenwerte (Excel) im GDL als Parameter
BeitragVerfasst: 5. Okt 2018, 16:49 
Offline
Forum Veteran

Registriert: 4. Nov 2004, 02:01
Beiträge: 570
Wohnort: Graz
Land: AT
Betriebsystem: Windows 10
mit Vartype hat's funktioniert.

_________________
ArchiCAD 23 aut, ArchiPhysik 16, Win 10 64-bit


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu: