home | area personale         schemi | tutorial | robotica | pic micro | recensioni         forum | chat irc         faq | contatti         store | Ordina PCB
username
password
cerca
 
FIDOCAD, FIDOCADJ E GRIX.IT tipo: livello:
Introduzione a FidoCad, FidoCadJ e la loro integrazione con il forum di Grix.it
 
 



FidoCad, FidoCadJ e Grix.it

 

Da qualche tempo, i partecipanti assidui di Grix.it si saranno accorti che nel forum c'è la possibilità di introdurre dei disegni e soprattutto degli schemi elettrici con un sistema abbastanza particolare: il formato FidoCad/FidoCadJ. Questo metodo è stato utilizzato anche al di fuori di Grix.it (in particolare su ElectroYou.it[1]) e l'esperienza ha mostrato che si tratta di un mezzo molto comodo in diverse situazioni, a volte inaspettate. In questa pagina si mette conto di parlare un po' di FidoCad, di FidoCadJ, di chiarire qualche termine e di invogliare gli utenti a provare questi programmi e servirsene qui su Grix.it. Non voglio però fare un tutorial sull'uso di essi perché ce ne sono già diversi; più sotto ne suggerirò qualcuno per chi ne avesse bisogno, subito dopo un breve excursus sulla storia dello sviluppo di FidoCad e FidoCadJ. In seguito, mostrerò invece con un certo dettaglio come inserire un disegno FidoCad/FidoCadJ nel forum di Grix.it e terminerò dicendo due parole sugli importantissimi contributi che anche voi potete dare allo sviluppo di FidoCadJ.

La nascita di FidoCad


L'idea di FidoCad nasce ai tempi della rete FIDONET, nei primi anni 90, nell'area ELETTRONICA.ITA. Bisogna innanzitutto chiarire che allora gli utenti si connettevano al servizio tramite delle BBS (spesso semi-amatoriali) con modem di velocità molto modesta. 14,4 kbps era già di tutto rispetto e per trasferire 1 MiB ci volevano, beh, più di dieci minuti!

Naturalmente, discutendo a proposito di un circuito, si sentiva presto la necessità di ricorrere allo schema elettrico e ciò poneva dei problemi perché era difficile scambiarsi immagini. Una possibilità è sempre stata quella di ricorrere a schemi fatti in caratteri ASCII, che però hanno pesanti limiti e non sono facilissimi da disegnare e correggere. La figura 1 mostra un esempio molto semplice che riprenderò in seguito.

 

 

|  VCC --------o---------------o-------------    |
|              |               |                 |
|              +               C  L1             |
|         R1  | |              C        C2       |
|             | |              |     ||          |
|              +               o-----||------O   |
|       C1     |               |     ||          |
|         ||   |             |/                  |
|     O---||---o-------------|    Q1             |
|         ||   |             |>                  |
|              |               |                 |
|              +               |                 |
|             | |              |                 |
|         R2  | |              |                 |
|              +               |                 |
|              |               |                 |
|  GND --------o---------------o------------     |

 

 Fig.1: Un semplice schema in formato ASCII

L'esperienza degli schemi ASCII ha però dato una lezione importante: si tratta di un formato compatto, accessibile e modificabile da praticamente qualsiasi macchina capace di mostrare del testo (lo schema della figura 1 è leggibile facilmente anche con un vecchio Commodore 128). Quanti hanno tentato inutilmente di recuperare dopo 15 anni un vecchio progetto fatto con un oscuro programma DOS che utilizza un formato proprietario? L'elettronica avanza a passi da gigante, certo, ma un amplificatore invertente fatto attorno ad un TL082 oggi non funziona peggio di quanto non facesse nel 1995 e non è di certo meno utile di allora.

E, dopotutto, gli schemi ASCII sono ancora leggibili oggi e lo saranno probabilmente anche fra 40 anni!

Tutto questo per dire che gli utenti di ELETTRONICA.ITA si sono trovati nella necessità di sostituire lo scomodo formato ASCII con qualcosa di nuovo, ma che ne conservasse le caratteristiche di compattezza ed accessibilità. Per questa ragione, Lorenzo Lutti ha definito il formato FidoCad su un'idea di Giulio Bottini. Questo formato ha avuto un successo notevole anche sui gruppi di discussione Usenet ed i forum WWW che sono venuti dopo la vecchia rete FIDONET. Il programma FidoCAD per Windows scritto da Lorenzo Lutti[2], e da lui mantenuto fino al 2001, è stato apprezzato fra gli appassionati di elettronica e non solo, anche perché era un programma di disegno vettoriale semplice e versatile. Lorenzo Lutti ha scelto di mettere a disposizione gratuitamente il programma ed i suoi sorgenti a chiunque visiti il suo sito:

