Re: Creare nuove forme con tikz

#71137
robitex
Amministratore del forum
    Up
    0
    Down
    ::

    Spike” post=70412Buongiorno a tutti,
    scrivendo la mia tesi ho bisogno di disegnare alcuni schemi cinematici tipo questo qui. Per far ciò volevo utilizzare tikz quindi vorrei una soluzione che utilizza questo pacchetto. In particolare quello che vorrei fare è creare dei comandi (o delle forme) per automatizzare il disegno dei vincoli seguenti:
    `
    \documentclass[10pt,a4paper]{article}
    \usepackage{tikz}
    \begin{document}
    \begin{tikzpicture}
    % coppia rotoidale
    \draw (0,0) — (1,0) — (0.5,1) — cycle;
    \draw[fill=white] (0.5,.9) circle[radius=0.25];
    % carrello
    \begin{scope}[shift={(3,0)}]
    \draw (0,0) — (1,0) — (0.5,1) — cycle;
    \draw[fill=white] (0.5,0.9) circle[radius=0.25];
    \draw (0.2,-0.2) circle[radius = 0.2];
    \draw (0.8,-0.2) circle[radius = 0.2];
    \end{scope}
    \end{tikzpicture}
    \end{document}`
    in modo da poter scrivere ad esempio [tt]\cr[/tt] oppure [tt]\node[cr] at ..[/tt] ed ottenere il simbolo a sinistra (ovviamente ciò che importa sono le proporzioni e non le dimensioni). Se poi questi potessero comportarsi come dei nodi in cui i centri dei cerchi in alto fossero i riferimenti per il posizionamento sarebbe perfetto, ma comunque non è indispensabile. Ho guardato il manuale di tikz dove al paragrafo 75.5 viene spiegato come creare nuove forme, ma questa via mi sembra alquanto complessa e non so neanche se sia la via giusta.
    Non so se sono stato molto chiaro, in caso cercherò di spiegarmi meglio.

    Grazie
    Fra

    Ciao,
    ho scritto un po’ di codice per due comandi appositi ad argomenti delimitati.

    `\documentclass{minimal}
    \usepackage{tikz}

    \def\carrello(#1,#2){%
    \begin{scope}[shift={(#1,#2)}]
    \draw (-0.5,-1) — (+0.5,-1) — (0,0) — cycle;
    \draw[fill=white] (0,0) circle[radius=0.25];
    \draw (0.3,-1.2) circle[radius = 0.2];
    \draw (-0.3,-1.2) circle[radius = 0.2];
    \end{scope}
    }

    \def\cerniera(#1,#2){%
    \begin{scope}[shift={(#1,#2)}]
    \draw (-0.5,-1) — (+0.5,-1) — (0,0) — cycle;
    \draw[fill=white] (0,0) circle[radius=0.25];
    \end{scope}
    }

    \begin{document}
    \begin{tikzpicture}

    % asse asta
    \draw (0,0) — (3,0);

    % coppia rotoidale
    \cerniera(0,0)

    % carrello
    \carrello(3,0)

    \end{tikzpicture}
    \end{document}`

    I vincoli sono centrati nel nodo come puoi vedere.

    Esiste anche un pacchetto pstricks apposito per disegnare schemi strutturali, da valutare con qualche test, realizzando a parte un documento separato per ciascuno schema.
    Si possono anche disegnare i grafici delle caratteristiche di sollecitazione.
    Valuta tu, io non l’ho mai usato.
    Ecco il link

    Saluti.
    R.

    Go to top