Documentazione / Forme / Componenti

Componenti

I componenti sono oggetti costruiti con blocchi costitutivi riutilizzabili. Un orologio, una bussola, un tachimetro, un indicatore circolare, un vettore rotante e un sistema orbitale nascono tutti dallo stesso insieme di cerchi, linee, poligoni, testi e rotazioni.

Schermata: i componenti orologio e bussola sulla lavagna

Panoramica

Il pulsante Oggetti nella barra degli strumenti apre la tavolozza degli oggetti: ogni oggetto ha un’anteprima di ciò che disegna e una descrizione di ciò che fa, e puoi cercarlo per nome, descrizione o etichetta. Scegline uno e trascina sulla lavagna per inserirlo. Un oggetto si comporta come qualunque altra forma: puoi selezionarlo, spostarlo, ridimensionarlo, ruotarlo, bloccarlo, nasconderlo, duplicarlo, copiarlo, annullarne le modifiche e salvarlo.

Un oggetto che costruisci sulla lavagna — con l’assistente IA o a mano — si può condividere: Copia definizione nel suo menu delle impostazioni mette la sua definizione negli appunti, pronta da incollare nell’editor degli oggetti del Catalogo.

Ciò che rende diverso un componente è il modo in cui è costruito. Invece di avere un disegno dedicato per ogni oggetto, un componente è un piccolo albero di blocchi costitutivi approvati — forme, trasformazioni, interazioni e collegamenti a valori — che Modellus compila e disegna. Siccome condividono gli stessi blocchi, i componenti hanno un aspetto coerente tra loro e si possono estendere senza scrivere nuovo codice di disegno. Blocchi costitutivi spiega come funziona questa costruzione, e Definizione di un oggetto spiega come si scrive un oggetto nuovo.

Provali tutti insieme: apri il modello Demo dei blocchi costitutivi e premi riproduci. Una sola simulazione muove un orologio, una bussola, un tachimetro, un indicatore circolare, un vettore rotante e un sistema orbitale.

Componenti disponibili

ComponenteCosa mostra
OrologioUn orologio che legge una variabile per le ore, una per i minuti, una per i secondi e una per i millisecondi — oppure il tempo del modello stesso, preso come numero di secondi — mostrati come un quadrante con una lancetta per ciascuna oppure come lettura digitale della stessa ora, e che può anche funzionare da sé come cronometro, con un suo elenco dei giri
BussolaUna rosa dei venti con un ago che segue una variabile di rotta, e la cui rosa può essere ruotata da una seconda variabile
TachimetroUn quadrante ad arco con una scala, una lancetta e una lettura numerica
Indicatore circolareUn anello che si riempie in proporzione a una variabile
Vettore rotanteUn fasore il cui angolo e la cui lunghezza seguono delle variabili, con proiezioni facoltative
Sistema orbitaleUn corpo centrale con corpi in orbita, posizionati in base al tempo della simulazione e ai loro periodi
VolanteI comandi con cui si guida un veicolo: un volante ruotato da un angolo o da un orientamento e una coppia di pedali che premono ciascuno un valore nello stesso modo, entrambi da zero fino a un massimo proprio di quel pedale; il veicolo è disegnato come un’auto, una moto o una barca, e puoi togliere a piacere il volante, i pedali o il freno
TermometroUna temperatura letta come altezza di una colonna, su una scala segnata ogni tot gradi — un passo, come quello di uno slider — e indicata in Celsius o in Fahrenheit. Una linea tratteggiata porta la cima della colonna fino alla scala, come il mirino di un grafico colloca un punto rispetto ai suoi assi, e l’occhio sulla riga della temperatura mostra il termine e il suo valore oltre la scala, accanto alla lettura. Puoi trascinare la colonna per impostare la temperatura, e le tacche con i loro numeri mantengono la dimensione usata dagli assi della lavagna, così ridimensionando si allunga la scala e non la scrittura

Collegare un componente al modello