http://www.enetsystems.com/~lorenzo/fidocad.asp

 La migliore definizione di cosa sia FidoCad ce la dà Lorenzo Lutti proprio nelle sue pagine:

FidoCAD è uno standard aperto e portabile per il disegno di schemi di qualsiasi tipo. La sua peculiarità principale è quella di utilizzare il formato testo per il salvataggio dei documenti, ideale quindi per l'integrazione dei messaggi di posta elettronica (e-mail, Fidonet, Usenet...) con disegni, schemi, ecc...

Insisto anch'io sulle parole aperto e portabile. In seguito cercherò di rendere più esplicito il significato di questi due concetti chiave. 

Per riassumere con sola una frase, il programma FidoCAD per Windows scritto da Lorenzo Lutti è agile, comodo e molto immediato da utilizzare e permette di rappresentare in maniera compatta schemi elettrici e disegni generici.

 L'entrata in scena di FidoCadJ

FidoCadJ nasce su mia iniziativa fra il 2007 e l'inizio del 2008, in seguito alla necessità di utilizzare il formato FidoCad anche al di fuori di Windows ed in particolare su MacOSX. Non volendomi legare ad un sistema operativo in particolare, Java si è presentato come una soluzione allettante, permettendo di creare programmi completamente multipiattaforma senza moltiplicare lo sforzo di sviluppo. Devo dire che fino ad adesso, il linguaggio ha mantenuto abbastanza bene le sue promesse. La figura 2 mostra l'aspetto di FidoCadJ su Microsoft Windows, messo a fianco dell'ormai classico FidoCAD per Windows.

FidoCad e FidoCadJ funzionanti fianco a fianco su Microsoft Windows

Fig. 2: FidoCAD per Windows e FidoCadJ funzionanti fianco a fianco sullo stesso disegno.

 In realtà, il formato FidoCad non era stato descritto in maniera dettagliata, quindi la prima cosa che ho fatto è stata di creare un lettore capace di mostrare i disegni codificati in questa maniera. L'utilizzare Java mi ha permesso di far girare il lettore in una pagina web in un'applet che ho chiamato FidoReadJ all'inizio del 2007 e che ho annunciato il 1 aprile di quell'anno[3]. Quest'applet è ancora disponibile e liberamente utilizzabile oggi:

http://davbucci.chez-alice.fr/index.php?argument=elettronica/fidoreadj/fidoreadj.inc

Il sistema era abbastanza comodo e molti utenti del newsgroup it.hobby.elettronica mi hanno fornito molti consigli e mi hanno segnalato i problemi mano a mano che apparivano. Il formato FidoCad è abbastanza semplice da interpretare, ma non è stato facilissimo capire la sintassi dei vari comandi non potendo usare il programma originale per fare delle prove. Ad ogni modo, dopo qualche tempo mi sono trovato ad avere una descrizione abbastanza completa dei comandi ed ho cominciato a lavorare su un editor fra la fine del 2007 e l'inizio del 2008. Il primo annuncio pubblico del programma è stato fatto il 2 luglio 2008 sul gruppo it.hobby.elettronica ed ha raccolto un certo interesse. 

Allo stato attuale delle cose, FidoCadJ si presenta come uno strumento capace di affiancarsi utilmente a FidoCAD per Windows. La figura 3 mostra come appare FidoCadJ se fatto girare su un sistema operativo MacOSX 10.4.11 Tiger. Questa volta, ho scelto di rappresentare lo stesso schema che prima nella figura 1 avevamo visto in ASCII. Come si è visto nella figura 2, su altri sistemi operativi, l'aspetto è abbastanza simile, anche se seguirà linee guida leggermente diverse.

Semplice schema elettrico disegnato in FidoCadJ

Fig. 3: un semplice schema elettrico disegnato con FidoCadJ (MacOSX 10.4.11 Tiger)

