HOME OGGETTI 3D LIBRI CORSI TUTORIAL FORUM SHOP CONTATTI   LOGIN









Autore Topic: piccola domanda su linguaggio gdl  (Letto 3600 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

luca0

  • Newbie
    ...sono qui da poco, il mio miglior amico è il pulsante RICERCA
  • *
  • Post: 102
piccola domanda su linguaggio gdl
« il: 18 Luglio 2013, 12:54 »
Salve a tutti
è da un po che guardo e riguardo il linguaggio gdl, mi è anche capitato di modificarlo delle volte, magari materiali qualch valore ma senza capirci nulla solamente provando e sbagliando.
ora che ho un po di tempo volevo dedicarlo a questo linguaggio di programmazione in modo da capire almeno cosa ho davanti quando apro un oggetto e magari chissà un giorno anche di crearne dei miei.
ho scaricato il manuale e facendo la prima esercitazione mi sono trovato davanti ad un dubbio...
io ho esperienza con bash scripting con il quale riesco( anzi riuscivo) a fare abbastanza bene  (ho creato script per la gestione bancaria, script di sistema e compagnia) qualcosa di python e qualsina ina ina di C che dopo un po causa tempo ho abbandonato.

il dubbio che mi è venuto riguarda il pensiero di partenza...generalmente io sono abituato a pensare che ogni elemento ha variabili a se che possono creare altre variabili ma che rimangono ben distinte qua invece se non sbaglio le variabili sono sempre le stesse(a, b, zzyzx nel caso del primo esmepio block) e gli altri elementi si modificanoin base ad esse.

vorrei capire è giusto assegnare ad ogni elemento una variabile a se o è controproducente e sintatticamente scorretto??

ad esempio se io facessi cosi per fare 2 blocchi:

Codice: [Seleziona]
BLOCK a, b, zzyzx
BLOCK a2, b2, zzyzx2

sarebbe corretto se poi andassi a creare le nuove variabili nel pannello paramentri??
anche perche se in un futuro volessi fare in modo che un blocco abbia una dimensione e l altro un'altra potrei modificarli senza problemi.
altrimenti mi troverei a dover calcolare quanto in proporzione all altro si deve modificare o sbaglio??

grazie mille per la delucidazione

P.S.
spero di essermi riuscito a spiegare esaustivamente.
« Ultima modifica: 18 Luglio 2013, 13:29 da luca0 »

ZioBob

  • Che pacchia un forum senza spocchia!
  • ADMIN
    ...ho creato questo spazio e lo amo
  • *
  • Post: 5.099
Re:piccola domanda su linguaggio gdl
« Risposta #1 il: 18 Luglio 2013, 14:06 »
Non è assolutamente necessario usare le variabili standard. Puoi crearne quante vuoi e usarle liberamente.
A e B sono sempre presenti di default, fin dalla nascita del GDL, e hanno lo scopo di mettere a disposizione una coppia di valori standardizzati per le dimensioni generali dell'oggetto. I campi relativi infatti li trovi a portata di mano (di mouse) nella palette informazioni e, nella finestra di settaggio, proprio accanto all'anteprima dell'oggetto.
E' un modo veloce per dire "quanto è grande" quell'elemento. Mentre tutti gli altri valori li devi impostare nella lista dei parametri.

E' sempre chi programma a scegliere come usare i parametri. se un oggetto singolo ha due "corpi" (due BLOCK), devi essere tu a decidere se usare le variabili A e B per uno di essi, per entrambi, o per nessuno...

Idem per ZZYZX, nata molti anni dopo, per definire la dimensione Z.

Nota anche che se usi le variabili A,  B, zzyzx,  e un hotspot si trova proprio in quella posizione  (nella coordinata A,B in pianta, o nella coordinata A, B, ZZYZX nel 3D) l'oggetto sarà stretchabile senza necessità di aggiungere specifiche istruzioni GDL.
-Roberto Corona-
archiradar  Staff



luca0

  • Newbie
    ...sono qui da poco, il mio miglior amico è il pulsante RICERCA
  • *
  • Post: 102
Re:piccola domanda su linguaggio gdl
« Risposta #2 il: 18 Luglio 2013, 18:13 »
perfetto grazie mille!!

quindi a b zzxzy sono le variabili principali per la visuaizzazione della misura totale di un oggetto nella paletta informazioni il resto se voglio far si che si possa modificare uno o piu elementi all interno dell oggetto devo aggiungere variabili a mio piacimento, che siano relative o no alle variabili di cui sopra sta a me decidere.

se ho ben capito come è strutturato il linguaggio (almeno per ora), di variabili d ambiente abbiamo i vari elementi le rotazioni gli spostamenti etc..

luca0

  • Newbie
    ...sono qui da poco, il mio miglior amico è il pulsante RICERCA
  • *
  • Post: 102
Re:piccola domanda su linguaggio gdl
« Risposta #3 il: 22 Luglio 2013, 12:02 »
scusate ho un altrta domandina che approfitto per chiedere qua visto che ho gia aperto una discussione.

Riguarda i cicli FOR

generralmente la sintassi è questa:

Codice: [Seleziona]
    FOR variabile = valore_iniziale TO valore_finale
    NEXT variabile
END
ma non c è modo di dare un solo valore finale invece di mettere un valore iniziale e un valore finale ??
dalla GDL reference non mi pare di veder niente a riguardo quindi gli devo sempre dire da dove partire??




[/code]

doclace

  • Newbie
    ...sono qui da poco, il mio miglior amico è il pulsante RICERCA
  • *
  • Post: 160
Re:piccola domanda su linguaggio gdl
« Risposta #4 il: 22 Luglio 2013, 17:11 »
Ciao, sto seguendo la tua discussione. Come mai non vorresti settare il valore iniziale? Se ti manca proprio la variabile o non la vuoi settare, la risposta più semplice è... partire da 1, poi puoi aggiungere il valore STEP per modificare il tipo di sequenza:

    FOR variabile = 1 TO valore_finale STEP passi_avanzamento
    NEXT variabile
END
Vado un po'a memoria, spero di non ricevere troppe bacchettate da ZioBob  :bigrin:

doclace

  • Newbie
    ...sono qui da poco, il mio miglior amico è il pulsante RICERCA
  • *
  • Post: 160
Re:piccola domanda su linguaggio gdl
« Risposta #5 il: 22 Luglio 2013, 17:16 »
Altrimenti invece di usare FOR ... NEXT usi gli altri metodi

Codice: [Seleziona]
! 1st FOR i = 1 TO 5 STEP 1 BRICK 0.5, 0.5, 0.1 ADDZ 0.3 NEXT i
 ! 2nd i = 1 DO BRICK 0.5, 0.5, 0.1 ADDZ 0.3 i = i + 1 WHILE i <= 5

! 3rd i = 1 WHILE i <= 5 DO BRICK 0.5, 0.5, 0.1 ADDZ 0.3 i = i + 1 ENDWHILE

! 4th i = 1 REPEAT BRICK 0.5, 0.5, 0.1 ADDZ 0.3 i = i + 1 UNTIL i > 5

luca0

  • Newbie
    ...sono qui da poco, il mio miglior amico è il pulsante RICERCA
  • *
  • Post: 102
Re:piccola domanda su linguaggio gdl
« Risposta #6 il: 22 Luglio 2013, 23:47 »
perche io pensavo se devo fare in modo che un ciclo si ripeta n volte è piu logico (per me ovviamente) che dica:
finche il valoreiniziale non raggiunge il valore finale esegui questo,
invece che dire :
per ogni valore compreso tra valore iniziale e valore finale esegui questo

o sbaglio a ragionare??

Grazie mille

claudio-aster

  • MODERATOR
    ...non tutti i supereroi indossano il mantello
  • *
  • Post: 880
Re:piccola domanda su linguaggio gdl
« Risposta #7 il: 23 Luglio 2013, 11:33 »
??!!   non capisco.... il GDL è un linguaggio vecchio e stupido, ma sta roba magari se ti accontenti di scriverla con i comandi che mette a disposizione la fa... chiaro che oltre che stupido si esprime con comandi espressi in inglisc... forse non ho capito bene



The following four sequences of GDL commands are equivalent:


! 1st
FOR i = 1 TO 5 STEP 1
BRICK 0.5, 0.5, 0.1
ADDZ 0.3
NEXT i
***********************
! 2nd
i = 1                 ! Premesso che...
DO                            ! Fai
BRICK 0.5, 0.5, 0.1     ! questo
ADDZ 0.3                ! e quest'altro
i = i + 1                ! e quest'altro ancora
WHILE i <= 5            ! finché il valore iniziale non raggiunge il valore finale
**********************
! 3rd
i = 1                  ! Premesso che...
WHILE i <= 5 DO         ! finché il valore iniziale non raggiunge il valore finale Fai
BRICK 0.5, 0.5, 0.1     ! questo
ADDZ 0.3               ! e quest'altro
i = i + 1               ! e quest'altro ancora
ENDWHILE      ! e poi basta
**********************
! 4th
i = 1                  ! Premesso che...
REPEAT                      ! Fai continuamente
BRICK 0.5, 0.5, 0.1     ! questo
ADDZ 0.3                ! e quest'altro
i = i + 1               ! e quest'altro ancora
UNTIL i > 5             ! finché il valore iniziale non raggiunge il valore finale

doclace

  • Newbie
    ...sono qui da poco, il mio miglior amico è il pulsante RICERCA
  • *
  • Post: 160
Re:piccola domanda su linguaggio gdl
« Risposta #8 il: 23 Luglio 2013, 11:41 »
Mi sembra che il ciclo DO... WHILE... (esempio n.2) faccia proprio quello che chiedi  :D
In effetti io non credo di averlo mai usato, mi trovo meglio con FOR... NEXT... dai tempi del C64  ;)

