Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Lettore FidoCadJ in Javascript

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto Utentefairyvilje

2
voti

[1] Lettore FidoCadJ in Javascript

Messaggioda Foto UtenteDarwinNE » 9 lug 2013, 22:47

Ciao a tutti,
facendo alcune prove ed osservando come un bellissimo software come MatJax (suggeritomi da Foto Utentewebmaster) fa il rendering di equazioni LaTeX, mi è venuto da pensare al futuro di FidoCadJ.

Mi chiedevo se a questo punto non fosse utile scrivere un lettore in JavaScript. Esiste già un lettore in PHP (che tra l'altro meriterebbe un aggiornamento), il progetto si chiama FidoReadPHP e funziona a lato server:

https://sourceforge.net/projects/fidoreadphp/

Ora si tratterebbe di fare qualcosa di complementare lato client, permettendo una resa grafica veloce e di alta qualità liberamente scalabile, etc. Ho aperto una nuova discussione a questo proposito sul forum di Sourceforge associato a FidoReadPHP:

https://sourceforge.net/p/fidoreadphp/d ... /adb0a47f/

Sto cercando l'aiuto di esperti in JavaScript. Io non conosco questo linguaggio e non riuscirei a fare tutto da solo (ho già visto una lista di bug da correggere in FidoCadJ che sono lì che mi aspettano).
Dopotutto, FidoReadPHP potrebbe fornire una utile base di partenza per capire come procedere. Sono meno di 2000 linee di codice, quindi il progetto è piccolino piccolino.
Ed anche FidoReadPHP ha bisogno di volontari!
Follow me on Mastodon: @davbucci@mastodon.sdf.org
Avatar utente
Foto UtenteDarwinNE
31,0k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 4420
Iscritto il: 18 apr 2010, 9:32
Località: Grenoble - France

0
voti

[2] Re: Lettore FidoCadJ in Javascript

Messaggioda Foto Utentefairyvilje » 9 lug 2013, 23:19

Non capisco, se fidocadj supporta la generazione di file svg javascript non serve a (poco) nulla :)
O lo scopo è quello di parserizzare il sorgente nativo di fidocad e trasformarlo in segni vettoriali?

PS. Solitamente le librerie grafiche js si basano su questa chiamata Raphael
http://raphaeljs.com/
"640K ought to be enough for anybody" Bill Gates (?) 1981
Qualcosa non ha funzionato...

Lo sapete che l'arroganza in informatica si misura in nanodijkstra? :D
Avatar utente
Foto Utentefairyvilje
15,0k 4 9 12
G.Master EY
G.Master EY
 
Messaggi: 3047
Iscritto il: 24 gen 2012, 19:23

0
voti

[3] Re: Lettore FidoCadJ in Javascript

Messaggioda Foto UtenteDarwinNE » 9 lug 2013, 23:42

Sì e no. Da un certo punto di vista hai ragione (e potrebbe essere un modo per risolvere il problema a breve termine). Da un altro, un'applicazione JS è più eccitante anche per il futuro. Foto Utentewebmaster cosa ne pensa?
Follow me on Mastodon: @davbucci@mastodon.sdf.org
Avatar utente
Foto UtenteDarwinNE
31,0k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 4420
Iscritto il: 18 apr 2010, 9:32
Località: Grenoble - France

0
voti

[4] Re: Lettore FidoCadJ in Javascript

Messaggioda Foto Utentefairyvilje » 9 lug 2013, 23:50

Vuoi "andare contro" il supporto nativo dei browser di una tecnologia presente da anni :D?
Chiaramente io pongo questi dubbi e questi elementi al solo scopo di essere d'aiuto, non cerco in nessun modo di fare "critica distruttiva" :)
"640K ought to be enough for anybody" Bill Gates (?) 1981
Qualcosa non ha funzionato...

Lo sapete che l'arroganza in informatica si misura in nanodijkstra? :D
Avatar utente
Foto Utentefairyvilje
15,0k 4 9 12
G.Master EY
G.Master EY
 
Messaggi: 3047
Iscritto il: 24 gen 2012, 19:23

1
voti

[5] Re: Lettore FidoCadJ in Javascript

Messaggioda Foto UtenteIfrit_Prog » 22 ott 2013, 15:23

Interessante come cosa =)
Mi piacerebbe lavorare a questo progetto, avendo le informazioni necessarie si potrebbe implementare una libreria JS (sfruttando jQuery & Raphaël) che prenda direttamente il formato testo del file fidocadj e li converta in canvas (in tal modo eviteremmo anche di passare per il server, il render vedebbe fatto totalmente su lato client)

Appena mi libero mi studio la lib Raphaël, e spero che entro questa sera finisco di capire come funziona perfettamente =P

DarwinNE ci possiamo contattare in qualche modo privatamente? cosi vediamo il dafarsi =P
Avatar utente
Foto UtenteIfrit_Prog
35 2
 
Messaggi: 31
Iscritto il: 10 dic 2007, 0:24
Località: Lesina (FG)

1
voti

[6] Re: Lettore FidoCadJ in Javascript

Messaggioda Foto UtenteDarwinNE » 22 ott 2013, 15:34

