Schemi funzionali pneumatici: suggerimento

  • Creatore
    Topic
  • #115184
    Up
    0
    Down
    ::


    Ciao a tutti.
    Chiedo scusa in anticipo per la mia ignoranza.
    Sto cercando di disegnare alcuni schemi pneumatici con tikz. Non ho trovato in rete risorse che includano i componenti di cui ho bisogno perciò pensavo di disegnarli uno ad uno e poi “assemblarli”.
    In sostanza devo disegnare dei blocchi funzionali che riproducono schematicamente il funzionamento dei vari componenti fisici e poi combinarli fra loro per disegnare gli schemi dei dispositivi che progetto. Vorrie farlo in ambiente Latex perché se importo immagini fatte con altri software la resa estetica non è il massimo.
    Avrei solo bisogno di un suggerimento per quale possa essere la strada più adatta per partire e/o se ci sono pacchetti che fanno al caso mio.

    Per chiarire un pochino meglio, è come se dovessi disegnare un circuito elettrico e dovessi disegnarmi singolarmente resistenze, condensatori …. (so che con circuitikz le librerie sono molto complete), non ho trovato però un alternativa per la pneumatica, allora mi costruisco i singoli oggetti da me. Non so però come riutilizzare i componenti per creare schemi diversi.
    Ho provato con \newcommand, ma non riesco a gestire il posizionamento dei componenti.
    Se qualcuno ha già affrontato il problema dovrei disegnare:

    • valvole pneumatiche (da 2 posizioni in su);
    • compressori aria;
    • serbatoi aria;
    • essiccatori;
    • pressostati.

    Gli schemi diventano elettromeccanici e in alcuni casi posso usare circuitikz per i componenti elettrici.
    Ripeto, mi serve solo uno spunto, poi vado avanti da solo.
    Da qualche tempo sto iniziando a lavorare in Latex con grandi difficoltà (più che altro perché non ho molto tempo da dadicargli), ma dop averci sbattuto un po’ la testa ho notato che la qualità dei documenti è decisamente più professionale di altri software.
    Grazie in anticipo.
    Saluti e buon fine settimana

