Ifrit_Prog ha scritto:La parte iniziale sarebbe, ovviamente, quella di 'capire' com'e' strutturato un file fidocadj (di cui non conosco nemmeno l'estensione) e preparare un diagramma UML che descriva i componenti di default che utilizza tale software.
Mi pare una buona idea. Non ho nessuna esperienza con l'UML, vedrò con piacere cosa ne verrà fuori, ma per questo progetto mi pongo come spettatore e beta tester
Ifrit_Prog ha scritto:A conti fatti il progetto non è complicato, anzi se tiriamo le somme dobbiamo implementare solo un convertitore (Text -> Canvas) basandoci su una sintassi gia' ben definita (quella che usa FidocadJ).
La grafia ufficiale è FidoCadJ, avec la "C" maiuscola. Hai ragione, il convertitore è semplice da implementare, in PHP ce la siamo cavata con circa 2000 linee di codice e relativamente poco sforzo di sviluppo (che adesso è fermo, e difatti FidoReadPHP è obsoleto per certi aspetti).
Ifrit_Prog ha scritto:FidocadJS (va bene come nome? xD)
Direi piuttosto FidoReadJS, finché si tratta solo di un lettore. Dopotutto, la prima cosa che è nata in Java era un'applet che si chiamava FidoReadJ
Ifrit_Prog ha scritto:nonostante la documentazione sia, come al solito, penosa,
E' dura scrivere per molti anni documentazione valida praticamente senza feedback da parte degli utenti. Ti consiglierei comunque di entrare in confidenza con FidoCadJ e poi di cercare di capire come funzioni il formato (che è abbastanza semplice). Parte del manuale dovrebbe diventare più chiaro e sono sempre qui a rispondere a tutte le domande.
Quando ho iniziato a lavorarci sopra, nel 2007, non esisteva nessun tipo di documentazione sul formato FidoCAD, quindi ho fatto sostanzialmente reverse engineering su file trovati a destra ed a manca (i ragazzi di it.hobby.elettronica mi hanno aiutato molto).
Nel momento in cui scrivo, la versione più aggiornata del manuale è quella in inglese, che trovi su SF.
Ifrit_Prog ha scritto:Nel frattempo, sarebbe utile se qualcuno posti un po' di disegni in fidocadj, in che possa prenderli come dati di test durante la stesura del plugin javascript.
Qui su EY, ci sono ormai credo migliaia di file (alcuni anche molto complessi) su cui testare a fondo il lettore JS.
Qualche articolo di
admin:
http://www.electroyou.it/admin/wiki/pea ... ro-fj-ey-6http://www.electroyou.it/admin/wiki/bre ... otecnica-3http://www.electroyou.it/admin/wiki/peanuts-ey-4Qualche articolo ed intervento di
PietroBaima:
http://www.electroyou.it/pietrobaima/wiki/n-aviewtopic.php?f=35&t=42771&hilit=fidocadj+birra&start=10#p384105Qui da
Lele_u_biddrazzuhttp://www.electroyou.it/lele_u_biddraz ... rt-parte-1Qui da
elettrodomushttp://www.electroyou.it/elettrodomus/w ... n-fidocadjArticolo mio con schemi elettrici e tratteggi:
http://www.electroyou.it/darwinne/wiki/ ... e-symmetryPiù di recente (da
mir):
http://www.electroyou.it/mir/wiki/5-dis ... -elettricaQuesto (sempre di
PietroBaima) è il limite massimo di complessità che si può ragionevolmente richiedere ad un file FidoCadJ:
viewtopic.php?f=35&t=43040&p=387061&hilit=gattopona#p387061Viene aperto da FidoCadJ in circa 3s sul portatile da cui scrivo (MacBook Pro 2.9 GHz Intel core i7, 8 GiB di RAM) e per il ridisegno ci vogliono circa 800 ms.
Ho altri file cattivelli da proporre quando sarà il momento...
Questo è il disegno standard che uso per testare l'esportazione,
ed è il file da cui iniziare i lavori:
Contiene tutte le primitive grafiche, con qualche raffinatezza (tratteggi, frecce, etc.).
Considererei di prendere in considerazione fin dall'inizio le caratteristiche seguenti:
- Posizione agnostica rispetto al sistema operativo/navigatore in cui il prodotto finale girerà. Per FidoCadJ questo ha voluto dire la scelta di Java e non di Objective C, che l'avrebbe vincolato a MacOSX ed ai capricci di Apple. In JS potrebbe voler dire aderenza stretta agli standard W3C.
- Possibilità di internazionalizzazione prevista fin dall'inizio
- Posizione agnostica rispetto ad un ambiente di sviluppo
- Licenza chiara fin dall'inizio (GPL v. 3 o altro, a scelta degli sviluppatori).
- Discussioni relative allo sviluppo fatte su forum o liste pubbliche.
- Attenzione alla documentazione fin dall'inizio (vedi sopra).
Naturalmente questi ultimi sono solo consigli, il progetto è tuo e fai quello che vuoi, ma queste sono le linee guida che ho cercato di seguire con FidoCadJ e di cui finora non mi sono pentito.