Prima parlavo del fatto che il formato FidoCad è aperto e portabile. Merita dire due parole a proposito di questi due concetti:

 Un formato aperto è utilizzabile senza restrizioni, ma che soprattutto è ben documentato. L'ho quindi descritto abbastanza in dettaglio nel manuale di riferimento di FidoCadJ:

 http://sourceforge.net/projects/fidocadj/files/fidocadj_manual_it.pdf/download

  Un formato portabile è facilmente fruibile su ogni piattaforma e configurazione. FidoCadJ è scritto in Java, linguaggio compatibile con un insieme impressionante di archietture e sistemi operativi diversi e, dopotutto, per Windows c'è sempre il classico FidoCAD che funziona benissimo.

 FidoCadJ è compatibile al 100% con il FidoCAD per Windows di Lorenzo Lutti, ma da un po' di tempo implementa alcune estensioni al formato originale. Questo non perché voglia a tutti costi allontanarmi dal programma originale (che come abbiamo già detto non è più sviluppato attivamente dal 2001), ma perché negli anni sono sorte diverse proposte interessanti che meritavano di essere ascoltate: l'utilizzo delle linee tratteggiate, una maggiore flessibilità dei layer e la possibilità di associare delle etichette e del testo agli elementi mostrati a schermo. Ci sono inoltre alcune differenze, per esempio non esiste più la modalità "PCB" e la scelta delle dimensioni viene fatta solo al momento della stampa. Personalmente, utilizzo molto FidoCadJ per produrre schemi elettrici di qualità tipografica da integrare in LaTeX e quindi un'esportazione è proposta attraverso il pacchetto PGF/TikZ.

Qualcuno inoltre potrebbe essere un po' disorientato dalla scelta delle scorciatoie da tastiera leggermente diverse rispetto a FidoCAD per Windows e dal fatto che attualmente è un po' più difficile creare nuove librerie utilizzando solo FidoCadJ. 

Come imparare ad usare FidoCad per Windows e FidoCadJ

In rete si trovano diversi tutorial dedicati a questi due programmi. Qui su Grix.it, Giuseppem ha scritto una guida simpatica all'uso di FidoCAD per Windows a cui rimando chi fosse completamente a digiuno del programma:

http://www.grix.it/viewer.php?page=4140

Un'altra guida che merita una lettura è quella scritta da Terribilywrong:

http://www.grix.it/viewer.php?page=4436

Nonché la presentazione del programma da parte di Hwhisperer:

http://www.grix.it/viewer.php?page=2500

Sempre rimanendo fra le pagine disponibili qui su Grix.it, la semplicità del formato ha fatto nascere alcune routine da parte di appassionati utilizzatori. Qui per esempio, sempre Hwhisperer descrive una sua utility (per Windows) che permette di modificare in un sol colpo tutte le piste o tutte le piazzole presenti in un dato layer:

http://www.grix.it/viewer.php?page=2906

Dallo stesso autore, abbiamo anche un'utility capace di estrarre una mappa di foratura per una CNC:

http://www.grix.it/viewer.php?page=2648 

Venendo adesso a FidoCadJ, l'ispirazione è stata FidoCAD per Windows e quindi l'utilizzo è abbastanza simile. Ci sono meno tutorial disponibili in giro, perché si tratta di un progetto in giro da molto meno tempo. Ad ogni modo, il posto da cui partire è senza dubbio il manuale del programma, che contiene un tutorial dedicato agli schemi elettrici ed un'altro dedicato ai circuiti stampati:

 http://sourceforge.net/projects/fidocadj/files/fidocadj_manual_it.pdf/download 

Potrebbero risultare utili anche i video che ho preparato e messo a disposizione su Youtube, in cui ho cercato di illustrare come effettuare alcune operazioni di base (negli ultimi due mi sono attrezzato un po' meglio con l'audio):









 

Vorrei terminare sottolineando che FidoCad e FidoCadJ NON vogliono conquistare il mondo, né sostituirsi ai sistemi di CAD professionali. Si tratta di programmi molto agili e più adatti a quelle situazioni (hobbystiche o professionali) in cui la rapidità d'uso è più importante della completezza delle funzionalità offerte. Se volete realizzare un calcolatore quantistico, beh... ci sono strumenti più adatti!

L'utilizzo del formato FidoCad/FidoCadJ nel forum di Grix.it

In seguito al successo che ha avuto l'iniziativa di integrare FidoCadJ con il forum di ElectroYou, diversi partecipanti del forum di Grix.it hanno manifestato l'interesse di fare qualcosa di simile anche qui:

http://www.grix.it/forum/forum_thread.php?id_forum=5&id_thread=223336&id_mess=225182&tbackto=/forum/forum_discussioni.php?id_forum=5

 Da un punto di vista tecnico, la cosa si è concretizzata grazie agli sforzi di Sstrix ed al progetto FidoReadPHP, volto alla realizzazione di una classe PHP capace di interpretare il formato FidoCad/FidoCadJ su un server PHP e restituire un'immagine che poi può essere mostrata in una pagina web.