Visualizzazione 12 filoni di risposte
  • Autore
    Risposte
    • #115185
      Carla
      Partecipante
        Up
        0
        Down
        ::


        Ciao oierpa,
        penso che quello che stai cercando sia la funzione `pics` di TikZ.

        Nel seguente esempio minimo trovi una `pics` che crea un rettangolo con due argomenti, base ed altezza.

        Ovviamente, puoi creare forme molto più complesse, ma sempre riusabili nella tua `tikzpicture`.

        Gli argomenti possono essere anche di più o non esserci o avere un valore di default.

        Guarda la sezione 18 Pics: Small Pictures on Paths del manuale di TikZ

        `\documentclass{article}
        \usepackage{tikz}
        \tikzset{%
        pics/rettangolo/.style n args={2}{code={%
        \draw (0,0) rectangle (#1,#2);
        }},
        }
        \begin{document}
        \begin{tikzpicture}
        \pic at (0,0) {rettangolo={1}{1}};
        \pic at (2,0) {rettangolo={2}{3}};
        \pic at (5,0) {rettangolo={4}{5}};
        \end{tikzpicture}
        \end{document}`

      • #115186
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Il suggerimento di @CarLaTeX è validissimo.

          Ci sarebbe anche un altro approccio: apri il codice di circiuitikz e guarda come l’autore ha realiszato ongi singolo componente; è chiaro che i disegni particolari dei sistemi pneumatici sono diversi; tanto diversi che io non ho la minima idea della forma grafica/schematica che dovrebbero avere gli oggetti che hai elencato nel tuo messaggio e a malapena intuisco le loro funzioni. Ma per uno schema l’approccio di circuitikz dovrebbe fare al caso tuo; è possibile che, di fatto, l’autore di circuitikz abbia seguito proprio quello che ti ha indicato @CarLaTeX.

        • #115187
          Up
          0
          Down
          ::


          Ciao a tutti e grazie.
          Innanzi tutto grazie a tutti per la disponibilità.
          Allego una semplice valvola 2/2 (2 bocche, 2 posizioni), è un esempio dei componenti che devo generare e utilizzare.
          Disegnare la valvola in se non è un grosso problema, anche se io sono lento a farlo, ma non so come salvare questo “blocco” (ed altri) per poi riutilizzarli.
          Dove ho indicato i numeri 1 e 2 devo connettere delle linee che altro non sono che i tubi pneumatici (analoghi ai fili elettrici), mentre dove ho indicato “A” e “B” devo connettere dei fili elettrici (infatti quella è la bobina di comando della valvola).
          Immagino che disegnando questo componente possa indicare dei nodi in modo da riutilizzarli, ma riesco a farlo solo in una nuova immagine, mentre non ho idea di come poter riutilizzare i componenti che creo in configurazioni diverse.
          Al momento ho diverse decine di schemi differenti e molti altri da fare (il mio lavoro è proprio progettare questi schemi).
          Da 20 e più anni li ho disegnati con autocad, ma quando devo documentare il progetto inserendo un file immagine la resa non è granché.
          Infine, credo di non essere in grado di entrare nel codice di circuitikz (come suggerito da OldClaudio, che ringrazio), penso che per me sia troppo complicato, anche se immagino sia la via che alla lunga porti a risultati migliori.
          Non so se non sono stato bravo io a cercare e trovare questi simboli, ma trovo strano che nessuno abbia mai avuto esigenze simili prima di me.

          Grazie ancora

          Attachments:
          You must be logged in to view attached files.
        • #115188
          robitex
          Amministratore del forum
            Up
            0
            Down
            ::

            oierpa” post=115592Ciao a tutti e grazie.
            Innanzi tutto grazie a tutti per la disponibilità.
            Allego una semplice valvola 2/2 (2 bocche, 2 posizioni), è un esempio dei componenti che devo generare e utilizzare.
            Disegnare la valvola in se non è un grosso problema, anche se io sono lento a farlo, ma non so come salvare questo “blocco” (ed altri) per poi riutilizzarli.
            Dove ho indicato i numeri 1 e 2 devo connettere delle linee che altro non sono che i tubi pneumatici (analoghi ai fili elettrici), mentre dove ho indicato “A” e “B” devo connettere dei fili elettrici (infatti quella è la bobina di comando della valvola).
            Immagino che disegnando questo componente possa indicare dei nodi in modo da riutilizzarli, ma riesco a farlo solo in una nuova immagine, mentre non ho idea di come poter riutilizzare i componenti che creo in configurazioni diverse.
            Al momento ho diverse decine di schemi differenti e molti altri da fare (il mio lavoro è proprio progettare questi schemi).
            Da 20 e più anni li ho disegnati con autocad, ma quando devo documentare il progetto inserendo un file immagine la resa non è granché.
            Infine, credo di non essere in grado di entrare nel codice di circuitikz (come suggerito da OldClaudio, che ringrazio), penso che per me sia troppo complicato, anche se immagino sia la via che alla lunga porti a risultati migliori.
            Non so se non sono stato bravo io a cercare e trovare questi simboli, ma trovo strano che nessuno abbia mai avuto esigenze simili prima di me.

            Grazie ancora

            Ciao.
            Schemi a componenti, anche se possono essere realizzati con i pacchetti grafici del sistema TeX anche in modo interessante, richiedono secondo me un software CAD.
            Il CAD prevede oggetti chiamati blocchi con attributi testo e puoi lavorare direttamente sul disegno, stampare in PDF, e includere il risultato in un documento TeX.
            Questo ti consente produttività. Con la grafica in TeX puoi senz’altro ottenere risultati molto interessanti in termini di produttività ma sempre secondo me, non trovi già pronto un pacchetto progettato per questo scopo.
            Trovi qualcosa in un mio articolo su ArsTeXnica dell’ottobre 2012, sulla grafica a oggetti in LuaTeX. Potremo riaprire quel capitolo.
            Si capisce facilmente che le potenzilità di elaborazione automatica per esempio nel posizionamento e collegamento dei componenti consentono risultati superiori rispetto alla modifica via mouse di oggetti CAD.

            Periodicamente sul forum si affaccia qualcuno che sente la necessità di oggetti in TikZ, Ebbene secondo me, in altre parole, un componente software apposito in LuaTeX è la soluzione.
            R.

          • #115189
            Up
            0
            Down
            ::


            Grazie Robitex.
            Finora ho sempre disegnato gli schemi con Autocad anche io, creando blocchi che poi riutilizzavo.
            Volevo tentare la strada di Latex perché la resa grafica mi sembrava decisamente migliore.
            Proverò a cimentarmi con pic, in quanto è una strada per me accessibile, ma devo capire un po’ la sintassi.
            Ad ogni modo ho visto un po’ di esempi di circuiti elettrici ed elettronici disegnati con circuitikz, alcuni sono molto complicati quindi credo che la possibilità di realizzare anche i circuiti pneumatici sia concreta, si tratta di sbatterci un po’ la testa …
            Grazie ancora

          • #115190
            robitex
            Amministratore del forum
              Up
              0
              Down
              ::

              oierpa” post=115595Grazie Robitex.
              Finora ho sempre disegnato gli schemi con Autocad anche io, creando blocchi che poi riutilizzavo.
              Volevo tentare la strada di Latex perché la resa grafica mi sembrava decisamente migliore.
              Proverò a cimentarmi con pic, in quanto è una strada per me accessibile, ma devo capire un po’ la sintassi.
              Ad ogni modo ho visto un po’ di esempi di circuiti elettrici ed elettronici disegnati con circuitikz, alcuni sono molto complicati quindi credo che la possibilità di realizzare anche i circuiti pneumatici sia concreta, si tratta di sbatterci un po’ la testa …
              Grazie ancora

              A parte il discorso font, dal CAD se passi dal formato PDF hai la qualità vettoriale anche nel documento.
              Puoi “stampare” PDF con lo spazio carta a foglio grande e ritagliare con pdfcrop. Poi includi con \includegraphics pacchetto graphicx.
              Mantieni qualità vettoriale ma anche la scala.
              Con il CAD che uso io passo invece dal postscript ma il discorso è lo stesso. Se devo inserire parti di disegno faccio in questo modo e in pratica capita tutti i giorni 🙂

              Puoi fare così:
              mantenere il tuo flusso di produzione in CAD ma usare l’uscita PDF
              in contemporanea nei ritagli di tempo sperimentare la grafica PDF nativa tramite TikZ.
              se funziona abbandonare il CAD.
              Tuttavia temo che pic sia insufficiente a battere il CAD. Serve una soluzione più “intelligente” altrimenti è troppo macchinoso.

              R.

            • #115191
              Up
              0
              Down
              ::


              Ciao Robitex.
              Senza saperlo mi hai suggerito quel che sto facendo 🙂
              Infatti realizzo gli schemi con Autocad, abbiamo la licenza in azienda, ma il mio disegnatore è sempre talmente oberato di lavoro che non è semplice fare uno schema come si deve, perciò a volte devo accontentarmi di risultati che non sono quel che vorrei …
              Come suggerivi tu, sto provando ad usare Tikz per realizzare questi schemi e cercavo appunto una via. Non sono bravo in Latex e uso spesso il forum, ma non solo, per prendere spunti e cercare una soluzione. Finora ha funzioanto quasi sempre, infatti io ho scritto pochissimi post ma ne ho letti molti.

              Una domanda, tu hai scritto “il mio cad”, quale cad usi? Io ho provato draftsight ma onestamente con autocad avevo acquisito un po’ di dimistichezza in più ed ero più veloce (ho iniziato negli anni ’90 con le edizioni cad per Dos, nemmeno ricordo più quale fosse).

              Infine sarebbe davvero bello entrare nel codice di ciricuitikz per realizzare i miei schemi, credo però che per me sia impraticabile, ho fatto una fatica immane ad insistere (con me stesso) ed utilizzare Latex invece di Word.

              Intanto grazie mille, se capita cercherò di aggiornare il forum degli eventuali progressi.

            • #115192
              robitex
              Amministratore del forum
                Up
                0
                Down
                ::

                oierpa” post=115608Ciao Robitex.
                Senza saperlo mi hai suggerito quel che sto facendo 🙂
                Infatti realizzo gli schemi con Autocad, abbiamo la licenza in azienda, ma il mio disegnatore è sempre talmente oberato di lavoro che non è semplice fare uno schema come si deve, perciò a volte devo accontentarmi di risultati che non sono quel che vorrei …
                Come suggerivi tu, sto provando ad usare Tikz per realizzare questi schemi e cercavo appunto una via. Non sono bravo in Latex e uso spesso il forum, ma non solo, per prendere spunti e cercare una soluzione. Finora ha funzioanto quasi sempre, infatti io ho scritto pochissimi post ma ne ho letti molti.

                Una domanda, tu hai scritto “il mio cad”, quale cad usi? Io ho provato draftsight ma onestamente con autocad avevo acquisito un po’ di dimistichezza in più ed ero più veloce (ho iniziato negli anni ’90 con le edizioni cad per Dos, nemmeno ricordo più quale fosse).

                Infine sarebbe davvero bello entrare nel codice di ciricuitikz per realizzare i miei schemi, credo però che per me sia impraticabile, ho fatto una fatica immane ad insistere (con me stesso) ed utilizzare Latex invece di Word.

                Intanto grazie mille, se capita cercherò di aggiornare il forum degli eventuali progressi.

                Ciao.
                Non vorrei fare pubblicità a un prodotto commerciale perciò ti posso solo dire che il CAD che uso è un dwg compatibile.
                Non mi hai però chiarito se la stampa PDF dello schema dal CAD risolverebbe o meno “la bassa qualità” a cui accennavi.
                Non dici per esempio se usi il formato raster per esportare gli schemi, cosa che spiegherebbe la bassa qualità.
                R.

              • #115193
                Carla
                Partecipante
                  Up
                  0
                  Down
                  ::

                  oierpa” post=115592Ciao a tutti e grazie.
                  Innanzi tutto grazie a tutti per la disponibilità.
                  Allego una semplice valvola 2/2 (2 bocche, 2 posizioni), è un esempio dei componenti che devo generare e utilizzare.
                  Disegnare la valvola in se non è un grosso problema, anche se io sono lento a farlo, ma non so come salvare questo “blocco” (ed altri) per poi riutilizzarli.
                  Dove ho indicato i numeri 1 e 2 devo connettere delle linee che altro non sono che i tubi pneumatici (analoghi ai fili elettrici), mentre dove ho indicato “A” e “B” devo connettere dei fili elettrici (infatti quella è la bobina di comando della valvola).
                  Immagino che disegnando questo componente possa indicare dei nodi in modo da riutilizzarli, ma riesco a farlo solo in una nuova immagine, mentre non ho idea di come poter riutilizzare i componenti che creo in configurazioni diverse.
                  Al momento ho diverse decine di schemi differenti e molti altri da fare (il mio lavoro è proprio progettare questi schemi).
                  Da 20 e più anni li ho disegnati con autocad, ma quando devo documentare il progetto inserendo un file immagine la resa non è granché.
                  Infine, credo di non essere in grado di entrare nel codice di circuitikz (come suggerito da OldClaudio, che ringrazio), penso che per me sia troppo complicato, anche se immagino sia la via che alla lunga porti a risultati migliori.
                  Non so se non sono stato bravo io a cercare e trovare questi simboli, ma trovo strano che nessuno abbia mai avuto esigenze simili prima di me.

                  Grazie ancora

                  Premesso che sono ragioniera e quindi non so nulla di circuiti elettrici, la valvola che hai disegnato è molto facile da fare con TikZ.

                  Ecco un esempio (tenendo conto della premessa) con 4 argomenti corrispondenti alle 4 label:

                  `\documentclass{article}
                  \usepackage[american]{circuitikz}
                  \usetikzlibrary[arrows.meta, positioning]
                  \tikzset{%
                  pics/valvola/.style n args={4}{code={%
                  \node[draw,
                  rectangle,
                  inner sep=0pt,
                  outer sep=0pt,
                  text width=1cm,
                  minimum height=.5cm] (a) {};
                  \draw (a.north) — (a.south);
                  \draw[-Bar]($(a.south west)!.25!(a.south east)$) node[below] {#2} — ++(0,.2);
                  \draw[-Bar]($(a.north west)!.25!(a.north east)$) node[above] {#1} — ++(0,-.2);
                  \draw[-{Triangle[open]}]($(a.south west)!.75!(a.south east)$) — ($(a.north west)!.75!(a.north east)$);
                  \node[draw,
                  rectangle,
                  inner sep=0pt,
                  outer sep=0pt,
                  text width=.25cm,
                  minimum height=.25cm,
                  anchor=west] (b) at (a.east) {};
                  \draw ($(b.south west)!.75!(b.south east)$) — ++(0,-.1);
                  \draw ($(b.south west)!.75!(b.south east)$)
                  — ($(b.north west)!.25!(b.north east)$)– ++(0,.1);
                  \node[inner sep=0pt,
                  outer sep=0pt,above=5pt of b, font=\small] {#4};
                  \node[inner sep=0pt,
                  outer sep=0pt,below=5pt of b, font=\small] {#3};
                  }},
                  }
                  \begin{document}
                  \begin{circuitikz}
                  \draw (0,0) to[R=$R_1$] (2,0);
                  \pic[local bounding box=A1, anchor=west] at (2,0) {valvola={1}{2}{A}{B}};
                  \draw (A1.east) — +(1,0);
                  \pic[local bounding box=A2, anchor=west] at ([xshift=1cm]A1.east) {valvola={3}{4}{C}{D}};
                  \end{circuitikz}
                  \end{document}`

                  Il risultato in allegato

                  [attachment=2203]circuito.pdf[/attachment]

                  Per la resistenza ho preso quella già pronta in circuitikz.

                  Ciao!

                  Attachments:
                  You must be logged in to view attached files.
                • #115194
                  Up
                  0
                  Down
                  ::


                  Ciao CarLateX
                  Ti ringrazio molto per l’esempio.
                  Il mio problema era appunto riutilizzare il disegno quando necessario, quello ovviamente è un esempio, ci sono molti altri “blocchi” da definire e riutilizzare all’occorrenza.

                  Ad ogni modo ero riuscito a dare un’occhiata veloce a pic, dopo che mi è stato suggerito, ma fra trasferte e urgenze non avevo ancora avuto modo di metterci mano.
                  Mi studierò il tuo esempio in modo da prendere spunto per gli altri componenti e vi farà sapere, con tempi biblici ovviamente ….

                  Grazie ancora!
                  Un abbraccio a tutti!

                • #115195
                  Carla
                  Partecipante
                    Up
                    0
                    Down
                    ::

                    oierpa” post=115616Ciao CarLateX
                    Ti ringrazio molto per l’esempio.
                    Il mio problema era appunto riutilizzare il disegno quando necessario, quello ovviamente è un esempio, ci sono molti altri “blocchi” da definire e riutilizzare all’occorrenza.

                    Ad ogni modo ero riuscito a dare un’occhiata veloce a pic, dopo che mi è stato suggerito, ma fra trasferte e urgenze non avevo ancora avuto modo di metterci mano.
                    Mi studierò il tuo esempio in modo da prendere spunto per gli altri componenti e vi farà sapere, con tempi biblici ovviamente ….

                    Grazie ancora!
                    Un abbraccio a tutti!

                    Il “trucco” per usare una pic come un nodo è dare un nome alla local bounding box, poi puoi usare quel nome come se fosse un nodo.

                    Per una guida semplice su TikZ, puoi leggere la sezione 3 “Quack Guide No. 2 – The Morse code of TikZ” dell’articolo del prof. van Duck sul TUG 39:1 2018.

                    Ciao!

                  • #115196
                    Up
                    0
                    Down
                    ::


                    Grazie ancora Carlatex.

                    Ho aperto la guida che mi hai suggerito, sembra più chiara di molte altre.
                    Forse è colpa mia, ma spesso le guide Latex e pachetti correlati, le trovo molto “descrittive” e poco schematiche (in fondo disegno schemi :)).

                    Ho iniziato a studiare il tuo esempio, ma prima di chiedere qualcosa approfondisco.

                    Ciao a tutti!

                  • #115197
                    Carla
                    Partecipante
                      Up
                      0
                      Down
                      ::

                      oierpa” post=115627Grazie ancora Carlatex.

                      Ho aperto la guida che mi hai suggerito, sembra più chiara di molte altre.
                      Forse è colpa mia, ma spesso le guide Latex e pachetti correlati, le trovo molto “descrittive” e poco schematiche (in fondo disegno schemi :)).

                      Ho iniziato a studiare il tuo esempio, ma prima di chiedere qualcosa approfondisco.

                      Ciao a tutti!

                      Secondo me, in generale, quello che manca nella documentazione dei pacchetti sono degli esempi pratici.
                      Il manuale di TikZ, però, è un’eccezione: ha un tutorial molto ben fatto, all’inizio.
                      Ciao!

                      P.S. = Il prof. van Duck è molto contento dei complimenti che hai fatto alla sua guida 🙂

                  Visualizzazione 12 filoni di risposte
                  • Devi essere connesso per rispondere a questo topic.

                  Go to top