luca0

  • Newbie
    ...sono qui da poco, il mio miglior amico è il pulsante RICERCA
  • *
  • Post: 102
Re:piccola domanda su linguaggio gdl
« Risposta #9 il: 23 Luglio 2013, 11:55 »
Citazione da: claudio-aster
??!!   non capisco.... il GDL è un linguaggio vecchio e stupido, ma sta roba magari se ti accontenti di scriverla con i comandi che mette a disposizione la fa... chiaro che oltre che stupido si esprime con comandi espressi in inglisc... forse non ho capito bene

perdonami è solo un mio modo di ragionare che fin'ora ho utilizzato, è solo una trasposizione mentale in italiano di quello che avevo intenzione di fare e volevo capire se stessi ragionando giusto o no, evidentemente no e devo cambiare tipo di ragionamento.

grazie mille per la tua precisazione

Citazione da: doclace
Mi sembra che il ciclo DO... WHILE... (esempio n.2) faccia proprio quello che chiedi  :D

In effetti io non credo di averlo mai usato, mi trovo meglio con FOR... NEXT... dai tempi del C64

Si è proprio cosi :D

io da quando ho iniziato a fare bash scripting mi sono trovato molto piu a mio agio utilizando cicli di while in caso avessi a che fare con un contatore altrimenti utilizzavo i cicli di for.
Gestioni diverse del lavoro immagino ;)
« Ultima modifica: 23 Luglio 2013, 11:57 da luca0 »