Ogni componente espone un piccolo insieme di ingressi nel menu Variabili della sua barra degli strumenti. Un ingresso accetta una variabile del modello oppure un semplice numero, esattamente come i termini di un corpo o di un punto. L’orologio, per esempio, legge una variabile per le ore, una per i minuti, una per i secondi e una per i millisecondi, e le trasforma in angoli delle lancette con il linguaggio delle espressioni di Modellus:

LancettaAngolo
Ore((hour mod 12) + minute / 60) × 30
Minuti(minute mod 60) × 6
Secondi((second + millisecond / 1000) mod 60) × 6
Millisecondi(millisecond mod 1000) × 0.36

L’orologio si mostra come quadrante o come cifre, e lo decide un suo tasto nella barra degli strumenti. Il tasto mostra la scelta attiva e si apre sulle due possibilità: analogico disegna il quadrante, le lancette e i numeri, e digitale disegna la stessa ora in cifre su un display — hh:mm:ss, con ogni campo completato fino alla sua larghezza. Entrambi leggono le stesse quattro variabili, quindi passare dall’uno all’altro non cambia nulla dei collegamenti dell’orologio. I numeri e il trascinamento appartengono solo al quadrante, perciò spariscono dai menu quando sono mostrate le cifre.

Le cifre non sono scritte: sono i segmenti di un vecchio orologio digitale. Ogni carattere è composto da sette lampadine, e quelle che non si accendono restano visibili, sbiadite, dietro di lui, come i segmenti spenti di un display a cristalli liquidi. Sono disegnate e non digitate, quindi restano squadrate a ogni dimensione e non hanno bisogno di nessun carattere tipografico caricato. Colore del quadrante è il display su cui si leggono e Colore dei numeri sono le lampadine stesse, quindi un display scuro con lampadine chiare è a due colori di distanza.

La precisione con cui l’orologio legge l’ora si sceglie colorando le parti, non attivandole. Non c’è nessun mostra secondi o mostra millisecondi: una parte si toglie dall’orologio cancellando il colore con cui viene letta, e si rimette dandogliene uno. Cancella il colore dei secondi e la lancetta dei secondi sparisce dal quadrante, e il campo dopo i minuti sparisce dalla lettura digitale; i millesimi partono senza colore, quindi un orologio non li legge finché non ne scegli uno, e scegliendolo compare sul quadrante una lancetta tutta sua — che fa un giro al secondo — e altre tre cifre dopo i secondi. I numeri intorno al quadrante funzionano allo stesso modo, con il colore dei numeri. Il quadrante non ha tacche per i millesimi: quella lancetta si legge sulla stessa corona della lancetta dei secondi.

La lancetta dei secondi scorre invece di scattare: tiene conto dei millesimi in cui si trova l’orologio, quindi una lettura di 15 s 500 ms la mette a metà tra la quindicesima tacca e la successiva, invece di lasciarla ferma in attesa di saltare al secondo intero seguente. Un orologio che non legge i millisecondi non ha nulla di cui tenere conto, quindi la sua lancetta dei secondi avanza di una tacca alla volta, esattamente come prima.

Tutto l’orologio può invece leggere il tempo del modello stesso. Usa la variabile indipendente, l’interruttore sopra i termini nel menu Variabili, affida l’intero orologio alla variabile indipendente — qualunque nome le abbia dato il modello — letta come numero di secondi, da cui si ricavano le quattro parti. Una simulazione che arriva a 3725.5 segna 1:02:05.500 senza che il modello parli mai di ore. Le quattro righe restano al loro posto, con i selettori svuotati e inattivi: i termini che indicavano sono ancora nell’oggetto, in attesa che l’interruttore venga spento, ma nessuno li legge — per questo il tasto nella barra degli strumenti indica in ogni campo l’orologio del modello, e il colore di ogni parte si sceglie ancora sulla sua riga, perché anche un orologio mosso dal modello ha lancette da colorare. E siccome è il modello a muoverlo, l’unico tasto che ha senso offrire è quello del giro: riproduci e stop spariscono, e i giri si cancellano invece con il cestino.

