diff options
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-stru/Changes | 8 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-stru/README | 10 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.pdf | bin | 0 -> 201666 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.tex | 661 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/pst-stru/pst-stru.tex | 316 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/pst-stru/pst-stru.sty | 8 |
6 files changed, 1003 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-stru/Changes b/Master/texmf-dist/doc/generic/pst-stru/Changes new file mode 100644 index 00000000000..32baac925d6 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-stru/Changes @@ -0,0 +1,8 @@ +pst-stru.tex ----------------------------- + +0.11 2006/10/25 First CTAN public release. (hv) + + +pst-stru.sty ----------------------------- + 2006/10/25 First CTAN public release. + diff --git a/Master/texmf-dist/doc/generic/pst-stru/README b/Master/texmf-dist/doc/generic/pst-stru/README new file mode 100644 index 00000000000..dc991ce8c14 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-stru/README @@ -0,0 +1,10 @@ +------------------------------------------------------ +| pst-stru: PSTricks package for structural elements | +------------------------------------------------------ + +pst-stru is a PSTricks package to draw structural schemes in +civil engineering analysis (beams, portals, archs, piles). +It can be used either with TeX or LaTeX. + +Put the files pst-stru.sty|tex into an existing local +TEXMF tree and then run texhash to update the data base.
\ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.pdf b/Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.pdf Binary files differnew file mode 100644 index 00000000000..cde5d43f2ce --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.pdf diff --git a/Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.tex b/Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.tex new file mode 100644 index 00000000000..a39c3ee151e --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-stru/pst-stru-doc.tex @@ -0,0 +1,661 @@ +\documentclass[11pt]{article} +\usepackage[T1]{fontenc} +\usepackage[latin9]{inputenc} +\usepackage[scaled]{luximono} +\usepackage[a4paper,tmargin=2cm,bmargin=1cm,includeheadfoot]{geometry} +\usepackage{fancyhdr,showexpl} +\usepackage{pstricks} +\usepackage{pst-stru} +\usepackage{fp-eval} + +\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}} +\lhead{\texttt{pst-stru}}\rhead{A PSTricks package for structural schemes} +\pagestyle{fancy} + +\begin{document} + +\title{\texttt{pst-stru}\\ A PSTricks package to draw structural schemes in +civil engineering analysis (beams, portals, archs, piles)\\ \normalsize ver. 0.11} +\author{Giuseppe Matarazzo\thanks{% +Thanks to Manuel Luque who inspired and initially supported this work.\newline +Documentation revised by Herbert Voß\newline +This program can be redistributed and/or modified under the terms +of the LaTeX Project Public License Distributed from CTAN archives +in directory macros/latex/base/lppl.txt.}} +\date{\today} +\maketitle + +\tableofcontents + +\clearpage +\section{Simple example} +\lstset{pos=t,language=PSTricks} + +\begin{LTXexample} +\psset{arrowsize=0.8mm,arrowinset=0} +\begin{pspicture}(-5,-1)(5,5) +\pnode(0,2.4) {OO} +\pnode(-4,0) {A} +\pnode(4,0) {B} +\node(A) +\node(B) +\psplot[linecolor=red,linewidth=2pt]{-4}{4}{x neg x mul 0.15 mul 2.4 add} +\rput{-39.8}(A){\hinge} +\rput{39.8}(B){\hinge} +\rput{0}(OO){\interhinge} +\rput{-5}(OO){\clockCouple} +\rput{5}(OO){\noclockCouple} +\rput(0,3.2){\Large M} + \pcline [offset=-7mm,linecolor=blue]{|-|}(-4,0)(0,0) + \lput*{:U}{\large 4.00 m} + \pcline [offset=-7mm,linecolor=blue]{|-|}(0,0)(4,0) + \lput*{:U}{\large 4.00 m} + \pcline [offset=0,linecolor=blue]{|-|}(-4.4,0)(-4.4,2.4) + \lput*{:U}{2.40 m} +\end{pspicture} +\end{LTXexample} + + +\section[Elastic line]{Elastic Line of a simple beam loaded with +concentrated load P at the center line} + +\noindent +{\em Bernoulli's Equation}: $EJ\eta''=-M$ \\ +\noindent +The {\bf elastic curve} of the assigned beam AB (P loaded at mid-span) is +obtained by computing the Bending Moment of the auxiliary beam A'B' +to which is applied the BM of AB (EJ=const) +\[ + EJ\cdot \eta = \frac{Pl^2}{16}x - \frac{P}{12}x^3 + \quad \quad 0 \leq x \leq l/2 +\] + +\begin{LTXexample} +\begin{pspicture}[showgrid=true](-1,-2.4)(9,4.5) +\pnode(0,3){A} \pnode(8,3){B} +\pnode(0,0){A1} \pnode(8,0){B1} +\pnode(4,0){M} +\psline[linewidth=1.5pt](0,3)(8,3) % Beam AB +\psArrowCivil[RotArrows=0,length=1.5,start=0.5,% + linecolor=blue,arrowsize=1.8mm,OffsetLabel=0.2,linewidth=1pt](A)(B){\rput{90}{P}} +\rput{0}(A){\hinge} \rput{0}(B){\roller} +\psline[linecolor=red,fillcolor=yellow,fillstyle=solid](0,0)(4,1)(8,0) +\rput(0,2){\Large A} \rput(8,2){\Large B} +%% 1st half load + \multido{\nStart=1.00+0.05}{-19}{% + \psArrowCivil[RotArrows=0,length=\nStart,start=\nStart,% + linecolor=magenta](A1)(M){}} +%% 2nd half load + \multido{\nStart=1.00+0.05}{-19}{% + \psArrowCivil[RotArrows=180,length=\nStart,start=\nStart,% + linecolor=magenta](B1)(M){}} +\pcline[offset=0,linecolor=black]{<->}(4,0)(4,1) + \lput*{:R}{\bf d} +\rput(6,1){$d=P\frac{l}{2}$} +\rput(0,0.5){\Large A'} \rput(8,0.5){\Large B'} +\pcline[offset=0,linecolor=blue]{|-|}(0,-2)(8,-2) +\lput*{:U}{\bf $l$} +% Paramenters #1 P = 6 #2 l=8 #3 scale factor =0.02 +%----------- Elastic curve of beam AB ---------------------- +\def\ElasticAB#1#2#3{#1 16.0 div #2 #2 x mul mul mul + #1 -12.0 div x x x mul mul mul add #3 mul neg} +\pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=lightgray]{% + \psplot[]{0.0}{4.0}{\ElasticAB{6}{8}{0.02}} + \psline[](4,0)(0,0)} +\psline[linewidth=1.5pt](0,0)(8,0) % Beam A'B' +\end{pspicture} +\end{LTXexample} + + +\clearpage +\section{Antisymmetric distributed load} +\begin{LTXexample} +\begin{pspicture}(-3,-3)(4,3) +\pnode(0,1.5) {OO} +\pnode(1.5,1.5) {C} +\pnode(-1.5,1.5) {D} +\pnode(-1.5,0) {A} +\pnode(1.5,0) {B} +\node(A) +\node(B) +\psline[linecolor=red](A)(D)(C)(B) +\rput{0}(A){\hinge} +\rput{90}(B){\guide} +\psframe[fillstyle=solid,fillcolor=yellow](-1.5,1.5)(0,1.7) +\psframe[fillstyle=solid,fillcolor=yellow](0,1.3)(1.5,1.5) +\multido{\nStart=0.0+0.0833}{13}{% + \psArrowCivil[RotArrows=0,length=0.2,start=\nStart,% + linecolor=blue](D)(OO){} + \psArrowCivil[RotArrows=180,length=0.2,start=\nStart,% + linecolor=blue](OO)(C){}} +\rput{0}(OO){\interhinge} +\end{pspicture} +\end{LTXexample} + + +\clearpage +\section{Antisymmetric load} + +\begin{lstlisting} +\FPmessagesfalse +\def\retta#1#2{#1 x mul #2 add} +\def\rettaTeX#1#2{% + \multido{\nStart=0.0+0.2}{21}{% + \pnode(\nStart,0){E1} + \FPeval{\ValueRetta}{(#1)*(\nStart)+(#2)} + \pnode(\nStart,\ValueRetta){E2} + \FPeval{\Test}{abs(\ValueRetta)-0.2} + \FPifneg{\Test}\psset{arrowsize=0}\else\psset{arrowsize=1mm}\fi + \psline[linecolor=blue,arrowinset=0]{->}(E2)(E1)}} +\end{lstlisting} + +\FPmessagesfalse +\def\retta#1#2{#1 x mul #2 add} +\def\rettaTeX#1#2{% + \multido{\nStart=0.0+0.2}{21}{% + \pnode(\nStart,0){E1} + \FPeval{\ValueRetta}{(#1)*(\nStart)+(#2)} + \pnode(\nStart,\ValueRetta){E2} + \FPeval{\Test}{abs(\ValueRetta)-0.2} + \FPifneg{\Test}\psset{arrowsize=0}\else\psset{arrowsize=1mm}\fi + \psline[linecolor=blue,arrowinset=0]{->}(E2)(E1)}} + +\begin{LTXexample} +\begin{pspicture}(-1,-2.5)(5,2) +\psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=gray] +\pnode(0,0) {A1} +\pnode(4,0) {B1} +\uput[180](A1){\Large A$_1$} +\uput[0](B1){\Large B$_1$} +%----------------------------------------- +% Parameters +% #1 m = 0.5 y = mùx + n (1) +% #2 n = -1 +%----------- line 1 ------- -------------------------- +\pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=yellow]{ +\psplot[linecolor=blue]{0}{4}{\retta{0.5}{-1}} +\psline(B1)(A1)} +\rettaTeX{0.5}{-1} +\psline[linecolor=red,linewidth=1.5pt](A1)(B1) % Beam A1-B1 +\end{pspicture} +\end{LTXexample} + +\clearpage +\section{Triangular load} +\begin{LTXexample} +\begin{pspicture}(-1,-2.5)(5,2) +\psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=gray] +%----------------------------------------- +% Parameters +% #1 m = 0.25 y = mùx + n (2) +% #2 n = 0 +%----------- line 2 ------- -------------------------- +\pnode(0,0) {A2} +\pnode(4,0) {B2} +\uput[180](A2){\Large A$_2$} +\uput[0](B2){\Large B$_2$} +\pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=cyan]{ +\psplot[linecolor=blue]{0}{4}{\retta{0.25}{0}} +\psline(B2)(A2)} +\rettaTeX{0.25}{0} +\psline[linecolor=red,linewidth=1.5pt](A2)(B2) % Beam A2-B2 +\end{pspicture} +\end{LTXexample} + +\clearpage +\section{Triangular load} +\begin{LTXexample} +\begin{pspicture}(-1,-2.5)(5,2) +\psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=gray] +%----------------------------------------- +% Parameters +% #1 m = -0.5 y = mùx + n (2) +% #2 n = 1 +%----------- line 2 ------- Triangular load -------------------------- +\pnode(0,0) {A3} +\pnode(4,0) {B3} +\uput[180](A3){\Large A$_3$} +\uput[0](B3){\Large B$_3$} +\pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=cyan]{ +\psplot[linecolor=blue]{0}{4}{\retta{-0.5}{1}} +\psline(B3)(A3)} +\rettaTeX{-0.5}{1} +\psline[linecolor=red,linewidth=1.5pt](A3)(B3) % Beam A3-B3 +\end{pspicture} +\end{LTXexample} + +\clearpage +\section{Antisymmetric load} +\begin{LTXexample} +\begin{pspicture}(-1,-2)(5,2) +\psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=gray] +\pnode(0,0) {A1} +\pnode(4,0) {B1} +\uput[180](A1){\Large A$_4$} +\uput[0](B1){\Large B$_4$} +%----------------------------------------- +% Parameters +% #1 m = -0.5 y = mùx + n (1) +% #2 n = 1 +%----------- line 1 ------- Antisymmetric load -------------------------- +\pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=yellow]{ +\psplot[linecolor=blue]{0}{4}{\retta{-0.5}{1}} +\psline(B1)(A1)} +\rettaTeX{-0.5}{1} +\psline[linecolor=red,linewidth=1.5pt](A1)(B1) % Beam A1-B1 +\end{pspicture} +\end{LTXexample} + +\clearpage +\section{Loads: Position and naming} +\begin{LTXexample} +\begin{pspicture}(-3,-3)(3,3) +\psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=magenta] +% ------ KNOTS definition ----------- +\pnode(-2,0){A} \pnode(1.5,0){B} +\pnode(1.5,-1.5){E}\pnode(1.5,1.5){F} +\pnode(3,0){G} + \node(A) \node(E) \node(B) \node(F) \node(G) +% ------ Structure drawing and fixed ends position ----------- + \psline[linecolor=red](A)(G) + \psline[linecolor=red](E)(F) + \rput{-90}(A){\fixedend} % left FE + \rput{0}(E){\fixedend} % bottom FE + \rput{-160}(F){\fixedend} % top FE + \rput{90}(G){\fixedend} % right FE +% ------ Loads: Position and naming ----------- +\psArrowCivil[RotArrows=0,length=2.0,start=0.286,% + linecolor=magenta,OffsetLabel=-0.3](A)(B){\rput{90}{P$_1$}} +\psArrowCivil[RotArrows=30,length=1.5,start=0.65,% + linecolor=blue,OffsetLabel=0.3](A)(B){\rput{60}{P$_2$}} +\psArrowCivil[RotArrows=-200,length=1.0,start=0.47,% + linecolor=blue,OffsetLabel=-0.3](A)(B){\rput{-70}{T}} +% ------ Spans measures ----------- + \pcline [offset=-5mm]{|-|}(-2,-1.5)(1.5,-1.5) + \lput*{:U}{\scriptsize 3.50 m} + \pcline [offset=-5mm]{|-|}(1.5,-1.5)(3,-1.5) + \lput*{:U}{\scriptsize 1.50 m} + \pcline [offset=5mm]{|-|}(-2,-1.5)(-2,1.5) + \lput*{:U}{\scriptsize 3.00 m} + \pcline [offset=0mm]{|-|}(2,0)(2,1.5) + \lput*{:U}{\scriptsize 1.50 m} +\end{pspicture} +\end{LTXexample} + + +\clearpage +\section{Distributed load} + +\begin{LTXexample} +\def\BMdistributed#1#2#3{#2 x sub 0.5 #1 x mul mul mul #3 mul} +\begin{pspicture}(-1,-2)(11,2) +\psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=magenta] +\pnode(0,0) {A} +\pnode(10,0) {B} +\rput{0}(A){\hinge} +\rput{0}(B){\roller} +\rput(0,-1){\Large A} +\rput(10,-1){\Large B} +\psline[linecolor=blue](A)(B) +%========================================================================== +% Paramenters +% #1 q = 12 +% #2 l = 10 +% #3 scale factor =0.01: to be multiplied by (10/l)^2 (when l<> 10) +%----------- BM distributed load ---------------------- + \pscustom[linecolor=blue,linewidth=1pt,fillstyle=solid,fillcolor=cyan]{ + \psplot[linecolor=blue]{0}{10}{\BMdistributed{12}{10}{0.01}} + \psline[](10,0)(0,0)} +\psset{arrowsize=1.5mm} + \multido{\nStart=0.0+0.2}{51}{% + \pnode(\nStart,0){E1} + \pnode(! /x \nStart\space def + x \BMdistributed{12}{10}{0.01}){E2} + \psline[linecolor=blue,arrowinset=0,arrowsize=1mm]{->}(E2)(E1)} +\end{pspicture} +\end{LTXexample} + + +\psset{arrowsize=0.8mm,arrowinset=0} +\clearpage +\section{Macro \texttt{\textbackslash triload}} + +\begin{LTXexample} +\begin{pspicture}[showgrid=true](-1,-4)(11,3) +% Total span is (K+1) times L, say AC=(K+1)*L [K=dimensionless value] +% ------------------------------------ + \triload[K=1,P=8,L=5] % k=1 -> AB=BC +% \triload[K=0.333,P=8,L=7.5] % k=1/3, like example 6 +% \triload[K=2,P=8,L=3] % k=2 -> BM always NEGATIVE in the whole structure +% \triload[K=2.5,P=8,L=2] % k>2 -> Reaction in C downwards +% ------------------------------------ +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample} +\begin{pspicture}(-1,-6)(11,3) +% \psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=magenta] + % Total span is (K+1) times L, say AC=(K+1)*L [K=dimensionless value] +% ------------------------------------ +% \triload[K=1,P=8,L=5] % k=1 -> AB=BC + \triload[K=0.333,P=8,L=7.5] % k=1/3, like example 6 +% \triload[K=2,P=8,L=3] % k=2 -> BM always NEGATIVE in the whole structure +% \triload[K=2.5,P=8,L=2] % k>2 -> Reaction in C downwards +% ------------------------------------ +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample} +\begin{pspicture}(-1,-3)(11,5) +% \psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=magenta] + % Total span is (K+1) times L, say AC=(K+1)*L [K=dimensionless value] +% ------------------------------------ +% \triload[K=1,P=8,L=5] % k=1 -> AB=BC +% \triload[K=0.333,P=8,L=7.5] % k=1/3, like example 6 + \triload[K=2,P=8,L=3] % k=2 -> BM always NEGATIVE in the whole structure +% \triload[K=2.5,P=8,L=2] % k>2 -> Reaction in C downwards +% ------------------------------------ +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample} +\begin{pspicture}(-1,-3)(11,4) +% \psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=magenta] + % Total span is (K+1) times L, say AC=(K+1)*L [K=dimensionless value] +% ------------------------------------ +% \triload[K=1,P=8,L=5] % k=1 -> AB=BC +% \triload[K=0.333,P=8,L=7.5] % k=1/3, like example 6 +% \triload[K=2,P=8,L=3] % k=2 -> BM always NEGATIVE in the whole structure + \triload[K=2.5,P=8,L=2] % k>2 -> Reaction in C downwards +% ------------------------------------ +\end{pspicture} +\end{LTXexample} + + +\clearpage +\section{Non-symmetric superimposed dead load} + +\begin{LTXexample} +\begin{pspicture}(-3,-3)(3,3) +\pnode(-2,0){A} \pnode(2,0) {B} +\pnode(0,1.5){V} \pnode(-2,1.5) {A0} +\pnode(2,1.5){B0} +\node(A) \node(B) \node(V) +\psline[linecolor=red](A)(V)(B)(A) +\rput{0}(A){\hinge} \rput{0}(B){\roller} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Non-symmetric superimposed dead load +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\psframe[fillstyle=solid,fillcolor=green](-2,1.5)(0,1.7) +\psframe[fillstyle=solid,fillcolor=yellow](2,0)(2.2,1.5) +\multido{\nStart=0.0+0.0833}{13}{% +\psArrowCivil[RotArrows=0,length=0.2,start=\nStart,% + linecolor=black](A0)(V){} +% Lateral load (i.e. wind) +\psArrowCivil[RotArrows=180,length=0.2,start=\nStart,% + linecolor=blue](B)(B0){}} +\end{pspicture} +\end{LTXexample} + + + +\clearpage +\section{Distributed load for all beams} +\begin{LTXexample} +\begin{pspicture}(-1,-2)(13,2) +\psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=gray] +\pnode(0,0) {A} \pnode(12,0) {B} \pnode(12,0.4) {B1} + \node (A) + \rput(-0.5,0){\Large A} + \rput(12.5,0){\Large B} +\psline[linecolor=blue,linewidth=1.5pt](A)(B) % join A-B +%------------------------------------------------------------ + \psframe[linecolor=blue,fillcolor=green,fillstyle=solid](A)(B1) +% +% distributed load for all beams +\multido{\nBegin=0+0.025}{41}{% +\psArrowCivil[RotArrows=0,length=0.4,start=\nBegin,% + linecolor=black](A)(B){}} +% +% recursive routine + \multido{\rStart=0.00+3.00}{5}{% + \pnode(0,0){E1} + \pnode(\rStart,0){E2} + \rput{0}(E2){\hinge} + \psline[linecolor=blue,arrowinset=0,arrowsize=1mm]{o-o}(E1)(E2)} +\end{pspicture} +\end{LTXexample} + +\clearpage +\section{Distributed load for all beams} + +\begin{center} +\psset{xunit=0.5cm,yunit=0.5cm} % Scaling +\begin{pspicture}(-3,-2)(16,32) +\psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=magenta] +% ------ KNOTS definition ----------- +\pnode(0,0) {A0}\pnode(5,0) {B0} \pnode(12,0) {C0} + \node (A0) \node (B0) \node (C0) +\pnode(0,30) {A10} \pnode(5,30) {B10} \pnode(12,30) {C10} + +%------------------------ +\pnode(5,27) {B9}\pnode(5,24) {B8} +\pnode(5,6) {B2} \pnode(5,9) {B3} +%------------------------ +\pnode(14,9) {D3} \pnode(14,12) {D4} +\pnode(14,15) {D5}\pnode(14,18) {D6} +\pnode(14,21) {D7} +%------------------------ +\pnode(0,27) {A9}\pnode(12,27) {C9} +\pnode(0,24) {A8}\pnode(12,24) {C8} +\pnode(0,21) {A7}\pnode(12,21) {C7} +\pnode(0,18) {A6}\pnode(12,18) {C6} +\pnode(0,15) {A5}\pnode(12,15) {C5} +\pnode(0,12) {A4} \pnode(12,12) {C4} +\pnode(0,9) {A3} \pnode(12,9) {C3} +\pnode(0,6) {A2} \pnode(12,6) {C2} +\pnode(0,3) {A1} \pnode(12,3) {C1} +% +% ------ Structure drawing and fixed ends position ----------- + \psline[linecolor=black,linewidth=0.05](A0)(A10) + \psline[linecolor=black,linewidth=0.05](C0)(C10) +% + \psline[linecolor=black,linewidth=0.05](B9)(B10) + \psline[linecolor=black,linewidth=0.05](B3)(B8) + \psline[linecolor=black,linewidth=0.05](B0)(B2) +% + \psline[linecolor=black,linewidth=0.05](A10)(C10) + \psline[linecolor=black,linewidth=0.05](A9)(C9) + \psline[linecolor=black,linewidth=0.05](A8)(C8) + \psline[linecolor=black,linewidth=0.05](A7)(D7) + \psline[linecolor=black,linewidth=0.05](A6)(D6) + \psline[linecolor=black,linewidth=0.05](A5)(D5) + \psline[linecolor=black,linewidth=0.05](A4)(D4) + \psline[linecolor=black,linewidth=0.05](A3)(D3) + \psline[linecolor=black,linewidth=0.05](A2)(C2) + \psline[linecolor=black,linewidth=0.05](A1)(C1) +% + \psline[linecolor=black,linewidth=0.05](D3)(D7) + \rput{0}(A0){\fixedend} % bottom FE, column A + \rput{0}(B0){\fixedend} % bottom FE, column B + \rput{0}(C0){\fixedend} % bottom FE, column C +% ------ Loads: Position and naming ----------- +\psArrowCivil[RotArrows=90,length=1.0,start=0,% + linecolor=blue,OffsetLabel=0.2](A10)(B10){\rput{0}{\scriptsize 0.25 t}} +\psArrowCivil[RotArrows=90,length=1.5,start=0,% + linecolor=blue,OffsetLabel=0.2](A9)(B9){\rput{0}{\scriptsize 0.50 t}} +\psArrowCivil[RotArrows=90,length=1.5,start=0,% + linecolor=blue,OffsetLabel=0.2](A8)(B8){\rput{0}{\scriptsize 0.50 t}} +\psArrowCivil[RotArrows=90,length=1.5,start=0,% + linecolor=blue,OffsetLabel=0.2](A7)(C7){\rput{0}{\scriptsize 0.50 t}} +\psArrowCivil[RotArrows=90,length=1.5,start=0,% + linecolor=blue,OffsetLabel=0.2](A6)(C6){\rput{0}{\scriptsize 0.50 t}} +\psArrowCivil[RotArrows=90,length=1.5,start=0,% + linecolor=blue,OffsetLabel=0.2](A5)(C5){\rput{0}{\scriptsize 0.50 t}} +\psArrowCivil[RotArrows=90,length=1.5,start=0,% + linecolor=blue,OffsetLabel=0.2](A4)(C4){\rput{0}{\scriptsize 0.50 t}} +\psArrowCivil[RotArrows=90,length=1.5,start=0,% + linecolor=blue,OffsetLabel=0.2](A3)(B3){\rput{0}{\scriptsize 0.50 t}} +\psArrowCivil[RotArrows=90,length=1.5,start=0,% + linecolor=blue,OffsetLabel=0.2](A2)(B2){\rput{0}{\scriptsize 0.50 t}} +\psArrowCivil[RotArrows=90,length=1.5,start=0,% + linecolor=blue,OffsetLabel=0.2](A1)(C1){\rput{0}{\scriptsize 0.50 t}} +% +% ------ Spans measures ----------- + \pcline [offset=-0.5]{|-|}(0,0)(5,0) \lput*{:U}{\scriptsize 5.00} + \pcline [offset=-0.5]{|-|}(5,0)(12,0) \lput*{:U}{\scriptsize 7.00} + \pcline [offset=-0.5]{|-|}(12,0)(14,0) \lput*{:U}{\scriptsize 2.00} +%------------------------ + \pcline [offset=-0.5]{|-|}(14,0)(14,3) \lput*{:U}{\scriptsize 3.00} + \pcline [offset=-0.5]{|-|}(14,3)(14,6) \lput*{:U}{\scriptsize 3.00} + \pcline [offset=-0.5]{|-|}(14,6)(14,9) \lput*{:U}{\scriptsize 3.00} + \pcline [offset=-0.5]{|-|}(14,9)(14,12) \lput*{:U}{\scriptsize 3.00} + \pcline [offset=-0.5]{|-|}(14,12)(14,15)\lput*{:U}{\scriptsize 3.00} + \pcline [offset=-0.5]{|-|}(14,15)(14,18)\lput*{:U}{\scriptsize 3.00} + \pcline [offset=-0.5]{|-|}(14,18)(14,21)\lput*{:U}{\scriptsize 3.00} + \pcline [offset=-0.5]{|-|}(14,21)(14,24)\lput*{:U}{\scriptsize 3.00} + \pcline [offset=-0.5]{|-|}(14,24)(14,27)\lput*{:U}{\scriptsize 3.00} + \pcline [offset=-0.5]{|-|}(14,27)(14,30)\lput*{:U}{\scriptsize 3.00} +\end{pspicture} +\end{center} + + +\begin{lstlisting} +\psset{xunit=0.5cm,yunit=0.5cm} % Scaling +\begin{pspicture}(-3,-2)(16,32) +\psgrid[subgriddiv=0,griddots=10,gridlabels=7pt,gridcolor=magenta] +% ------ KNOTS definition ----------- +\pnode(0,0) {A0}\pnode(5,0) {B0} \pnode(12,0) {C0} + \node (A0) \node (B0) \node (C0) +\pnode(0,30) {A10} \pnode(5,30) {B10} \pnode(12,30) {C10} + +%------------------------ +\pnode(5,27) {B9}\pnode(5,24) {B8} +\pnode(5,6) {B2} \pnode(5,9) {B3} +%------------------------ +\pnode(14,9) {D3} \pnode(14,12) {D4} +\pnode(14,15) {D5}\pnode(14,18) {D6} +\pnode(14,21) {D7} +%------------------------ +\pnode(0,27) {A9}\pnode(12,27) {C9} +\pnode(0,24) {A8}\pnode(12,24) {C8} +\pnode(0,21) {A7}\pnode(12,21) {C7} +\pnode(0,18) {A6}\pnode(12,18) {C6} +\pnode(0,15) {A5}\pnode(12,15) {C5} +\pnode(0,12) {A4} \pnode(12,12) {C4} +\pnode(0,9) {A3} \pnode(12,9) {C3} +\pnode(0,6) {A2} \pnode(12,6) {C2} +\pnode(0,3) {A1} \pnode(12,3) {C1} +% +% ------ Structure drawing and fixed ends position ----------- + \psline[linecolor=black,linewidth=0.05](A0)(A10) + \psline[linecolor=black,linewidth=0.05](C0)(C10) +% + \psline[linecolor=black,linewidth=0.05](B9)(B10) + \psline[linecolor=black,linewidth=0.05](B3)(B8) + \psline[linecolor=black,linewidth=0.05](B0)(B2) +% + \psline[linecolor=black,linewidth=0.05](A10)(C10) + \psline[linecolor=black,linewidth=0.05](A9)(C9) + \psline[linecolor=black,linewidth=0.05](A8)(C8) + \psline[linecolor=black,linewidth=0.05](A7)(D7) + \psline[linecolor=black,linewidth=0.05](A6)(D6) + \psline[linecolor=black,linewidth=0.05](A5)(D5) + \psline[linecolor=black,linewidth=0.05](A4)(D4) + \psline[linecolor=black,linewidth=0.05](A3)(D3) + \psline[linecolor=black,linewidth=0.05](A2)(C2) + \psline[linecolor=black,linewidth=0.05](A1)(C1) +% + \psline[linecolor=black,linewidth=0.05](D3)(D7) + \rput{0}(A0){\fixedend} % bottom FE, column A + \rput{0}(B0){\fixedend} % bottom FE, column B + \rput{0}(C0){\fixedend} % bottom FE, column C +% ------ Loads: Position and naming ----------- +\psArrowCivil[RotArrows=90,length=1.0,start=0,% + linecolor=blue,OffsetLabel=0.2](A10)(B10){\rput{0}{\scriptsize 0.25 t}} +\psArrowCivil[RotArrows=90,length=1.5,start=0,% + linecolor=blue,OffsetLabel=0.2](A9)(B9){\rput{0}{\scriptsize 0.50 t}} +\psArrowCivil[RotArrows=90,length=1.5,start=0,% + linecolor=blue,OffsetLabel=0.2](A8)(B8){\rput{0}{\scriptsize 0.50 t}} +\psArrowCivil[RotArrows=90,length=1.5,start=0,% + linecolor=blue,OffsetLabel=0.2](A7)(C7){\rput{0}{\scriptsize 0.50 t}} +\psArrowCivil[RotArrows=90,length=1.5,start=0,% + linecolor=blue,OffsetLabel=0.2](A6)(C6){\rput{0}{\scriptsize 0.50 t}} +\psArrowCivil[RotArrows=90,length=1.5,start=0,% + linecolor=blue,OffsetLabel=0.2](A5)(C5){\rput{0}{\scriptsize 0.50 t}} +\psArrowCivil[RotArrows=90,length=1.5,start=0,% + linecolor=blue,OffsetLabel=0.2](A4)(C4){\rput{0}{\scriptsize 0.50 t}} +\psArrowCivil[RotArrows=90,length=1.5,start=0,% + linecolor=blue,OffsetLabel=0.2](A3)(B3){\rput{0}{\scriptsize 0.50 t}} +\psArrowCivil[RotArrows=90,length=1.5,start=0,% + linecolor=blue,OffsetLabel=0.2](A2)(B2){\rput{0}{\scriptsize 0.50 t}} +\psArrowCivil[RotArrows=90,length=1.5,start=0,% + linecolor=blue,OffsetLabel=0.2](A1)(C1){\rput{0}{\scriptsize 0.50 t}} +% +% ------ Spans measures ----------- + \pcline [offset=-0.5]{|-|}(0,0)(5,0) \lput*{:U}{\scriptsize 5.00} + \pcline [offset=-0.5]{|-|}(5,0)(12,0) \lput*{:U}{\scriptsize 7.00} + \pcline [offset=-0.5]{|-|}(12,0)(14,0) \lput*{:U}{\scriptsize 2.00} +%------------------------ + \pcline [offset=-0.5]{|-|}(14,0)(14,3) \lput*{:U}{\scriptsize 3.00} + \pcline [offset=-0.5]{|-|}(14,3)(14,6) \lput*{:U}{\scriptsize 3.00} + \pcline [offset=-0.5]{|-|}(14,6)(14,9) \lput*{:U}{\scriptsize 3.00} + \pcline [offset=-0.5]{|-|}(14,9)(14,12) \lput*{:U}{\scriptsize 3.00} + \pcline [offset=-0.5]{|-|}(14,12)(14,15)\lput*{:U}{\scriptsize 3.00} + \pcline [offset=-0.5]{|-|}(14,15)(14,18)\lput*{:U}{\scriptsize 3.00} + \pcline [offset=-0.5]{|-|}(14,18)(14,21)\lput*{:U}{\scriptsize 3.00} + \pcline [offset=-0.5]{|-|}(14,21)(14,24)\lput*{:U}{\scriptsize 3.00} + \pcline [offset=-0.5]{|-|}(14,24)(14,27)\lput*{:U}{\scriptsize 3.00} + \pcline [offset=-0.5]{|-|}(14,27)(14,30)\lput*{:U}{\scriptsize 3.00} +\end{pspicture} +\end{lstlisting} + +\psset{unit=1cm} % Scaling + +\clearpage +\section{Simple Beam with one overhang: TRIANGULAR distributed load p} + +\begin{LTXexample} +\begin{pspicture}(-1,-3.5)(9,1.5) +\pnode(0,0) {A}\pnode(2,0) {B}\pnode(8,0) {C} +\rput{0}(C){\hinge}\rput{0}(B){\roller} +\psline[linecolor=red,fillcolor=yellow,fillstyle=solid](0,0)(8,0)(8,1)(0,0) +\multido{\nStart=1.00+0.025}{-37}{% + \psArrowCivil[RotArrows=0,length=\nStart,start=\nStart,% + linecolor=magenta](A)(C){}} +\rput(8.3,0.4){\large p} \rput(0,-0.4){\Large A} +\rput(2,-1){\Large B} \rput(8.3,-0.6){\Large C} +\pcline[offset=0,linecolor=blue]{|-|}(0,-3)(2,-3) \lput*{:U}{\bf $\frac{l}{3}$} +\pcline[offset=0,linecolor=blue]{|-|}(2,-3)(8,-3) \lput*{:U}{\bf $l$} +%%%======================================================================== +% Paramenters: #1 p = 6 #2 l = 6 #3 scale factor =0.15 +%----------- Bending Moment in span AB ---------------------- +\def\MflettAB#1#2#3{#1 #2 div -.125 mul x mul x mul x mul #3 mul neg} +\pscustom[linecolor=blue,linewidth=1pt,fillstyle=hlines]{ + \psplot[]{0}{2}{\MflettAB{6}{6}{0.15}}\psline[](2,0)(0,0)} +%----------- Shear in span AB ---------------------- +\def\TaglioAB#1#2#3{#1 #2 div -.375 mul x mul x mul #3 mul} +\pscustom[linecolor=green,linewidth=1pt,fillstyle=crosshatch]{ + \psplot[]{0}{2}{\TaglioAB{6}{6}{0.15}}\psline[](2,0)(0,0)} +%----------- Bending Moment in span BC ---------------------- +\def\MflettBC#1#2#3{#1 #2 div -.125 mul x mul x mul x mul + #1 3.375 div #2 mul x mul add #1 10.125 div #2 mul #2 mul sub #3 mul neg} +\pscustom[linecolor=blue,linewidth=1pt,fillstyle=hlines]{% + \psplot[]{2}{8}{\MflettBC{6}{6}{0.15}}\psline[](8,0)(2,0)} +%----------- Shear in span BC ---------------------- +\def\TaglioBC#1#2#3{#1 #2 div -.375 mul x mul x mul + #1 3.375 div #2 mul add #3 mul} +\pscustom[linecolor=green,linewidth=1pt,fillstyle=crosshatch]{% + \psplot[]{2}{8}{\TaglioBC{6}{6}{0.15}}\psline[](8,0)(2,0)(2,1.4)} +%%%======================================================================== +\psline[linewidth=1.5pt](0,0)(8,0) % Printing beam AC after diagrams BM/S +\rput(3,1.6){\em {\scriptsize Shear diagram (green boundary)}} +\rput(3,-1.6){\em {\scriptsize Bending Moment diagram (blue boundary)}} +\rput(2,-1.9){\scriptsize [assumed positive downwards]} +\rput(5,-1){\bf {\large +}} \rput(2.5,0.6){\bf {\large +}} +\rput(7.7,-1.3){\bf {\Large -}} +\end{pspicture} +\end{LTXexample} + + +\end{document} diff --git a/Master/texmf-dist/tex/generic/pst-stru/pst-stru.tex b/Master/texmf-dist/tex/generic/pst-stru/pst-stru.tex new file mode 100644 index 00000000000..1500a80ed77 --- /dev/null +++ b/Master/texmf-dist/tex/generic/pst-stru/pst-stru.tex @@ -0,0 +1,316 @@ +%% +%% This is file `pst-stru.tex', +%% +%% IMPORTANT NOTICE: +%% +%% Package `pst-stru.tex' +%% +%% Authors : Giuseppe Matarazza <joematara@hotmail.com> +%% Manuel LUQUE <Mluque5130@aol.com> +%% Herbert Voss <voss@pstricks.de> (pst-xkey) +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +%% +%% DESCRIPTION: +%% `pst-stru' is a PSTricks package for civil engineers +%% +\csname PSTCircLoaded\endcsname +\let\PSTCircLoaded\endinput +% Require PSTricks and pst-node packages +\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi +\ifx\PSTnodesLoaded\endinput\else\input pst-node.tex\fi +\ifx\PSTnodesLoaded\endinput\else\input pst-plot.tex\fi +\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey\fi +% +\def\fileversion{0.12}% +\def\filedate{2006/10/26}% +\message{`PST-Stru v\fileversion, \filedate\space (GM, ML)}% +% +\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax +\pst@addfams{pst-stru} +% +\SpecialCoor +\psset{dimen=middle} +\newdimen\Start +\newdimen\debut +\newdimen\fin +\newdimen\Pst@Pos +\newcount\PAS +% +\define@boolkey[psset]{pst-stru}[Pst@]{node}[true]{} +\define@key[psset]{pst-stru}{position}{\def\psk@circuit@Pos{#1}} +\define@key[psset]{pst-stru}{OffsetLabel}{\def\psk@Label@Offset{#1}} +\define@key[psset]{pst-stru}{OffsetDipole}{\def\psk@Dipole@Offset{#1}} +\define@key[psset]{pst-stru}{AngleLabel}{\def\psk@Angle@Label{#1}} +\psset{position=0.5,node=false,OffsetLabel=0.70,OffsetDipole=0,AngleLabel=0} +%Commande permettant de placer un dipôle entre deux noeuds +% +\def\circput{\@ifnextchar[{\pst@circput}{\pst@circput[]}} +\def\pst@circput[#1](#2)(#3)#4#5{{% +\psset{#1} +\Pst@Pos=\psk@circuit@Pos pt +\multiply\Pst@Pos by 2 +\def\Position{\pst@number\Pst@Pos} +\pst@getcoor{#2}\pst@tempa +\pst@getcoor{#3}\pst@tempb +\pnode(!% + /k \psk@circuit@Pos\space def + \pst@tempa /Y1 exch \pst@number\psyunit div def + /X1 exch \pst@number\psxunit div def + \pst@tempb /Y2 exch \pst@number\psyunit div def + /X2 exch \pst@number\psxunit div def + /XM X1 1 k sub mul X2 k mul add def + /YM Y1 1 k sub mul Y2 k mul add def + /deno X2 X1 sub def + /num Y2 Y1 sub def + /angle num deno Atan def + /XE1 XM 1 angle cos mul sub def + /YE1 YM 1 angle sin mul sub def + /XE2 XM 1 angle cos mul add def + /YE2 YM 1 angle sin mul add def + XM YM){M@} +\pnode(! XE1 YE1){E@1} +\pnode(! XE2 YE2){E@2} +\pcline(E@1)(#2) +\pcline(E@2)(#3) +\ncline[linestyle=none]{#2}{#3} +\ncput[npos=\Position]{\pnode{Temp}} +\pcline[linestyle=none,offset=\psk@Dipole@Offset](#2)(Temp) +\lput{:U}{#4} +\pcline[linestyle=none,offset=\psk@Label@Offset](#2)(Temp) +\lput{\psk@Angle@Label}{#5} + }} +% Commande permettant de dessiner une flèche de longueur variable +% entre deux noeuds +\define@key[psset]{pst-stru}{length}{\edef\psk@circuit@Arrowlenght{#1}} +\define@key[psset]{pst-stru}{start}{\edef\psk@circuit@start{#1}} +\psset{length=1,start=0.5} +% +\def\psArrow{\@ifnextchar[{\pst@Arrow}{\pst@Arrow[]}} +\def\pst@Arrow[#1](#2)(#3)#4{{% +\psset{#1} +\pst@getcoor{#2}\pst@tempa +\pst@getcoor{#3}\pst@tempb +\pnode(!% + /length \psk@circuit@Arrowlenght\space def + /K \psk@circuit@start\space def + \pst@tempa /Y1 exch \pst@number\psyunit div def + /X1 exch \pst@number\psxunit div def + \pst@tempb /Y2 exch \pst@number\psyunit div def + /X2 exch \pst@number\psxunit div def + /XM X1 1 K sub mul X2 K mul add def + /YM Y1 1 K sub mul Y2 K mul add def + \pst@tempa /Y1 exch \pst@number\psyunit div def + /X1 exch \pst@number\psxunit div def + \pst@tempb /Y2 exch \pst@number\psyunit div def + /X2 exch \pst@number\psxunit div def + /Angle Y2 Y1 sub X2 X1 sub Atan def + /XE1 XM length Angle cos mul add def + /YE1 YM length Angle sin mul add def + XE1 YE1){E@}% +\pnode(! XM YM){M@@} +\psset{arrows=->} +\psline[#1](M@@)(E@)% +\pcline[linestyle=none,offset=\psk@Label@Offset,arrows=-](M@@)(E@) +\lput{\psk@Angle@Label}{#4} +}} + +% +\def\node(#1){% +\pscircle*(#1){2\pslinewidth} +} +\def\arrow{% + \psline[arrowinset=0,arrowscale=1.0,linewidth=0.75\pslinewidth]{->}(-2,0)(0,0)% + } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Structural Engineering: MACROs +% Updating: +% 7-10-2003 1) \def\fixedend +% 7-10-2003 2) macro \psArrowCivil +% 8-10-2003 3) macro \psArrowCivil: revised on loads label position +% 11-10-2003 4) \def\hinge, \def\roller, \def\guide, \interhinge, +% \def\clockCouple, \def\noclockCouple +% +% 25-10-2003 5) macro \triload for Parameterized Structure ps_01 +% 2-11-2003 6) updating the above macro +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\fixedend{% + \psframe[fillstyle=vlines,linestyle=none,hatchwidth=0.5\pslinewidth](-0.5,0)(0.5,-0.2) + \psline[linewidth=1.5\pslinewidth](-0.5,0)(0.5,0) + } + +\def\hinge{% + \psframe[fillstyle=vlines,linestyle=none,hatchwidth=0.5\pslinewidth](-0.3,-0.45)(0.3,-0.3) + \psline[linewidth=1.5\pslinewidth](-0.3,-0.3)(0.3,-0.3) + \psline(0,0)(-0.3,-0.3) + \psline(0,0)(0.3,-0.3) + } + +\def\interhinge{% + \pscircle[fillstyle=solid](0,0){0.1} + } + +\def\guide{% + \psframe[fillstyle=vlines,linestyle=none,hatchwidth=0.5\pslinewidth](-0.3,-0.3)(0.3,-0.1) + \psline[linewidth=1.5\pslinewidth](-0.3,-0.1)(0.3,-0.1) + \psline[linewidth=1.5\pslinewidth](-0.3,0.1)(0.3,0.1) + \psframe[fillstyle=vlines,linestyle=none,hatchwidth=0.5\pslinewidth](-0.3,0.3)(0.3,0.1) + } + +\def\roller{% + \psframe[fillstyle=vlines,linestyle=none,hatchwidth=0.5\pslinewidth](-0.3,-0.7)(0.3,-0.5) + \psline[linewidth=1.5\pslinewidth](-0.3,-0.3)(0.3,-0.3) + \psline(0,0)(-0.3,-0.3) + \psline(0,0)(0.3,-0.3) + \psline(-0.3,-0.5)(0.3,-0.5) + \pscircle(-0.15,-0.4){0.1} + \pscircle(0.15,-0.4){0.1} + } + +\def\noclockCouple{% +\psset{arrowsize=1.8mm} + \psarc{->}(0,0){0.5}{280}{60} + } + +\def\clockCouple{% +\psset{arrowsize=1.8mm} + \psarc{<-}(0,0){0.5}{120}{260} + } + +%% Macro \psArrowCivil +%% =================== +\define@key[psset]{pst-stru}{RotArrows}{\edef\psk@circ@RotArrows{#1}} +\psset{RotArrows=0} + +\def\psArrowCivil{\@ifnextchar[{\pst@ArrowCivil}{\pst@ArrowCivil[]}} + +\def\pst@ArrowCivil[#1](#2)(#3)#4{{% +\psset{#1} +\pst@getcoor{#2}\pst@tempa +\pst@getcoor{#3}\pst@tempb +\pnode(!% + /length \psk@circuit@Arrowlenght\space def + /K \psk@circuit@start\space def + \pst@tempa /Y1 exch \pst@number\psyunit div def + /X1 exch \pst@number\psxunit div def + \pst@tempb /Y2 exch \pst@number\psyunit div def + /X2 exch \pst@number\psxunit div def + /XM X1 1 K sub mul X2 K mul add def + /YM Y1 1 K sub mul Y2 K mul add def + \pst@tempa /Y1 exch \pst@number\psyunit div def + /X1 exch \pst@number\psxunit div def + \pst@tempb /Y2 exch \pst@number\psyunit div def + /X2 exch \pst@number\psxunit div def + /Angle Y2 Y1 sub X2 X1 sub Atan def + /RotArrows 180 90 \psk@circ@RotArrows\space add Angle add sub def + /XC XM length RotArrows cos mul sub def + /YC YM length RotArrows sin mul add def + XC YC){C@}% +\pnode(! XM YM){M@@} +\psset{arrows=->} +\psline[#1](C@)(M@@)% +\pcline[linestyle=none,offset=\psk@Label@Offset,arrows=-](C@)(M@@) +%\lput{\psk@Angle@Label}{#4} +\lput{:U}{#4} +}} +%% +%% End: Macro \psArrowCivil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Starting Macro \triload +%% ======================= +% +\define@key[psset]{pst-stru}{K}{\edef\psk@triload@K{#1}} +\define@key[psset]{pst-stru}{L}{\edef\psk@triload@L{#1}} +\define@key[psset]{pst-stru}{P}{\edef\psk@triload@P{#1}} +\define@key[psset]{pst-stru}{scaleFactor}{\edef\psk@triload@F{#1}} +\psset{K=3,L=6,P=6,scaleFactor=0.15} +\def\triload{\@ifnextchar[{\pst@triload}{\pst@triload[]}} +\def\pst@triload[#1]{{% +\psset{#1} +\pnode(0,0){A} +\pnode(! /xB \psk@triload@L\space \psk@triload@K\space mul def xB 0){B} +\pnode(! /xC \psk@triload@K\space 1 add \psk@triload@L\space mul def xC 0){C} +% +\pnode(! /xB1 \psk@triload@L\space \psk@triload@K\space mul def xB1 -1){B1} +\pnode(! /xC1 \psk@triload@K\space 1 add \psk@triload@L\space mul def xC1 -1){C1} +% +\pnode(! /xB2 \psk@triload@L\space \psk@triload@K\space mul def xB2 -3){B2} +\pnode(! /xC2 \psk@triload@K\space 1 add \psk@triload@L\space mul def xC2 -3){C2} +% +\pnode(! /xC3 \psk@triload@K\space 1 add \psk@triload@L\space mul 0.25 add def xC3 0.5){C3} +% +\rput{0}(C){\hinge} +\rput{0}(B){\roller} +\psline[linecolor=red,fillcolor=yellow,fillstyle=solid](0,0)(!xC 0)(! xC 1)(0,0) +% +% + \rput(1,-2){$k=\psk@triload@K\space \quad l=\psk@triload@L\space$} + + \rput(C3){\Large p} + + \rput(0,-0.4){\Large A} + \rput(B1){\Large B} + \rput(C1){\Large C} +% +\pcline[offset=0,linecolor=blue]{|-|}(0,-3)(B2) +\lput*{:U}{\bf $k\cdot l$} +\pcline[offset=0,linecolor=blue]{|-|}(B2)(C2) +\lput*{:U}{\bf $l$} + +% --------- Triangular Distributed Load ------------------------- +\multido{\nStart=1.00+0.025}{-37}{% +\psArrowCivil[RotArrows=0,length=\nStart,start=\nStart,% + linecolor=magenta](A)(C){}} +% définir les fonctions ici +\pnode(! /func1 {\psk@triload@K\space 1 add \psk@triload@P\space exch div + -6.0 div \psk@triload@L\space div x mul x mul x mul + \psk@triload@F\space mul neg} def + /func2 {\psk@triload@K\space 1 add \psk@triload@P\space exch div + -2.0 div \psk@triload@L\space div x mul x mul + \psk@triload@F\space mul} def + /func3 {\psk@triload@K\space 1 add \psk@triload@P\space exch div + -6.0 div \psk@triload@L\space div x mul x mul x mul + \psk@triload@K\space \psk@triload@L\space mul neg x add + \psk@triload@K\space 1 add mul + \psk@triload@K\space 1 add mul + \psk@triload@P\space mul 6.0 div \psk@triload@L\space mul add + \psk@triload@F\space mul neg} def + /func4 {\psk@triload@K\space 1 add \psk@triload@P\space exch div + -2.0 div \psk@triload@L\space div x mul x mul + \psk@triload@K\space 1 add + \psk@triload@K\space 1 add mul 6.0 div + \psk@triload@P\space mul \psk@triload@L\space mul add + \psk@triload@F\space mul} def + 0 0){Temp} + +%----------- Bending Moment in span AB ---------------------- +\pscustom[linecolor=blue,linewidth=1pt,fillstyle=hlines]{ +\psplot{0}{xB}{func1} +\psline(B)(A)} +%----------- Shear in span AB ---------------------- +\pscustom[linecolor=green,linewidth=1pt,fillstyle=crosshatch]{ + \psplot{0}{xB}{func2} + \psline(B)(A)} +% +% ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ +% +% ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ +% +%----------- Bending Moment in span BC ---------------------- +\pscustom[linecolor=blue,linewidth=1pt,fillstyle=hlines]{ +\psplot{xB}{xC}{func3} +\psline(C)(B)} +%----------- Shear in span BC ---------------------- + \pscustom[linecolor=green,linewidth=1pt,fillstyle=crosshatch]{ + \psplot{xB}{xC}{func4} + +% Closing Shear diagram in bearing B (right side) + \psline(C)(B)(! xB /x xB def func4)} +}} +\catcode`\@=\PstAtCode\relax +%% +%% End: Macro \triload %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% END: pst-stru.tex diff --git a/Master/texmf-dist/tex/latex/pst-stru/pst-stru.sty b/Master/texmf-dist/tex/latex/pst-stru/pst-stru.sty new file mode 100644 index 00000000000..7efee09646b --- /dev/null +++ b/Master/texmf-dist/tex/latex/pst-stru/pst-stru.sty @@ -0,0 +1,8 @@ +\RequirePackage{pstricks} +\RequirePackage{multido} +\ProvidesPackage{pst-stru}[2006/10/25 package wrapper for + pst-stru.tex (hv)] +\input{pst-stru.tex} +\ProvidesFile{pst-stru.tex} + [\filedate\space v\fileversion\space `PST-Stru' (ML/GM)] +\endinput |