Vediamo qui alcune domande che vengono poste molto spesso a riguardo di FidoCadJ. Prima di fare una domanda su questo programma, è probabilmente una buona idea dare un'occhiata qui per vedere se la questione è già stata trattata. Ho cercato di dare delle risposte sintetiche, anche se qualche domanda meriterebbe delle discussioni più approfondite. Per maggiori informazioni, consiglio comunque di leggere il manuale in italiano di FidoCadJ.
Che cos'è FidoCadJ?
FidoCadJ è un programma di disegno vettoriale semplice ed immediato da utilizzare. FidoCadJ è dotato di una biblioteca di simboli elettronici abbastanza vasta, ma può essere usato anche per semplici disegni meccanici o di altro genere. FidoCadJ si ispira ed è compatibile con FidoCad per Windows, il software scritto da Lorenzo Lutti alla fine degli anni 90.
Per cosa è utile FidoCadJ?
FidoCadJ serve per disegnare rapidamente e con precisione uno schema elettrico, oppure un semplice disegno tecnico. I disegni sono memorizzati in un formato testuale piuttosto compatto, che ben si presta ad un copia/incolla in un messaggio di posta elettronica, in un forum o un messaggio usenet. Così come accade con FidoCad, qualcuno trova comodo usare FidoCadJ anche per disegnare semplici circuiti stampati, un po' come si faceva con i trasferibili tanti anni fa.
Quando e perché è nato FidoCadJ?
FidoCadJ è nato dall'esigenza di leggere e scrivere su qualunque sistema operativo file compatibili con FidoCad per Windows. Nel 2007, è nata l'applet FidoReadJ che permetteva di riprodurre gli schemi direttamente in una pagina web:
Il progetto si è poi evoluto in un editor completo. La prima versione pubblica di FidoCadJ, la 0.20 (la numerazione è iniziata con FidoReadJ) è stata rilasciata il 2 luglio 2008.
Dove posso scaricare FidoCadJ?
FidoCadJ può essere scaricato da questa pagina, su cui sono disponibili anche molte altre risorse:
http://darwinne.github.io/FidoCadJ/
oppure direttamente sulla pagina GitHub dedicata al progetto:
https://github.com/DarwinNE/FidoCadJ
Non ho ben capito come funzionano gli schemi FidoCadJ qui su ElectroYou
ElectroYou fa girare sul server FidoCadJ in maniera silenziosa per permettere agli utenti di mostrare dei disegni all'interno ddei propri interventi con uno sforzo poco superiore ad un copia/incolla. Basta disegnare il circuito o lo schema desiderato con FidoCadJ, selezionarlo tutto, copiare ed incollare all'interno del messaggio. Compariranno delle linee simili a queste:
[FIDOCAD] FJC C 1.5 FJC B 0.5 LI 15 20 45 5 0 TY 26 17 4 3 0 0 0 * Questo e` un disegno FidoCadJ LI 45 5 120 5 0 LI 120 5 120 35 0 LI 120 35 45 35 0 LI 45 35 15 20 0
Perché il sistema di gestione di ElectroYou le riconosca come codice FidoCadJ e mostri l'immagine, bisognerà racchiudere il codice all'interno dei tag [fcd] e [/fcd] in un messaggio del forum, mentre nel blog bisogna usare <fidocad> e </fidocad>. Conviene dare una lettura a questi articoli per approfondire l'uso di FidoCadJ in ElectroYou:
http://www.electroportal.net/darwinne/wiki/fidocadj
http://www.electroportal.net/admin/wiki/fidocadj-ora-anche-nel-vostro-blog
Il risultato è il seguente:
Facendo click sulla scritta "Sorgente FidoCadJ", appariranno di nuovo le linee di codice che rappresentano il circuito e potranno essere riprodotte e modificate in FidoCadJ con un semplice copia/incolla all'interno di questo programma.
Si può utilizzare FidoCadJ per creare schemi elettrici per uso esterno al forum?
Naturalmente sì, il programma è rilasciato con licenza GPL v. 3, il che vuole dire che è completamente gratuito ed i sorgenti possono essere scaricati liberamente. Il programma stesso può essere usato senza nessuna restrizione.
Non ci capisco niente: dov'è una gomma come in Paint?
FidoCadJ è un programma di disegno vettoriale. I disegni non sono memorizzati pixel per pixel come in Paint, ma attraverso le operazioni che servono per tracciarli: vengono memorizzate le posizioni dei segmenti, rettangoli, ovali, eccetera. Non si può quindi cancellare un "mezzo elemento" con una gomma come in un programma di disegno basato sulla manipolazione del pixel. D'altro canto, un disegno vettoriale è scalabile a qualunque risoluzione, è molto flessibile ed è compatto. Ciò è quanto si richiede ad un disegno tecnico. Potete leggere questa descrizione su Wikipedia:
http://it.wikipedia.org/wiki/Grafica_vettoriale
Non riesco a fare dei disegni abbastanza precisi. Come mai?
Provato a disattivare l'allineamento sulla griglia? In FidoCadJ c'è un bottone sulla barra dei comandi (blocca su griglia), per attivare e disattivare molto rapidamente questa funzionalità.
Come ruotare i simboli con FidoCadJ?
I simboli nelle librerie caricate possono essere ruotati e specchiati premendo R oppure S durante l'inserimento. Gli stessi tasti ruotano e specchiano una porzione selezionata del disegno e queste operazioni sono accessibili anche da menu:
Dove trovo qualche esempio?
FidoCadJ è abbastanza simile a FidoCad per Windows, quindi se avete già utilizzato questo programma, è possibile che vi abituiate abbastanza in fretta a FidoCadJ. Ci sono dei tutorial dedicati a FidoCad che possono esservi utili e non dimenticate il manuale in italiano di FidoCadJ:
https://sourceforge.net/projects/fidocadj/files/fidocadj_manual_it.pdf/download
Elettrodomus ha scritto un bellissimo tutorial su come usare FidoCadJ e come includere i disegni qui su ElectroYou: http://www.electroyou.it/elettrodomus/wiki/fidocadj-per-tonni
Ci sono anche alcuni video tutorial che possono esservi utili:
Come faccio ad aggiungere dei simboli?
Se mi è concesso citarmi, nel manuale del programma, a pagina 24 c'è scritto:
- Il programma permette di specificare una directory all’interno della quale sono caricati tutti i file di libreria (estensione .fcl). Per farlo, basta andare nel menu “Vista/Opzioni” e specificarla nella riga apposita. [...] Altri file con estensione .fcl sono considerati alla stregua di librerie aggiuntive e caricati in memoria oltre alla libreria standard. Tutto questo è fatto all’avvio o quando l’utente configura FidoCadJ per leggere le librerie aggiuntive in un’altra directory. Si può forzare il programma a rileggere le librerie attraverso l’opzione “Aggiorna librerie” del menu “Circuito”.
Qui c'è una collezione di librerie pubblicate con il permesso degli autori: http://darwinne.github.io/FidoCadJ/libs.html
Se invece si desidera creare dei nuovi simboli ed inserirli in una libreria, il discorso è un po' più lungo, ma non per forza molto più complicato. Rimando a questo bell'articolo di Mir qui su ElectroYou: http://www.electroyou.it/mir/wiki/generare-una-nuova-libreria-di-simboli-con-fidocadj
Ho un'idea straordinaria: perché non fare in modo che i circuiti siano simulabili e ci sia un'assistenza allo sbroglio dei PCB magari con autorouting?
Questa è la richiesta che ricevo più spesso, per posta elettronica, su forum (mi è capitato anche su SourceForge, dove FidoCadJ è stato ospitato nei primi anni dello sviluppo). FidoCadJ è un editor grafico e basta: tratta solo elementi grafici e non memorizza le connessioni. Se c'è realmente bisogno di lavorare su una netlist (ovvero con un sistema che sappia come sono collegati i componenti), allora è meglio andare su prodotti come Eagle, Kicad, Altium Designer, gEDA, DesignSpark PCB, Proteus, e molti altri (gratuiti ed a pagamento, open source e non). Tutti questi programmi sono generalmente considerati più difficili da usare rispetto a FidoCadJ, ma l'obiettivo che si propongono è molto diverso. Solo il lavoro da fare sulla biblioteca dei componenti per tenerla aggiornata con le mode del momento e quanto proposto dai fabbricanti di dispositivi, magari corredando i componenti di modelli SPICE per la simulazione è semplicemente pazzesco.
Invece per quello che si propone di fare FidoCadJ, non ci sono quasi alternative. C'è realmente bisogno di lavorare un sacco solo per aggiungere un altro programma alla lista di cui sopra? Meglio fare poche cose, ma farle bene. Poi i sorgenti di FidoCadJ sono a disposizione, quindi se non siete d'accordo con me, fate pure un fork e lavorateci voi sopra. Sinceramente, sarei quanto mai felice di sapere che mi sto sbagliando, ma starà a qualcun altro dimostrarlo.
Quali sono le differenze fra FidoCAD e FidoCadJ
Questo è un argomento trattato in dettaglio sul manuale di FidoCadJ. Ad ogni modo, per riassumere molto brevemente FidoCadJ ha introdotto alcune primitive di disegno estese (linee tratteggiate e frecce alle estremità di segmenti e curve di Bézier, curve spline) e la possibilità di associare un valore ed un nome ad ogni elemento. FidoCadJ permette inoltre di esportare in diversi formati vettoriali che FidoCAD non contempla. Tuttavia, allo stato attuale delle cose, FidoCad è ancora un po' più comodo di FidoCadJ per disegnare nuovi componenti e nuove librerie. Le estensioni di FidoCadJ non presenti in FidoCad possono provocare alcune incompatibilità all'indietro fra FidoCadJ e FidoCad per Windows, quindi fate un minimo di attenzione se avete a che fare con persone che utilizzano ancora FidoCAD per Windows.
Quanto costa FidoCadJ?
Nulla. Niente. Zero. E' gratis. Anzi, è molto di più: è un software libero ed open source di cui sono distribuiti anche i sorgenti. La licenza con cui viene distribuito è la General Public License v. 3. Ecco una descrizione informale:
http://it.wikipedia.org/wiki/GNU_General_Public_License
Ed eccone una più formale:
http://www.gnu.org/licenses/gpl.html
Ho scaricato il file fidocadj.jar, ma non so come farlo funzionare
Si tratta di un archivio Java. Perché possa funzionare, Java dev'essere installato sul vostro calcolatore. In caso affermativo, molti sistemi operativi moderni permettono di lanciare il programma con un semplice doppio click sul file jar. In caso contrario, bisogna scaricare ed installare Java, gratuitamente, dalla pagina:
http://www.java.com/it/download/index.jsp
FidoCadJ può essere lanciato anche da linea di comando, una volta spostatisi nella directory che contiene il file fidocadj.jar:
java -jar fidocadj.jar
FidoCadJ come modifica il registro di Windows? Come lo disinstallo?
Non lo fa; non modifica assolutamente niente. Per disinstallare FidoCadJ, basta prendere il file fidocadj.jar e trascinarlo nel cestino.
FidoCadJ su MacOSX è orrendo a vedersi. C'è qualcosa di meglio?
Provato a scaricare l'applicazione FidoCadJ.app? No? Allora è normale che sia una schifezza. Ecco un link alla pagina che permette di scegliere che versione scaricare: http://darwinne.github.io/FidoCadJ/download.html
Bisogna scegliere quella in "dmg", ovvero un'immagine disco adatta a MacOSX.
FidoCadJ è molto lento su Linux. Si può risolvere?
In alcuni casi un po' particolari, mi sono stati segnalati alcuni comportamenti anomali di FidoCadJ con OpenJDK. Se ci sono rallentamenti anormali, provate ad utilizzare una macchina virtuale Sun/Oracle per vedere se la situazione migliora.
FidoCadJ è in Java. E' più lento di FidoCad per Windows a causa di questo?
Su Java circolano tante (troppe) leggende legate più che altro ai comportamenti delle primissime versioni di questo linguaggio. FidoCadJ dovrebbe metterci un po' di più a partire, a causa della necessità di caricare la macchina virtuale, ma per il resto non dovrebbe dare problemi particolari di prestazioni rispetto al FidoCad originale anche nel caso di disegni particolarmente complessi (anzi!). Se ci fossero dei rallentamenti evidenti, sono probabilmente da ricercare in un'installazione non ottimale di Java.
Ma Java è *il male*, perché diavolo non c'è nessuno che riscriva FidoCadJ in C++?
Ognuno è libero di pensare quello che vuole a riguardo degli strumenti informatici che preferisce. Java ha dei vantaggi e degli svantaggi e non sta a me difenderlo per partito preso e neppure mi interessa. Tuttavia, negli anni in cui ho sviluppato e mantenuto FidoCadJ non mi sono pentito neppure una volta delle mie scelte iniziali, nonostante conosca piuttosto bene anche il C ed il C++. Naturalmente, se qualcuno volesse tornare ad occuparsi di FidoCad e magari fare un porting nativo su Linux e su MacOSX è liberissimo di farlo.
Ho un'idea di una nuova funzione magnifica per FidoCadJ. Come posso fare per suggerirla?
La cosa migliore da fare è utilizzare il meccanismo delle Issue, disponibili con GitHub, ed aprirne una descrivendo la propria idea in inglese. Si potrà tenere traccia di quello che succede alla proposta e magari dibattere alcuni punti:https://github.com/DarwinNE/FidoCadJ/issues
Ho trovato un bug fastidioso. Come posso fare perché venga corretto al più presto?
E' molto importante che un bug possa essere riprodotto perché possa venir corretto dall'équipe di sviluppo. Per prima cosa, bisognerà quindi annotarsi per filo e per segno la procedura che ha portato al bug. Se si tratta di qualcosa legato ad un disegno in particolare, il codice del disegno dovrà fare parte del bug report, da compilare su GitHub come una nuova Issue:https://github.com/DarwinNE/FidoCadJ/issues
Vorrei discutere in privato di qualcosa relativo a FidoCadJ
Probabilmente, non è una buona idea. Se si tratta di una domanda specifica, è possibile e che anche altre persone si chiedano o si chiederanno la stessa cosa. Una discussione in inglese tramite le Issue di GitHub permetterà a chiunque di reperire la soluzione semplicemente con una ricerca: https://github.com/DarwinNE/FidoCadJ/issues
Se si tratta di qualcosa legato allo sviluppo, non c'è quasi mai ragione di mantenerlo riservato: la trasparenza è qualcosa di importante in un progetto open source.
Vorrei conoscere in dettaglio il formato utilizzato da FidoCadJ
Questo è documentato con un certo dettaglio nel manuale:
https://sourceforge.net/projects/fidocadj/files/fidocadj_manual_it.pdf/download
Com'è nato FidoCadJ?
La storia è abbastanza lunga ed articolata ed è descritta nel primo capitolo del manuale utente di FidoCadJ. Per riassumere:
- Negli anni novanta dello scorso secolo, i partecipanti di un gruppo di discussione dedicato all'elettronica della rete Fidonet hanno sentito il bisogno di scambiarsi degli schemi che fossero qualcosa di meglio che quello che si può ottenere con la grafica ASCII.
- Lorenzo Lutti ha scritto un programma, FidoCAD per Windows che è stato sviluppato e mantenuto dalla metà degli anni novanta fino al 2001, data in cui Lorenzo ha abbandonato lo sviluppo. FidoCAD ha iniziato a diffondersi nei vari gruppi di discussioni ed in particolare su it.hobby.elettronica.
- Io partecipando ad it.hobby.elettronica ed avendo un parco macchine basato esclusivamente su MacOSX e Linux ho avuto bisogno di leggere e modificare gli schemi proposti dai partecipanti. FidoReadJ nasce nel 2007 e FidoCadJ viene reso pubblico all'inizio dell'estate 2008.
- Nel'aprile 2010, Piercarlo propone di servirsi di FidoCAD o FidoCadJ su ElectroYou. Io mi accorgo della proposta, rispondo ed offro la mia collaborazione.
FidoCadJ mi piace/non mi piace, come posso fare per farlo sapere?
GitHub è il sito che ospita il progetto FidoCadJ e permette di interagire con gli sviluppatori:
https://github.com/DarwinNE/FidoCadJ
Se vi fa piacere e se siete iscritti a OpenHub.net, aggiungete FidoCadJ al vostro stack:
https://www.openhub.net/p/fidocadj
Quante linee di codice compongono FidoCadJ?
Ohloh permette facilmente di calcolarle:
http://www.ohloh.net/p/fidocadj/analyses/latest
Vorrei partecipare allo sviluppo di FidoCadJ
Ottima idea! Non è indispensabile conoscere Java per contribuire efficacemente allo sviluppo del programma. E' chiaro che scrivere il codice è molto importante, ma è altrettanto fondamentale lavorare sulla documentazione, sulle traduzioni e sulla promozione del programma. Se FidoCadJ vi piace, usatelo e già questo è importante. Segnalatemi i problemi o datemi delle idee per migliorarlo, testatelo a fondo e maltrattatelo un po' :-) Per allargare il bacino d'utenza, io non voglio fare spam su mezza Usenet, ma mi baso molto su quello che dicono in giro gli utenti soddisfatti! Cerco aiuto per tradurre l'interfaccia ed i manuali. Attualmente, sono disponibili l'italiano, l'inglese ed il francese. Se qualcuno conoscesse altre lingue e volesse imbarcarsi in una traduzione, tradurre l'interfaccia è abbastanza veloce, mentre il manuale richiede più impegno. Adesso come adesso, cerco aiuto per rivedere le versioni in tedesco ed in spagnolo, ma FidoCadJ inizia ad essere diffuso su scala mondiale, quindi se qualcuno conoscesse l'indonesiano non si tiri indietro :-) Anche il rileggere la documentazione esistente e rilevare errori o punti oscuri è una cosa molto utile! Oppure se qualcuno volesse preparare tutorial, potrebbe essere molto utile ai neofiti.