No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

128 líneas
4.9KB

  1. %&tex
  2. \documentclass{standalone}
  3. \usepackage{tikz}
  4. \usepackage{siltex}
  5. \usetikzlibrary {calc,arrows.meta,positioning,patterns,math}
  6. %\input{graphics/tics.tikz}
  7. \begin{document}
  8. \begin{tikzpicture}[x=0.6cm, y=0.6cm]
  9. \def \markerradius {0.5};
  10. \def \angle {40};
  11. \def \startangle {-90-\angle};
  12. \def \stopangle {-90+\angle};
  13. \def \length{4};
  14. \def \thick{0.3};
  15. \def \clampoffset{2};
  16. \pgfmathsetmacro{\clamppos}{\clampoffset-\markerradius*sin(\angle)};
  17. \pgfmathsetmacro{\side}{\markerradius*(1-cos(\angle))};
  18. \def \clampsection {++(${\side}*(0,1)$) arc[start angle=\startangle,end angle=\stopangle,radius=\markerradius] -- ++(${-1*\side}*(0,1)$)};
  19. \def \blockdistance {2.8}
  20. \def \blockpos {(0,0)};
  21. \def \markerdrop {0.5};
  22. \def \spacing {5.5};
  23. \def \yspacing {3.9};
  24. \tikzset{
  25. block/.pic=
  26. {
  27. \def \height {1.5};
  28. \def \width {1};
  29. \draw[pattern = north west lines] (\clamppos,-1) -- (\clamppos,-\markerdrop) -- \clampsection -- ++(0,-0.2) -- (\blockdistance,-\markerdrop-0.2) -- (\blockdistance,1) -- (\blockdistance+\width,1) -- (\blockdistance+\width,-1);
  30. },
  31. upperclamp/.pic=
  32. {
  33. \def \startangle {90+\angle};
  34. \def \stopangle {90-\angle};
  35. \def \side {-\markerradius*(1-cos(\angle))};
  36. \draw[fill=lightgray] (0,0) -- (${\clamppos}*(1,0)$) coordinate(a) -- \clampsection coordinate(b) -- (\length,0) -- ++(0,\thick) -- (0,\thick);
  37. },
  38. lowerclamp/.pic=
  39. {
  40. \draw[fill=lightgray] (0,0) -- (${\clamppos}*(1,0)$) -- \clampsection -- ++(0,-\thick) -- (0,-\thick);
  41. },
  42. marker/.pic=
  43. {
  44. \draw[fill=gray] (0,0) circle(\markerradius);
  45. }
  46. }
  47. \def \nodepos {(\blockdistance+1,1.9)};
  48. \begin{scope}[shift={(0*\spacing,0)}]
  49. \def \eex {1.3};
  50. \def \eey {-0.5};
  51. \pgfmathsetmacro{\clampangle}{max(0,atan2(\eey,{\blockdistance+\eex}))};
  52. \draw \blockpos pic {block};
  53. \node at \nodepos {1.};
  54. \draw (2-\eex,{\markerradius+\eey*-1}) pic {marker};
  55. \begin{scope}[shift={(-\eex,-\eey)}]
  56. \draw (0,0) pic {lowerclamp};
  57. \draw (0,1) pic[rotate=\clampangle] {upperclamp};
  58. \end{scope}
  59. \end{scope}
  60. \begin{scope}[shift={(1*\spacing,0)}]
  61. \def \eex {0};
  62. \def \eey {0};
  63. \pgfmathsetmacro{\clampangle}{max(0,atan2(\eey,{\blockdistance+\eex}))};
  64. \draw \blockpos pic {block};
  65. \node at \nodepos {2.};
  66. \draw (2,\markerradius) pic {marker};
  67. \begin{scope}[shift={(-\eex,-\eey)}]
  68. \draw (0,0) pic {lowerclamp};
  69. \draw (0,1) pic[rotate=\clampangle] {upperclamp};
  70. \end{scope}
  71. \end{scope}
  72. \begin{scope}[shift={(2*\spacing,0)}]
  73. \def \eex {0};
  74. \def \eey {0.5};
  75. \pgfmathsetmacro{\clampangle}{max(0,atan2(\eey,{\blockdistance+\eex}))};
  76. \draw \blockpos pic {block};
  77. \node at \nodepos {3.};
  78. \draw (2,\markerradius-\markerdrop) pic {marker};
  79. \begin{scope}[shift={(-\eex,-\eey)}]
  80. \draw (0,0) pic {lowerclamp};
  81. \draw (0,1) pic[rotate=\clampangle] {upperclamp};
  82. \end{scope}
  83. \end{scope}
  84. \begin{scope}[shift={(0*\spacing,-\yspacing)}]
  85. \def \eex {0};
  86. \def \eey {0.7};
  87. \pgfmathsetmacro{\clampangle}{max(0,atan2(\eey,{\blockdistance+\eex}))};
  88. \draw \blockpos pic {block};
  89. \node at \nodepos {4.};
  90. \draw (2,\markerradius-\markerdrop) pic {marker};
  91. \begin{scope}[shift={(-\eex,-\eey)}]
  92. \draw (0,0) pic {lowerclamp};
  93. \draw (0,1) pic[rotate=\clampangle] {upperclamp};
  94. \end{scope}
  95. \end{scope}
  96. \begin{scope}[shift={(1*\spacing,-\yspacing)}]
  97. \def \eex {1};
  98. \def \eey {0.7};
  99. \pgfmathsetmacro{\clampangle}{max(0,atan2(\eey,{\blockdistance+\eex}))};
  100. \draw \blockpos pic {block};
  101. \node at \nodepos {5.};
  102. \draw (2,\markerradius-\markerdrop) pic {marker};
  103. \begin{scope}[shift={(-\eex,-\eey)}]
  104. \draw (0,0) pic {lowerclamp};
  105. \draw (0,1) pic[rotate=\clampangle] {upperclamp};
  106. \end{scope}
  107. \end{scope}
  108. \begin{scope}[shift={(2*\spacing,-\yspacing)}]
  109. \def \eex {1};
  110. \def \eey {0};
  111. \pgfmathsetmacro{\clampangle}{max(0,atan2(\eey,{\blockdistance-\eex}))};
  112. \draw \blockpos pic {block};
  113. \node at \nodepos {6.};
  114. \draw (2,\markerradius-\markerdrop) pic {marker};
  115. \begin{scope}[shift={(-\eex,-\eey)}]
  116. \draw (0,0) pic {lowerclamp};
  117. \draw (0,1) pic[rotate=\clampangle] {upperclamp};
  118. \end{scope}
  119. \end{scope}
  120. \draw (4.2,-1.3*\yspacing) -- ++(0,1.9*\yspacing);
  121. \draw[shift={(\spacing,0)}] (4.2,-1.3*\yspacing) -- ++(0,1.9*\yspacing);
  122. \draw(-1.4,-1.5) -- ++(3*\spacing,0);
  123. \end{tikzpicture}
  124. \end{document}