Ogni riga porta il colore con cui viene letta la sua parte. Il campione di colore alla fine della riga delle ore è la lancetta delle ore sul quadrante e il primo campo delle cifre sul display, e le righe dei minuti, dei secondi e dei millisecondi fanno lo stesso per le loro — così il colore si sceglie accanto al termine che colora, e non da un elenco altrove, e la lettura e il suo colore stanno insieme. All’inizio sono scuri per le ore e i minuti e caldo per i secondi; i millisecondi partono senza colore, ed è questo che mantiene un orologio nuovo a tre lancette. Numeri resta nel menu dei colori, perché è ciò che rimane: i numeri intorno al quadrante, e i due punti e il punto tra i campi della lettura digitale.

L’orologio può funzionare da solo. Attiva Pulsanti nel menu delle impostazioni e compaiono tre tasti in una striscia tutta loro sotto il quadrante o il display, che si allarga per far loro spazio: riproduci/pausa fa contare all’orologio il tempo reale da dove si trova e lo ferma lì quando lo premi di nuovo — un solo tasto, che mostra il simbolo di ciò che farebbe premendolo — giro registra la lettura così com’è e la conserva, e stop termina il conteggio, azzera la lettura e dimentica i giri. I tasti hanno gli stessi simboli che usa il resto della lavagna, presi dallo stesso insieme di icone e non disegnati per somigliarvi. Un orologio in funzione disegna il primo tasto al contrario, simbolo al posto del fondo, così lo fa capire.

I giri registrati si possono elencare sotto i tasti. Attiva Mostra giri e sotto la striscia si apre una sezione tutta sua, separata da una riga: una riga per ogni pressione del tasto del giro, la più recente in alto, ciascuna con la lettura di quel momento e i secondi a cui si trovava. L’elenco è la memoria dell’oggetto stesso, quindi il file lo conserva, l’annullamento lo ripristina e riaprendo il modello i giri sono ancora lì — a differenza del conteggio in corso, che un orologio salvato non ricorda mai. Il tasto del giro ci scrive dentro e il tasto stop lo svuota.

Ciò che l’orologio conta va dove puntano le quattro righe: ogni parte della lettura viene scritta nel termine indicato da quella riga, così hour, minute, second e millisecond si muovono nel modello e tutto ciò che li legge si muove con loro. Una riga che contiene un semplice numero invece di un termine scrive direttamente in quel numero, quindi un orologio appena preso dalla tavolozza funziona anche senza nessun collegamento. Una riga che indica un termine calcolato dal modello non può essere scritta, e un orologio in cui tutte le righe sono così lo segnala con il cursore usato dalle maniglie bloccate. Conta con un orologio proprio e non con quello del modello, quindi continua a contare sia che il riproduttore stia andando sia che sia fermo, e l’intero conteggio — da riproduci a stop — si annulla in un solo passo.

La bussola legge due variabili. Rotta fa girare l’ago in senso orario a partire dal nord, e Rosa fa girare la rosa — tacche, lettere cardinali ed etichette dei gradi — in senso orario sotto l’ago. Lasciando la rosa a 0 ottieni una bussola da carteggio con il nord fisso in alto. Collegandola a un termine uguale all’opposto della rotta, e lasciando la rotta a 0, ottieni una bussola aeronautica a rosa mobile: l’ago resta puntato in alto come linea di fede mentre la rosa gira, quindi la rotta attuale è sempre il valore sotto l’ago.

La bussola segna anche dei Puntatori: tante direzioni quante ne indichi, elencate nel suo menu Variabili come un grafico elenca i termini che rappresenta. Ogni riga sceglie con i suoi due pulsanti se è un angolo in gradi oppure un orientamento, cioè una coppia di termini letta come vettore — quanto verso est e quanto verso nord — che punta dove punta quel vettore. Un angolo si misura da N e cresce in senso orario, così ogni indicatore sta dove sta la tacca della sua direzione e gira con la rosa come quella tacca. A ogni riga è assegnato un colore. Trascina una riga per la sua maniglia per riordinarla, e premi il cestino per toglierla.