Molti si chiederanno perché è vantaggioso utilizzare il formato FidoCad all'interno delle discussioni del forum. Probabilmente, la ragione principale è la flessibilità. Un semplice copia/incolla è più facile da usare che non il dover far ricorso a servizi di hosting esterni. Inoltre, avendo a disposizione il codice è semplice ed immediato apportare correzioni e modifiche agli schemi ed ai disegni, che rimangono sempre memorizzati in formato vettoriale. Inoltre, il formato FidoCad/FidoCadJ è sufficientemente versatile per essere utilizzato anche per semplici disegni tecnici o meccanici, una situazione tipica in cui FidoCad/FidoCadJ si mostrano davvero molto utili.

Per introdurre quindi un disegno all'interno di un messaggio del forum, basterà quindi fare copia/incolla del codice, facendo precedere e seguire i tag [fido] e [/fido]. Per ottenere il codice è molto semplice: basta selezionare gli elementi da copiare in FidoCadJ e selezionare "Copia" dal menu "Composizione", oppure semplicemente utilizzare Control+C (oppure Command+C per chi lavora su Macintosh). Incollando all'interno di un messaggio del forum verrà mostrato il codice che rappresenta il  disegno. Le figure 4 e 5 dovrebbero mostrare meglio cosa intendo.

 

Il codice FidoCadJ inserito all'interno di un messaggio del forum di Grix.it

Fig. 4: la prima fase di introduzione del codice FidoCadJ in un messaggio del forum. Si noti il tag [fido] prima del codice, che inizia con il tag [FIDOCAD].

 

La fine del codice FidoCadJ all'interno di un messaggio del forum di Grix.it

Fig. 5: la fine del codice FidoCadJ con il tag [/fido] che lo delimita.

 Quando il messaggio viene inviato, il motore del forum riconoscerà la presenza dei due tag che delimitano il codice da trattare, estrarrà il codice FidoCad/FidoCadJ e lo darà in pasto a FidoReadPHP che a sua volta produrrà un'immagine. In questo modo, il risultato è visibile direttamente all'interno del messaggio e gli utenti non saranno obbligati ad utilizzare FidoCAD per Windows o FidoCadJ per vedere di cosa si tratta. La figura 6 mostra il risultato delle operazioni descritte precedentemente.

 
Il risultato di un messaggio contenente codice FidoCadJ interpretato da FidoReadPHP.

Fig. 6: il risultato ottenuto: un messaggio contenente codice FidoCadJ interpretato da Grix.it grazie a FidoReadPHP.

 

Sotto l'immagine, si nota l'iconetta del programma (ridotta) e la scritta vedi sorgente fidocad. Cliccando con il mouse lì sopra, si otterrà di nuovo il codice che rappresenta il disegno. Chiunque potrà quindi fare copia/incolla all'interno del programma per apportare modifiche o personalizzazioni.

Lo sviluppo di FidoReadPHP non è probabilmente ancora del tutto completo. Alcune funzionalità non sono ancora implementate al momento in cui scrivo (le personalizzazioni dei layer permesse da FidoCadJ, alcuni attributi del testo e cose di questo genere sono ignorate). Se apparissero invece veri e propri bug qui su Grix.it, la discussione in cui sarebbe opportuno segnalare il problema è questa:

http://www.grix.it/forum/forum_thread.php?ftpage=1&id_forum=7&id_thread=247104&tbackto=

 Se si tratta di un problema legato a Grix.it, Sstrix potrà intervenire, mentre se si tratta di qualcosa di legato a FidoReadPHP, quando avrete descritto il problema, vi chiederò di compilare un bug report su GitHub.  

Come potete contribuire allo sviluppo di FidoCadJ

Per terminare, ricordo che nello spirito dei programmi open source (FidoCadJ è distribuito con licenza GPL v. 3), la comunità di utenti e di sviluppatori sono coincidenti. Questo vuol dire che voi potete partecipare al miglioramento di questi strumenti utilizzandoli, segnalando bug, suggerendo nuove funzionalità o semplicemente dicendo la vostra. 

Questa è la pagina su GitHub dedicata a FidoCadJ: 

https://github.com/DarwinNE/FidoCadJ

Questa è invece la home page del progetto, con tutti i link per scaricare gratuitamente il programma:

http://darwinne.github.io/FidoCadJ/

 

 

OpenHub è una sorta di social network dedicato all'open source. FidoCadJ è presente, se vi va, potete aggiungerlo ai vostri programmi preferiti ed inviare una recensione anche lì. Una cosa molto interessante sono le statistiche aggiornate sul numero di linee di codice, sugli sviluppatori, eccetera:

https://www.ohloh.net/p/fidocadj

Se vi interessa lo sviluppo del programma, un posto da tenere d'occhio è il canale Twitter in cui descrivo le novità sul codice, via via che vengono implementate (in inglese):

https://twitter.com/#!/davbucci

Il posto dove segnalare bug su GitHub, tramite le Issue, utilizzando l'etichetta "Bug":

https://github.com/DarwinNE/FidoCadJ/issues

Mentre se avete voglia di discutere di qualcosa legato esclusivamente a FidoCadJ e non a Grix.it, il posto dove andare è sempre le "Issues" su GitHub, scrivendo in inglese ed utilizzando le etichette appropriate.

 

Molti di solito sono un po' spaventati all'idea di contribuire ad un progetto open source perché quando uno pensa al lavoro che c'è dietro ad un  programma pensa quasi sempre solo al codice. In realtà, si può dare un reale contributo allo sviluppo di FidoCadJ anche senza scrivere una sola linea di codice Java. Si può per esempio controllare che la documentazione sia completa ed efficace, mettere a punto tutorial e segnalare i problemi che si riscontrano. Chi conoscesse un po' le lingue può pensare a tradurre il programma o il  manuale[4]...
Non vorrei con questo allontanare coloro interessati a lavorare sul codice sorgente. Una cosa che interesserebbe molte persone per esempio sarebbe l'aggiungere nuovi formati vettoriali per esportazione[5]. Naturalmente, per coordinare un po' gli sforzi, discutiamone sul forum di FidoCadJ!

Conclusione

In quest'articolo, ho presentato brevemente la storia dello sviluppo di FidoCAD per Windows e di FidoCadJ e mi sono soffermato sull'interesse di utilizzare il formato comune a questi due programmi per scambiarsi disegni e schemi elettrici sul forum di Grix.it. Dopo di questo, ho preso brevemente in rassegna alcuni dei numerosi tutorial utili per imparare a servirsi di essi e sono passato a descrivere con maggiore dettaglio come fare per inviare dei messaggi sul forum di Grix.it, contenenti dei disegni rappresentati in questo formato. Ho terminato il discorso facendo qualche considerazione su come è possibile partecipare allo sviluppo di FidoCad e FidoCadJ, sperando di non avervi annoiato troppo :-)

  

Bibliografia e note

[1] - D. Bucci "Disegnare circuiti con FidoCad e FidoCadJ", http://www.electroyou.it/darwinne/wiki/fidocadj

[2] - Ecco l'annuncio di FidoCAD per Windows, fatto da Lorenzo Lutti il 28 novembre 1998 nel newsgroup it.hobby.elettronica:  http://groups.google.com/group/it.hobby.elettronica/browse_thread/thread/5bc2ef5a4e32e7b3/db4f1d8997fd6400?hl=it&lnk=gst
è molto interessante notare che Lorenzo Lutti già allora cercava aiuto per rendere il formato FidoCad realmente multipiattaforma.

[3] - Ecco qui, sempre grazie a Google gruppi: 
http://groups.google.com/group/it.hobby.elettronica/browse_thread/thread/b6d62445eb08d191/ea5c0be49c4580d9?hl=it&lnk=gst
L'indirizzo che è riportato nel post però non funziona più. All'epoca, il mio sito era ospitato su un server casalingo a cui si accedeva con l'indirizzo IP.

[4] - FidoCadJ è stato già tradotto in diverse lingue, se volete vedere come si fa, partecipate a questa discussione: 
https://sourceforge.net/projects/fidocadj/forums/forum/997486/topic/3798332

[5] - Anche questo è stato descritto in una discussione (in italiano, questa volta): https://sourceforge.net/projects/fidocadj/forums/forum/997486/topic/3581648





  il parere della community
esprimi il tuo voto approvi questa pagina? promo


  non sei autenticato, per questo non puoi visualizzare i commenti sulla pagina. Se sei registrato accedi oppure registrati.


difficoltà
costo
informazioni
Questa pagina è stata creata da Darwin
il 19/02/2011 ore 02:50
ultima modifica del 23/08/2015 ore 19:03
la pagina è stata visitata 13486 volte




Lo staff di www.grix.it non si assume responsabilità sul contenuto di questa pagina.
Se tu sei l'autore originale degli schemi o progetti proposti in questo articolo, e ritieni che siano stati violati i tuoi diritti, contatta lo staff di www.grix.it per segnalarlo.

   
 

 
 
indietro | homepage | torna su copyright © 2004/2022 GRIX.IT - La community dell'elettronica Amatoriale