COMANDO: File-Comandi [Ribbon-File]
Questo comando consente di leggere un insieme di comandi contenuti in un file. I comandi devono seguire una certa sintassi, ed il file, ASCII, deve essere costruito seguendo certe regole. La possibilità di eseguire comandi contenuti in un file può essere molto utile in contesti nei quali si debba eseguire un gran numero di operazioni simili, oppure quando si debbano generare modelli o sotto modelli in modo parametrico. Qui di seguito viene accluso un esempio di file di comandi (estensione .scm):
$ combinazioni per AFS 2000 _ADDCOMBI Permanenti + accidentali _COMBI 1 1 1.00 _COMBI 1 2 0.70 _COMBI 1 3 0.90 _ADDCOMBI Permanenti + sisma x _COMBI 2 1 1.00 _COMBI 2 4 1.00
Il file .scm è costituito da un certo numero di linee. Ogni linea può essere un commento o un’istruzione. Se la linea è un commento essa deve cominciare con il carattere “$”. Se la linea è un comando deve cominciare con un identificatore di comando. Tutti gli identificatori cominciano con il carattere “_”. Le linee che non cominciano con “$” nè con “_” devono essere continuazioni di comando (per i comandi che ammettono continuazione su linee successive).
Qui di seguito viene indicata la sintassi dei comandi che si possono eseguire da file. Nelle spiegazioni di seguito elencate si tengano presenti le seguenti regole convenzionali:
Ciò che è tra parentesi quadre è opzionale.
Ciò che è tra parentesi graffe può essere un numero o una variabile precedentemente definita.
Sono ammesse le operazioni tra variabili (+, -, *, /) e l'uso delle parentesi tonde anche annidate nelle espressioni. Sono inoltre ammesse le funzioni sin(), cos(), tan(), atan(), asin(), acos(). Per familiarizzarsi con le macro si vedano i file .scm contenuti nel direttorio di installazione.
name nome da dare alla combinazione (può contenere spazi e va fino alla fine della linea)
Aggiunge una combinazione a quelle esistenti. Questo comando è molto utile quando si debbano assegnare parecchie combinazoni. Usato in combinazione con il comando _COMBI consente di rendere molto molto rapida l’aggiunta e la modifica delle combinazioni. Conviene usare questo comando quando le combinazioni sono molte.
_ADDLCASE kind psi0 psi1 psi2 name
kind indica il tipo del caso di carico e può assumere uno dei valori seguenti: GRAVITY DEAD LIVE SNOW WIND EARTHSTATIC THERMAL EARTHMODAL Psi0 coefficiente di combinazione Psi1 coefficiente di combinazione (valore frequente) Psi2 coefficiente di combinazione (valore quasi permanente) name nome da dare al caso di carico (può contenere spazi e va fino alla fine della linea)
Aggiunge un caso di carico a quelli esistenti. Questo comando è molto utile quando si debbano assegnare parecchi casi di carico. Esempio:
_ADDLCASE SNOW 0.7 0.2 0.0 Neve sulla copertura
nc numero della combinazione nl numero del caso di carico fact fattore che il caso nl ha nella combinazione nc
Assegna il fattore di un caso in una combinazione. Questo comando è molto utile quando si debbano assegnare parecchie combinazoni. Usato in combinazione con il comando _ADDCOMBI consente di rendere molto molto rapida l’aggiunta e la modifica delle combinazioni. Conviene usare questo comando quando le combinazioni sono molte.
nc numero della combinazione da selezionare
Seleziona una combinazione.
Seleziona tutte le combinazioni.
nc numero della combinazione da deselezionare
Deseleziona una combinazione.
Deseleziona tutte le combinazioni.
what indica cosa si vuole cancellare e può assumere uno dei valori seguenti:
COMBI per rimuovere una combinazione LCASE per rimuovere un caso di carico
num indica il numero che individua l’oggetto da cancellare
Cancella casi o combinazioni di carico. Si noti che ad ogni cancellazione e prima di eseguire ogni altro comando, i casi e le combinazioni vengono rinumerati in modo da mantenere una numerazione sequenziale. Ad esempio, se si hanno i casi 1, 2, 3, 4, 5 e si cancella il caso 2, si avranno i casi 1, 2, 3, 4, i quali, prima della cancellazione avevano ordinatamente i seguenti numeri (1, 3, 4, 5).
type indica se il parametro è reale o intero e può assumere uno dei valori seguenti:
REAL perchè il parametro sia un numero reale INT perchè il parametro sia un numero intero
Name indica il nome che individua il parametro (max 19 caratteri)
Explain è la spiegazione da dare a chi deve fornire il parametro (l'utente): max 100 caratteri
Consente di aggiungere un parametro, del quale si dà il nome ed il valore.
_ADDNODE {suffix1} {x} {y} {z} [to {suffix2} {x2} {y2} {z2} {step}]
suffix1 indica il suffisso del primo nodo da aggiungere.
x indica l'ascissa del primo nodo da aggiungere
y indica l'ordinata del primo nodo da aggiungere
z indica la quota del primo nodo da aggiungere
step indica il passo di incremento del suffisso da suffix1 a suffix2
Consente di aggiungere nodi. Valgono le seguenti regole:
suffix2 >= suffix1 suffix1 + n * step = suffix2 n è un intero che deve esistere
_ADDELE type {suffix1} {suff_n1} {suff_n2} {suff_n3} [to {suffix2} {stepe} {stepn}]
type indica il tipo degli elementi e può assumere uno dei valori seguenti:
BEAM perchè gli elementi siano travi TRUSS perchè gli elementi siano bielle
suffix1 indica il suffisso del primo elemento da aggiungere.
suff_n1 indica il suffisso del primo nodo del primo elemento
suff_n2 indica il suffisso del secondo nodo del primo elemento
suff_n3 indica il suffisso del terzo nodo del primo elemento. Se viene indicato "INFPX", "INFPY", "INFPZ","INFMX","INFMY","INFMZ", verrà usato il terzo nodo posto all'infinito Positivo o Negativo specificato.
suffix2 indica il suffisso dell'ultimo elemento da aggiungere.
stepe indica il passo di incremento del suffisso dell'elemento
stepn indica il passo di incremento del suffisso del primo e del secondo nodo (il terzo non viene incrementato).
Consente di aggiungere elementi trave o biella.
_ADDPM type {suffix1} {suff_n1} {suff_n2} {suff_n3} {suff_n4} [to {suffix2} {stepe} {stepn}]
type indica il tipo degli elementi e può assumere uno dei valori seguenti:
PLATE perchè gli elementi siano piastre MEMBR perchè gli elementi siano membrane
suffix1 indica il suffisso del primo elemento da aggiungere.
suff_n1 indica il suffisso del primo nodo del primo elemento
suff_n2 indica il suffisso del secondo nodo del primo elemento
suff_n3 indica il suffisso del terzo nodo del primo elemento
suff_n4 indica il suffisso del quarto nodo del primo elemento (se = 0 l'elemento è triangolare)
suffix2 indica il suffisso dell'ultimo elemento da aggiungere.
stepe indica il passo di incremento del suffisso dell'elemento
stepn indica il passo di incremento del suffisso del primo, del secondo nodo, del terzo e (se diverso da zero) del quarto nodo
Consente di aggiungere elementi piastra o membrana.
type indica il tipo degli oggetti dei quali viene stabilito il prefisso e può assumere uno dei valori seguenti:
BEAM, TRUSS, NODE, PLATE, MEMBR, SPRING
string indica la stringa che, da ora in poi costituirà il prefisso per gli oggetti del tipo specificato (max 15 caratteri) Consente di specificare un prefisso diverso da aggiungere al suffisso. In questo modo si possono usare numerazioni di suffisso identiche avendo nomi diversi.
var nome della variabile (anche nuova) da iterare nel ciclo
start valore iniziale
end valore finale
Esegue le istruzioni contenute sino al prossimo _ENDLOOP un numero di volte pari a (end-start+1). I loop possono essere annidati.
marca la fine delle istruzioni contenute in un blocco di _LOOP.
prop numero della proprietà di sezione da assegnare ai successivi elementi trave e biella aggiunti
Stabilisce il valore corrente del numero di sezione. Tale numero viene usato nel comando _ADDELE come numero da attribuire agli elementi aggiunti.
Elimina i nodi non referenziati dalla struttura corrente.
_CONSTRNODE {suffix1} to {suffix2} {step} [TX] [TY] [TZ] [RX] [RY] [RZ]
suffix1 suffisso del primo nodo suffix2 suffisso dell'ultimo nodo step incremento del suffisso TX la traslazione x è vincolata TY la traslazione y è vincolata TZ la traslazione z è vincolata RX la rotazione x è vincolata RY la rotazione y è vincolata RZ la rotazione z è vincolata
Applica la maschera di vincolo specificata ai nodi specificati, da suffix1 a suffix2 (con il prefisso corrente). Se il grado di libertà è libero non mettere il corrispondente codice: ad esempio una cerniera sferica sarà "TX TY TZ".
indica che le istruzioni fino al successivo _ENDNEWSTRUC si riferiscono ad una nuova struttura locale, che diventa la struttura corrente. Appena raggiunta l'istruzione _ENDNEWSTRUC, la struttura locale viene fusa automaticamente con le regole del comando "Fondi", nella struttura principale. Le istruzioni _NEWSTRUC non possono essere annidate. Se il contenuto di un file di macro viene avvolto tra due istruzioni _NEWSTRUC ed _ENDNEWSTRUC, questo può poi essere richiamato da un altro file senza problemi di interferenza. Si veda il file di esempio "prattXZ.scm".
termina un blocco _NEWSTRUC ed ordina che la struttura locale venga fusa con quella principale.
_NEWBLOCK {x} {y} {z} filename
x Traslazione x da applicare al nuovo blocco y Traslazione y da applicare al nuovo blocco x Traslazione z da applicare al nuovo blocco filename nome del file di comandi da eseguire Consente di eseguire una macro contenuta in un altro file. I nodi e gli oggetti definiti nel nuovo blocco vengono inseriti in una struttura a parte, che, alla fine del blocco, viene fusa con la struttura corrente. Prima di essere fusa la struttura locale viene traslata di (x, y, z).
Chiede all'utente una traslazione globale della intera struttura corrente. Se questa istruzione viene eseguita come parte di un blocco richiamato da un comando _NEWBLOCK non viene materialmente eseguita, in quanto lo shift è già precedentemente stato specificato (se un file è usato direttamente il comando consente di posizionare la struttura corrente, se è usato indirettamente con una chiamata a _NEWBLOCK la istruzione _POSITION diviene superflua).
_POSTIMPORT fatherlcase sonlcase file_path
Vengono importati nel modello corrente, e sovrascritti, gli spostamenti, gli sforzi e le reazioni vincolari calcolati in un altro modello, che deve avere lo stesso numero di nodi e di elementi. fatherlcase è il caso di carico del modello corrente. sonlcase è il caso di carico da cui trarre i risultati nel modello "son", di appoggio. file_path è l'intero percorso del file di appoggio da cui trarre i risultati (c:\pluto\paperino.wsr). Il comando è utile per automatizzare la sovrascrittura dei risultati da un altro modello nel modello corrente. Automatizza il comando Post-Importa. _FORCENODE {suffix1} to {suffix2} {step} {lcase} {Fx} {Fy} {Fz}
suffix1 suffisso del primo nodo suffix2 suffisso dell'ultimo nodo step incremento del suffisso lcase caso di carico Fx componente in direzione x della forza Fy componente in direzione y della forza Fz componente in direzione z della forza
Applica la forza specificata ai nodi specificati, da suffix1 a suffix2 (con il prefisso corrente).Quando il comando viene eseguito il caso di carico lcase deve esistere.
_MASSNODE {suffix1} to {suffix2} {step} {Mx} {My} {Mz}
suffix1 suffisso del primo nodo suffix2 suffisso dell'ultimo nodo step incremento del suffisso Mx componente in direzione x della massa traslazionale My componente in direzione y della massa traslazionale Mz componente in direzione z della massa traslazionale
Applica la massa specificata ai nodi specificati, da suffix1 a suffix2 (con il prefisso corrente). _MOMENTNODE {suffix1} to {suffix2} {step} {lcase} {Mx} {My} {Mz}
suffix1 suffisso del primo nodo suffix2 suffisso dell'ultimo nodo step incremento del suffisso lcase caso di carico Mx componente in direzione x della coppia My componente in direzione y della coppia Mz componente in direzione z della coppia
Applica la forza specificata ai nodi specificati, da suffix1 a suffix2 (con il prefisso corrente).Quando il comando viene eseguito il caso di carico lcase deve esistere.
_pBEAM {suffix1} to {suffix2} {step} {lcase} {px} {py} {pz}
suffix1 suffisso del primo nodo suffix2 suffisso dell'ultimo nodo step incremento del suffisso lcase caso di carico px componente in direzione x del carico uniformemente distribuito py componente in direzione y del carico uniformemente distribuito pz componente in direzione z del carico uniformemente distribuito
Applica il carico uniformamente distribuito specificato agli elementi beam specificati, da suffix1 a suffix2 (con il prefisso corrente).Quando il comando viene eseguito il caso di carico lcase deve esistere.
lc1 caso di carico (lc1) a cui si somma un altro caso di carico lc2 lc2 caso di carico che viene sommato a lc1 fact fattore per cui viene moltiplicato lc2 prima di sommarlo a lc1
_SUMXYZLCASE lc1 lc2 {factx} {facty} {factz}
lc1 caso di carico (lc1) a cui si somma un altro caso di carico lc2 lc2 caso di carico che viene sommato a lc1 factx fattore per cui viene moltiplicato lc2 in direzione x prima di sommarlo a lc1 facty fattore per cui viene moltiplicato lc2 in direzione y prima di sommarlo a lc1 factz fattore per cui viene moltiplicato lc2 in direzione z prima di sommarlo a lc1
unit nuova unità di misura da adottare, può assumere i seguenti valori: mm millimetri cm centimetri mt metri in pollici ft piedi yd iarde
N Newton DAN Deca Newton KN Kilo Newton GR Grammi KG Kilogrammi ton Tonnellate p libbre kip migliaia di libbre
sec secondi min minuti hou ore
°C gradi centigradi °F gradi Farenheit
Assume l’unità di misura specificata come unità con la quale interpretare i successivi dati di input.
lc1 caso di carico (lc1) da azzerare
Tipo:immediato. Destinazione: documento.
|