Trascinando una lancetta ne riscrivi il valore nel modello, proprio come la lancetta di un indicatore. Non c’è niente da attivare: a decidere è il termine indicato dalla riga, esattamente come per qualunque altro disegno di un valore che puoi cambiare — una lancetta che indica un termine calcolato dal modello resta di sola lettura, e così ogni lancetta di un orologio guidato dal modello.

Il volante è guidato da una sola riga, Ruotato da, e un suo tasto nella barra degli strumenti dice come si legge quella riga. Il tasto mostra la scelta attiva e si apre sulle due possibilità: un angolo e un orientamento . Letta come angolo, la riga offre un solo selettore — un termine o un numero letto in gradi, in senso antiorario, come si misurano gli angoli in tutto il resto del modello: girare il volante a sinistra lo aumenta e girarlo a destra lo diminuisce, quindi un volante tenuto girato a destra legge un valore minore di zero — e la barra degli strumenti mostra quel solo valore. Letta come orientamento, accanto al primo compare un secondo selettore e la barra degli strumenti li mostra entrambi: la coppia si legge come la direzione verso cui punta, quanto in orizzontale e quanto in verticale. Una direzione è un azimut e non un angolo, e gira nel verso opposto — in senso orario a partire dall’alto, come si legge una bussola — così un indicatore sta dove sta la tacca della sua direzione. Un orientamento permette al volante di seguire una velocità o una forza senza che il modello debba prima calcolarne l’angolo, e trascinando il volante la coppia viene riscritta, così puoi orientare quella velocità a mano. Il colore alla fine della riga è il colore del segno in cima al volante — la parte che mostra quanto è girato — quindi si sceglie dove si indica la direzione e non in un menu dei colori a parte.

La bussola segna i suoi puntatori con le stesse due scelte e sotto le stesse due icone, così una direzione si indica allo stesso modo ovunque venga chiesta. Una bussola ha tanti puntatori quanti ne chiedi, quindi ogni sua riga porta con sé la scelta; il volante è girato da una cosa sola, quindi la sua scelta si fa una volta, nella barra degli strumenti, e la sua riga porta solo i termini e il colore.

Veicolo nel menu delle impostazioni sceglie il veicolo disegnato, con tre pulsanti: un’auto, una moto o una barca. Il volante si adegua — il volante a tre razze di un’auto, il manubrio di una moto o la ruota del timone a otto maniglie di una barca, tutti con un segno in cima per leggere a colpo d’occhio quanto sono girati — e così i pedali: il freno e l’acceleratore di un’auto appesi nella loro pedaliera, la coppia di leve al manubrio di una moto, o la coppia di leve di comando sulla chiesuola di una barca.

Il volante, i pedali e, tra questi, il freno sono parti di un unico oggetto, e ognuna si può togliere. Volante e Pedali nel menu delle impostazioni attivano e disattivano le due metà: il solo volante è l’oggetto di sempre, i soli pedali sono la coppia di comandi in tutto il riquadro, e con entrambi attivi il riquadro si divide — il volante nella metà superiore e i pedali sotto, come stanno nel veicolo. Freno è la terza parte, e compare quando i pedali sono attivi: disattivalo e il pedale del freno, la leva del freno della moto e la leva di marcia indietro della barca non vengono disegnati, e l’acceleratore ha tutta l’area dei pedali per essere premuto — il veicolo che un modello guida con un solo comando. Una parte disattivata si porta via le sue righe, così i menu non indicano mai un termine che nessuno legge: il freno si porta via Frena su, Massimo del freno e il suo colore.

In entrambi i casi il volante si può trascinare: punta dove si trova il puntatore, così puoi guidare il modello a mano, e l’angolo si misura a partire dall’alto — lo zero è a ore dodici, e un giro completo del volante copre tutto l’intervallo. Se è ruotato da un angolo, viene riscritto quell’angolo, letto per la via più breve a partire dall’alto: a sinistra è maggiore di zero e a destra minore. Se è orientato da un orientamento, viene riscritta invece la coppia — che mantiene la lunghezza che aveva e prende la direzione in cui è stato girato il volante, cioè v = √(vx² + vy²) riportata lungo il nuovo angolo. Una coppia del tutto vuota non ha una lunghezza da mantenere, quindi viene riportata con lunghezza uno, così il trascinamento ha qualcosa da girare.