Foto UtenteIfrit_Prog, ho dato un'occhiata a Raphaël e mi sembra qualitativamente valida (parlo dei risultati) per immaginare di affrontare la cosa. Io non ne so quasi nulla di JavaScript e non avrei tempo di occuparmene, ma posso dare qualche dritta molto a grandi linee.

Esiste il progetto FidoReadPHP (un po' in stallo) che implementa un lettore lato server, direi che se conosci il PHP puoi iniziare a vedere com'è organizzato quel progetto (il codice è disponibile su SF):

https://sourceforge.net/projects/fidoreadphp/

La resa della libreria grafica adottata da FidoReadPHP non è a mio avviso accettabile.
Direi comunque che può costituire un punto di partenza e consiglierei di utilizzare una organizzazione simile per quanto riguarda un eventuale lettore in JS.
Follow me on Mastodon: @davbucci@mastodon.sdf.org
Avatar utente
Foto UtenteDarwinNE
31,0k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 4420
Iscritto il: 18 apr 2010, 9:32
Località: Grenoble - France

2
voti

[7] Re: Lettore FidoCadJ in Javascript

Messaggioda Foto UtenteIfrit_Prog » 22 ott 2013, 15:47

Per come la vedo io non ha senso lasciare al server l'onere di processare dei dati per generare una immagine che, a conti fatti, non necessita di alcuna informazione critica e/o che deve necessariamente risiedere su un database.

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.
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).

C'e' da dire che a livello computazionale sembrerebbe stupido far renderizzare ogni volta una immagine dal client, ma in tal modo risolviamo molte questioni legate al server che, grazie a tale scelta, non deve piu' far alcun lavoro se non quello di trattare una stringa di caratteri. Cosi facendo forniamo a chiunque voglia l'implementazione del sistema FidocadJS (va bene come nome? xD) imdipendentemente dalla piattaforma che il server usi (PHP puro, Zend Framework, Wordpress, Joomla, CakePHP, etc etc etc... anche html crudo praticamente...), insomma, prepariamo una libreria come SyntaxHighlighter.
Avatar utente
Foto UtenteIfrit_Prog
35 2
 
Messaggi: 31
Iscritto il: 10 dic 2007, 0:24
Località: Lesina (FG)

1
voti

[8] Re: Lettore FidoCadJ in Javascript

Messaggioda Foto UtenteIfrit_Prog » 22 ott 2013, 17:53

Bene bene bene, allora, nonostante la documentazione sia, come al solito, penosa, non noto particolare bisogno usare tutte le funzionalità di quest'ultima, ma solo una piccola parte =)

ora ho iniziato a leggere la documentazione di fidocadj relativa ai suoi file (http://sourceforge.net/projects/fidocad ... f/download), e vediamo cosa riusciamo a tirare fuori in prima battuta.

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.

se tutto funziona bene, direi che fra un po' di giorni apriamo un progetto FidocadJS su github, cosi diamo il via al tutto =)
Avatar utente
Foto UtenteIfrit_Prog
35 2
 
Messaggi: 31
Iscritto il: 10 dic 2007, 0:24
Località: Lesina (FG)

2
voti

[9] Re: Lettore FidoCadJ in Javascript

Messaggioda Foto UtenteDarwinNE » 22 ott 2013, 19:02

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 :cool:

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 Foto Utenteadmin:
http://www.electroyou.it/admin/wiki/pea ... ro-fj-ey-6
http://www.electroyou.it/admin/wiki/bre ... otecnica-3
http://www.electroyou.it/admin/wiki/peanuts-ey-4

Qualche articolo ed intervento di Foto UtentePietroBaima:
http://www.electroyou.it/pietrobaima/wiki/n-a
viewtopic.php?f=35&t=42771&hilit=fidocadj+birra&start=10#p384105

Qui da Foto UtenteLele_u_biddrazzu
http://www.electroyou.it/lele_u_biddraz ... rt-parte-1

Qui da Foto Utenteelettrodomus
http://www.electroyou.it/elettrodomus/w ... n-fidocadj

Articolo mio con schemi elettrici e tratteggi:
http://www.electroyou.it/darwinne/wiki/ ... e-symmetry

Più di recente (da Foto Utentemir):
http://www.electroyou.it/mir/wiki/5-dis ... -elettrica

Questo (sempre di Foto UtentePietroBaima) è il limite massimo di complessità che si può ragionevolmente richiedere ad un file FidoCadJ:
viewtopic.php?f=35&t=43040&p=387061&hilit=gattopona#p387061

Viene 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... :twisted:


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.

:ok:
Follow me on Mastodon: @davbucci@mastodon.sdf.org
Avatar utente
Foto UtenteDarwinNE
31,0k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 4420
Iscritto il: 18 apr 2010, 9:32
Località: Grenoble - France

0
voti

[10] Re: Lettore FidoCadJ in Javascript

Messaggioda Foto UtenteIfrit_Prog » 23 ott 2013, 12:52

domanda al volo... percaso sapete perche' dopo il primo avvio, ora fidocadj non parte? non da nessun segnale di errore xD la jre sta li inchiodata senza far nulla =/

uff...
Avatar utente
Foto UtenteIfrit_Prog
35 2
 
Messaggi: 31
Iscritto il: 10 dic 2007, 0:24
Località: Lesina (FG)

Prossimo

Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 15 ospiti