Ogni pedale preme un suo valore, e lo zero è la posizione di riposo di entrambi. L’acceleratore è guidato da Accelera su e il freno da Frena su, e le due righe sono fatte allo stesso modo: un termine o un semplice numero, un occhio che lo mostra sul disegno e, alla fine, il colore del pedale. Si premono entrambi allo stesso modo: tenendo premuto un pedale e scorrendo verso l’alto, il suo termine sale sopra lo zero fino al massimo proprio di quel pedale — Massimo per l’acceleratore, Massimo del freno per il freno. Nessuno dei due supera la posizione di riposo da cui parte — scorrendo nel verso sbagliato il pedale si rilascia e si ferma a zero — e uno scorrimento su tutta l’area di un pedale copre tutto il suo intervallo. Ciò che ognuno contiene è quanto forte si sta premendo quel pedale, sempre sopra lo zero, e cosa fa la frenata al modello è affare del modello: leggi Frena su come la quantità da togliere, così come Accelera su è la quantità da aggiungere. Indica lo stesso termine su entrambe le righe e i due pedali premono un unico valore; indicane due e il freno diventa un valore che il modello legge separatamente dall’acceleratore. Qualunque veicolo sia disegnato, il freno è a sinistra e l’acceleratore a destra, e ciascuno si preme nella sua metà dei pedali — oppure, con il freno disattivato, l’acceleratore si preme in qualunque punto.

Ogni pedale sta dove sta il suo termine, ciascuno sulla sua scala. Così un modello che frena preme il pedale del freno, tira indietro la leva della barca e stringe la leva del freno della moto, e un modello che accelera fa lo stesso dall’altra parte, e le due cose possono succedere insieme. Ogni valore si legge sopra il pedale che lo preme, nel colore alla fine della riga di quel pedale — ed è per questo che entrambi i colori si scelgono lì e non in un menu dei colori che indicherebbe due volte la stessa cosa.

Letto come orientamento, un pedale preme una coppia tutta sua lungo l’azimut in cui è girato il volante. I pedali si leggono come il volante: scegli orientamento e su ognuna delle tre righe compare un secondo selettore, così Accelera su e Frena su indicano ciascuna una coppia — quanto in orizzontale e quanto in verticale — accanto alla coppia che orienta il volante. Il volante dice in che direzione va la spinta e il pedale dice quanto è forte: tenendo premuto l’acceleratore la sua coppia si dispone lungo l’azimut, fino a Massimo, e tenendo premuto il freno la sua coppia si dispone nel verso opposto lungo lo stesso azimut, fino a Massimo del freno — così la coppia del freno punta indietro, da dove è venuto il veicolo, mentre la misura di quanto è premuto il pedale resta sopra lo zero, proprio come quando si legge un angolo. Un modello che legge una velocità da queste due coppie accelera lungo la sua rotta e decelera contro di essa, senza che nessuno dei due pedali tocchi la coppia con cui si sterza il volante.

Quanto è premuto un pedale si rilegge lungo quella stessa rotta — in avanti per l’acceleratore, all’indietro per il freno — e non come semplice grandezza della coppia. Quindi una coppia perpendicolare alla rotta non preme nulla: ciò che un pedale mostra è la spinta nella direzione in cui va il modello. Un veicolo fermo non ha una direzione propria — una coppia di zeri non punta da nessuna parte — quindi l’oggetto conserva l’ultimo azimut che aveva: il volante resta girato in quel modo mentre il modello è fermo, e premendo un pedale il veicolo riparte lungo quella stessa rotta invece di saltare verso nord. L’azimut viene ricordato finché la lavagna è aperta, non scritto nel modello, che non dice nulla su dove fosse rivolto un veicolo fermo.

Una coppia torna indietro come fa un termine, lungo l’azimut su cui è stata premuta, finché non è di nuovo ferma — un’accelerazione è una spinta, e una spinta da cui si è tolto il piede non spinge più. Se qui disattivi il freno, il modello si può solo spingere in avanti: non resta nulla per spingere indietro.

Le leve della barca oscillano in profondità e non di lato, come fanno quelle vere sotto la mano: la leva avanti si allontana da te quando sale il termine dell’acceleratore, e la leva indietro si avvicina quando sale quello del freno, così una leva appare più alta e sottile man mano che si allontana e più bassa e spessa man mano che si avvicina, con l’asta che scorre avanti e indietro lungo la sua guida. Nessuna delle due leve si sposta attraverso il disegno.

Un pedale si tiene premuto, come quello vero. Premilo e non succede niente: il valore resta esattamente dov’era, finché continui a tenerlo. Fai scorrere il puntatore verso l’alto mentre lo tieni e il pedale scende di più; fallo scorrere di nuovo in basso e si rilascia. Uno scorrimento su tutta l’area di un pedale copre tutto il suo intervallo, dalla posizione di riposo fino in fondo, così premi con la delicatezza o con la forza che vuoi.

Lascialo andare e ciò che quel pedale preme torna da solo a riposo — un passo ogni decimo di secondo, finché non è di nuovo a zero, come la molla sotto un pedale vero lo solleva quando togli il piede. Ritorno dei pedali nel menu delle impostazioni dice quanto è grande quel passo, per entrambi i pedali e in qualunque modo vengano letti; impostalo a zero e ciò che era premuto resta dove l’hai lasciato. Premendo di nuovo riprendi il pedale nel punto in cui è arrivato mentre tornava. L’intero gesto — premere, scorrere e tornare a riposo — è un unico passo di annullamento. Un pedale la cui riga indica un termine calcolato dal modello non si può muovere, e lo segnala con il cursore usato dalle maniglie bloccate; uno la cui riga contiene un semplice numero muove invece quel numero, così puoi provare l’oggetto prima di collegarlo a qualcosa.

L’occhio all’inizio di ogni riga mostra sull’oggetto stesso cosa contiene quel pedale: termine = valore, sopra il pedale che lo preme e nel colore della sua riga, scritto come ogni altra etichetta di un termine sulla lavagna. Spegnili e il disegno non porta nessun numero.

Barra degli strumenti

Schermata: barra degli strumenti di un componente
MenuContiene
Nome e coloriIl nome dell’oggetto e tutti i colori con cui il componente disegna
Come viene letto Solo nei componenti che leggono una direzione: se va letta come angolo o come orientamento. Il tasto mostra la scelta attiva
Come viene mostrato Solo nei componenti che si possono disegnare in più modi: per l’orologio, la scelta tra quadrante e lettura digitale. Il tasto mostra la scelta attiva
VariabiliGli ingressi del componente collegati al modello
Impostazioni Opzioni di visualizzazione, scala e interazione

Colori

Un componente disegna con la tavolozza standard di Modellus — colori, spessori delle linee e dimensioni del testo vengono dai design token condivisi, così i componenti sembrano nati sulla lavagna. Puoi comunque cambiare ogni singolo colore nel menu Nome e colori.

Chiedere un oggetto all’assistente

L’assistente di Modellus costruisce i componenti con gli stessi blocchi costitutivi. Può usare solo blocchi approvati, deve collegare i valori a variabili che esistono nel tuo modello e non può inserire un oggetto che non supera la validazione: tutto ciò che produce si comporta come un oggetto che hai messo tu e resta completamente modificabile.

Costruire un oggetto tutto tuo

Un oggetto non è codice di disegno: è un unico documento JSON che indica dei blocchi approvati, e lo stesso documento è ciò che l’editor include, ciò che il Catalogo pubblica e ciò che l’assistente inventa. Tutto quello che c’è in questa pagina si può costruire così.