forked from hackl/TikZ-StructuralAnalysis
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstanli.tex
5473 lines (4408 loc) · 175 KB
/
stanli.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
%=============================================================================
% File: stanli.tex -- Structural Analysis Library based on PGF/TikZ
% Author(s): Juergen Hackl <hackl.j@gmx.at>
% Creation: 20 Dec 2016
% Time-stamp: <Mit 2016-12-21 10:22 juergen>
%
% Copyright (c) 2016 Juergen Hackl <hackl.j@gmx.at>
%
% More information on LaTeX: http://www.latex-project.org/
%=============================================================================
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[%
a4paper,
BCOR20mm,
pointlessnumbers,
twoside,
halfparskip,
openright,
]{scrreprt}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% PACKAGES
\usepackage[english]{babel}
\usepackage[latin1]{inputenc}
\usepackage{ae,aecompl}
\usepackage[automark]{scrlayer-scrpage}
\usepackage[pdftex]{graphicx}
\usepackage[margin=0.75in]{geometry}
\usepackage{xcolor}
\usepackage{listings}
\usepackage{stanli}
\usetikzlibrary{backgrounds}
\usepackage[%
pdftex=true,
hypertexnames=true,
plainpages=false,
pdfpagelabels,
pagebackref=false,
colorlinks=false,
bookmarks=true,
bookmarksopen=true,
bookmarksnumbered=true,
pdftitle={TikZ Library for Structural Analysis},
pdfauthor={Juergen HACKL},
pdfcreator={Accomplished with LaTeX2e and pdfLaTeX with hyperref-package.},
]{hyperref}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% SELF-DEFINED MACROS
\newcommand{\tikzsym}{Ti\emph{k}Z }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Header, Footer, Page format
\setlength{\paperheight}{30cm}
\setlength{\textheight}{24.5cm}
\setlength{\paperwidth}{21cm}
\setlength{\textwidth}{16.8cm}
\setlength{\oddsidemargin}{-0.3cm}
\setlength{\evensidemargin}{-0.3cm}
\setlength{\parindent}{0cm}
\setlength{\topmargin}{-1.9cm}
\setlength{\headsep}{1.3cm}
\setlength{\footskip}{1.5cm}
\pagestyle{scrheadings}
\setheadsepline{.4pt}
\automark[section]{chapter}
\clearscrheadfoot
\ohead[]{\footnotesize{\headmark}}
\ifoot{\footnotesize{TikZ Library for Structural Analysis}}
\ofoot[\footnotesize{\pagemark}]{\footnotesize{\pagemark}}
\addtokomafont{caption}{\small}
\addtokomafont{captionlabel}{\small}
\setkomafont{captionlabel}{\sffamily\bfseries}
\graphicspath{{./pictures/}}
\definecolor{ibfblue}{cmyk}{0.49,0.22,.15,0}
\lstset{ %
basicstyle=\scriptsize\ttfamily,
commentstyle=\itshape\color{black!70},
stepnumber=2,
backgroundcolor=\color{ibfblue!40},
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=2,
captionpos=b,
breaklines=true,
breakatwhitespace=false,
title=\lstname,
escapeinside={+*}{*+},
morekeywords={*,...},
stringstyle=\ttfamily,
emphstyle={\color{red}\bfseries},
}
% Add some basic infrastructure for index creation
\newcommand{\STNLindexcommand}[2][]{\index{#2@\texttt{\char`\\#2}#1}}
% Write command as \texttt{\command}, but sorted after command
% Usage: \STNLindexcommand{command},
% \STNLindexcommand[|textbf]{command},
% \STNLindexcommand[|textit]{command}
\usepackage{makeidx}
\makeindex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% DOCUMENT
\begin{document}
\tikzset{background rectangle/.style={fill=yellow!30}}
\pagenumbering{Roman}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% contents: Titlepage %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{titlepage}
\begin{center}
\vspace{25mm}
\textsf{\textbf{\huge Ti\textit{k}Z Library for Structural Analysis}}\\
\Large{\texttt{stanli} User Guide, Version 3.0}\\
\vspace{5mm}
\Large{J\"urgen Hackl}\\
\normalsize \href{mailto:hackl.j@gmx.at}{hackl.j@gmx.at}\\
\vspace{5mm}
\today
\begin{tikzpicture}[framed]
\scaling{.65};
\point{a}{0}{1}; %2
\point{b}{3}{1}; %3
\point{c}{11}{3}; %4
\point{d}{19}{1}; %5
\point{e}{22}{1}; %6
\point{f}{3}{0}; %1
\point{g}{11}{-2}; %8
\point{h}{19}{0}; %7
\beam{1}{a}{b}[0][1];
\beam{1}{b}{c}[1][1];
\beam{1}{c}{d}[1][1];
\beam{1}{d}{e}[1][0];
\beam{1}{f}{b};
\beam{1}{d}{h};
\beam{2}{f}{g};
\beam{2}{g}{h};
\beam{2}{g}{c};
\support{1}{f};
\support{2}{h};
\hinge{1}{f};
\hinge{1}{h};
\hinge{1}{g};
\hinge{2}{c}[b][d];
\lineload{2}{a}{b}[1][1][.5];
\lineload{2}{b}{c};
\dimensioning{1}{a}{b}{-2.5}[$3.0$];
\dimensioning{1}{b}{c}{-2.5}[$8.0$];
\dimensioning{1}{c}{d}{-2.5}[$8.0$];
\dimensioning{1}{d}{e}{-2.5}[$3.0$];
\dimensioning{2}{f}{a}{-1}[$1.0$];
\dimensioning{2}{g}{f}{-1}[$2.0$];
\dimensioning{2}{a}{c}{-1}[$2.0$];
\influenceline{a}{e}{3}[.3];
\notation{1}{a}{$1$}[left];
\notation{1}{b}{$2$}[below right=2mm];
\notation{1}{c}{$3$};
\notation{1}{d}{$4$}[above];
\notation{1}{e}{$5$}[above];
\notation{1}{f}{$6$}[left=2mm];
\notation{1}{g}{$7$}[below=2mm];
\notation{1}{h}{$8$}[right=2mm];
\notation{4}{f}{g}[$S$];
\end{tikzpicture}
\begin{minipage}[t]{0.45\linewidth}\begin{lstlisting}
\begin{tikzpicture}
\scaling{.65};
\point{a}{0}{1};
\point{b}{3}{1};
\point{c}{11}{3};
\point{d}{19}{1};
\point{e}{22}{1};
\point{f}{3}{0};
\point{g}{11}{-2};
\point{h}{19}{0};
\beam{1}{a}{b}[0][1];
\beam{1}{b}{c}[1][1];
\beam{1}{c}{d}[1][1];
\beam{1}{d}{e}[1][0];
\beam{1}{f}{b};
\beam{1}{d}{h};
\beam{2}{f}{g};
\beam{2}{g}{h};
\beam{2}{g}{c};
\support{1}{f};
\support{2}{h};
\hinge{1}{f};
\hinge{1}{h};
\end{lstlisting}\vspace{-7mm}
\end{minipage}
\hfill
\begin{minipage}[t]{0.45\linewidth}\begin{lstlisting}
\hinge{1}{g};
\hinge{2}{c}[b][d];
\lineload{2}{a}{b}[1][1][.5];
\lineload{2}{b}{c};
\dimensioning{1}{a}{b}{-2.5}[$3.0$];
\dimensioning{1}{b}{c}{-2.5}[$8.0$];
\dimensioning{1}{c}{d}{-2.5}[$8.0$];
\dimensioning{1}{d}{e}{-2.5}[$3.0$];
\dimensioning{2}{f}{a}{-1}[$1.0$];
\dimensioning{2}{g}{f}{-1}[$2.0$];
\dimensioning{2}{a}{c}{-1}[$2.0$];
\influenceline{a}{e}{3}[.3];
\notation{1}{a}{$1$}[left];
\notation{1}{b}{$2$}[below right=2mm];
\notation{1}{c}{$3$};
\notation{1}{d}{$4$}[above];
\notation{1}{e}{$5$}[above];
\notation{1}{f}{$6$}[left=2mm];
\notation{1}{g}{$7$}[below=2mm];
\notation{1}{h}{$8$}[right=2mm];
\notation{4}{f}{g}[$S$];
\end{tikzpicture}
\end{lstlisting}\vspace{-7mm}
\end{minipage}
\end{center}
\end{titlepage}
.
\vfill
Copyright 2011--2016 by J\"urgen Hackl
\medskip
This work was done in cooperation with the Institute of Structural Analysis of Graz University of Technology.
\medskip
Permission is granted to copy, distribute and/or modify \emph{the documentation} under the terms of the \textsc{gnu} Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled \textsc{gnu} Free Documentation License.
\medskip
Permission is granted to copy, distribute and/or modify \emph{the code of the package} under the terms of the \textsc{gnu} General Public License, Version 2 or any later version published by the Free Software Foundation. A copy of the license is included in the section entitled \textsc{gnu} General Public License.
\medskip
Permission is also granted to distribute and/or modify \emph{both the documentation and the code} under the conditions of the \LaTeX\ Project Public License, either version 1.3c of this license or (at your option) any later version. A copy of the license is included in the section entitled \LaTeX\ Project Public License.
\tableofcontents
\cleardoubleplainpage
% set pagenumbering to arabic and reset counter
\pagenumbering{arabic}
\setcounter{page}{1}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% contents: Commands %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Commands}
\label{sec:Befehlsubersicht}
\section{2D Commands}
\label{sec:2dcom}
\begin{lstlisting}[emph={macroname},backgroundcolor=\color{red!10}]
\macroname{obligatory}{obligatory}{obligatory}[optional][optional];
\end{lstlisting}\vspace{-7mm}
Scaling (see \ref{sec:scaling})
\begin{lstlisting}[emph={scaling},backgroundcolor=\color{white}]
\scaling{scaling_value};
\end{lstlisting}\vspace{-10mm}
Points (see \ref{sec:Punkte})
\begin{lstlisting}[emph={point},backgroundcolor=\color{white}]
\point{name}{x-coordiante}{y-coordiante};
\end{lstlisting}\vspace{-10mm}
Beams and bars (see \ref{sec:BalkenUndStabe})
\begin{lstlisting}[emph={beam},backgroundcolor=\color{white}]
\beam{type}{initial point}{end point}[rounded initial point][rounded end point];
+*\textbf{\{1\} bending beam with characteristic fiber}*+
\beam{1}{initial point}{end point[rounded initial point][rounded end point]};
+*\textbf{\{2\} trussed}*+
\beam{2}{initial point}{end point}[rounded initial point][rounded end point];
+*\textbf{\{3\} hidden bar}*+
\beam{3}{initial point}{end point};
+*\textbf{\{4\} bending beam without characteristic fiber}*+
\beam{4}{initial point}{end point}[rounded initial point][rounded end point];
\end{lstlisting}\vspace{-10mm}
Supports and Bearings (see \ref{sec:Lager})
\begin{lstlisting}[emph={support},backgroundcolor=\color{white}]
\support{type}{insertion point}[rotation];
+*\textbf{\{1\} fixed bearing}*+
\support{1}{insertion point}[rotation];
+*\textbf{\{2\} floating bearing}*+
\support{2}{insertion point}[rotation];
\support{2oo}{insertion point}[rotation];
\support{2ooo}{insertion point}[rotation];
+*\textbf{\{3\} fixed support}*+
\support{3}{insertion point}[rotation];
+*\textbf{\{4\} support}*+
\support{4}{insertion point}[rotation];
\support{4ooo}{insertion point}[rotation];
+*\textbf{\{5\} spring}*+
\support{5}{insertion point}[rotation];
\support{5c}{insertion point}[rotation];
+*\textbf{\{6\} torsion spring}*+
\support{6}{insertion point}[rotation];
\support{6cw}{insertion point}[rotation];
\end{lstlisting}\vspace{-10mm}
Joints and Hinges (see \ref{sec:Gelenke})
\begin{lstlisting}[emph={hinge},backgroundcolor=\color{white}]
\hinge{type}{insertion point}[optional][optional][optional];
+*\textbf{\{1\} full joint}*+
\hinge{1}{insertion point};
+*\textbf{\{2\} half joint}*+
\hinge{2}{insertion point}[initial point][end point][orientation];
+*\textbf{\{3\} shear joint}*+
\hinge{3}{insertion point}[rotation];
\hinge{3ooo}{insertion point}[rotation];
+*\textbf{\{4\} normal force joint}*+
\hinge{4}{insertion point}[rotation];
+*\textbf{\{5\} stiff corner}*+
\hinge{5}{insertion point}[initial point][end point];
\end{lstlisting}\vspace{-10mm}
Single loads (see \ref{sec:Einzellast})
\begin{lstlisting}[emph={load},backgroundcolor=\color{white}]
\load{type}{insertion point}[rotation][length or included angle][loaddistance];
+*\textbf{\{1\} single load}*+
\load{1}{insertion point}[rotation][length][loaddistance];
+*\textbf{\{2\} moment clockwise}*+
\load{2}{insertion point}[rotation][included angle][moment distance];
+*\textbf{\{3\} moment counter clockwise}*+
\load{3}{insertion point}[rotation][included angle][moment distance];
\end{lstlisting}\vspace{-10mm}
Line loads (see \ref{sec:Linienlast})
\begin{lstlisting}[emph={lineload},backgroundcolor=\color{white}]
\lineload{type}{initial point}{end point}[optional][optional][optional][optional];
+*\textbf{\{1\} line load normal to beam axis}*+
\lineload{1}{initial point}{end point}[initial force value][end force value]
[force interval];
+*\textbf{\{2\} line load normal to x-axis}*+
\lineload{2}{initial point}{end point}[initial force value][end force value]
[force interval];
+*\textbf{\{3\} line load projected on the beam}*+
\lineload{3}{initial point}{end point}[initial force value][end force value]
[lineload_distance from inital point][force interval];
+*\textbf{\{4\} line load along the beam axis}*+
\lineload{4}{initial point}{end point}[force interval][force length];
\end{lstlisting}\vspace{-10mm}
Temperature (see \ref{sec:Temperatur})
\begin{lstlisting}[emph={temperature},backgroundcolor=\color{white}]
\temperature{initial point}{end point}{temperature_below}{temperature_above}
[temperature_position][temperature_value_below][temperature_value_above]
[text_orientation_below][text_orientation_above];
\end{lstlisting}\vspace{-10mm}
Internal forces (see \ref{sec:Schnittkraftverlauf})
\begin{lstlisting}[emph={internalforces},backgroundcolor=\color{white}]
\internalforces{initial point}{end point}{initial value}{end value}
[parabola height][color][bend position];
\end{lstlisting}\vspace{-10mm}
Dimensioning (see \ref{sec:Abmessungen})
\begin{lstlisting}[emph={dimensioning},backgroundcolor=\color{white}]
\dimensioning{type}{initial point}{end point}{distance from point of origin}[measure];
+*\textbf{\{1\} dimensioning horizontal}*+
\dimensioning{1}{initial point}{end point}{distance from point of origin}[measure];
+*\textbf{\{2\} dimensioning vertical}*+
\dimensioning{2}{initial point}{end point}{distance from point of origin}[measure];
+*\textbf{\{3\} dimensioning of a shift}*+
\dimensioning{3}{initial point}{end point}{distance from inital point}[measure];
\end{lstlisting}\vspace{-10mm}
Range of the influence line (see \ref{sec:BereichDerEinflusslinie})
\begin{lstlisting}[emph={influenceline},backgroundcolor=\color{white}]
\influenceline{initial point}{end point}{distance from initial point}[arrow position];
\end{lstlisting}\vspace{-10mm}
Labeling and notation (see \ref{sec:Bezeichnungen})
\begin{lstlisting}[emph={notation},backgroundcolor=\color{white}]
\notation{type}{insertion point}{}[][][][];
+*\textbf{\{1\} label}*+
\notation{1}{insertion point}{labelling}[orientation];
+*\textbf{\{2\} label with vertical mark}*+
\notation{2}{insertion point}{labelling}[orientation];
+*\textbf{\{3\} label with mark orthogonal to a line}*+
\notation{3}{initial point}{end point}[labelling][position][orientation];
+*\textbf{\{4\} label in a square}*+
\notation{4}{initial point}{end point}[labelling][position][orientation][text orientation];
+*\textbf{\{5\} label of a line}*+
\notation{5}{initial point}{end point}[labelling][position][orientation][text orientation];
+*\textbf{\{6\} label in a circle}*+
\notation{6}{insertion point}{labelling};
\end{lstlisting}\vspace{-10mm}
Additional symbols (see \ref{sec:ZusatzlicheSymbole})
\begin{lstlisting}[emph={addon},backgroundcolor=\color{white}]
\addon{type}{insertion point}{}{}[];
+*\textbf{\{1\} symbol for parallel lines}*+
\addon{1}{insertion point}{end point}{position};
+*\textbf{\{2\} Symbol for orthogonal lines}*+
\addon{2}{insertion point}{initial point}{end point}[orientation];
+*\textbf{\{3\} arc symbol}*+
\addon{3}{insertion point}{initial point}{end point}[orientation];
\end{lstlisting}\vspace{-10mm}
\newpage
\section{3D Commands}
\label{sec:3dcom}
\begin{lstlisting}[emph={macroname},backgroundcolor=\color{red!10}]
\macroname{obligatory}{obligatory}{obligatory}[optional][optional];
\end{lstlisting}\vspace{-7mm}
Define coordinates (see \ref{sec:3dsetcoords})
\begin{lstlisting}[emph={setcoords},backgroundcolor=\color{white}]
\setcoords{x-angle}{y-angle}[x-direction][y-direction][z-direction][z-angle]
\end{lstlisting}\vspace{-10mm}
Define axes (see \ref{sec:3dsetaxis})
\begin{lstlisting}[emph={setaxis},backgroundcolor=\color{white}]
\setaxis{type}[optional][optional][optional][optional][optional][optional]
+*\textbf{\{1\} global axis with $x,\;y,\;z$ and local axis with $x^\prime,\;y^\prime,\;z^\prime$}*+
\setaxis{1}
+*\textbf{\{2\} global axis with $X,\;Y,\;Z$ and local axis with $x,\;y,\;z$}*+
\setaxis{2}
+*\textbf{\{3\} self defined global and local axes}*+
\setaxis{3}[X-labelling][Y-labelling][Z-labelling][x-labelling][y-labelling]
[z-labelling]
+*\textbf{\{4\} change label orientation for local the local axis}*+
\setaxis{4}[x-orientation][y-orientation][z-orientation];
\end{lstlisting}\vspace{-10mm}
Show point information (see \ref{sec:3dshowpoint})
\begin{lstlisting}[emph={showpoint},backgroundcolor=\color{white}]
\showpoint
\end{lstlisting}\vspace{-10mm}
Scaling (see \ref{sec:3dscaling})
\begin{lstlisting}[emph={dscaling},backgroundcolor=\color{white}]
\dscaling{type}{scaling_value};
+*\textbf{\{1\} scaling of the point distances}*+
\dscaling{1}{scaling_value};
+*\textbf{\{2\} scaling of the bearings}*+
\dscaling{2}{scaling_value};
+*\textbf{\{3\} scaling of the axes}*+
\dscaling{3}{scaling_value};
+*\textbf{\{4\} scaling of the single loads and the line loads}*+
\dscaling{4}{scaling_value};
+*\textbf{\{5\} scaling of the dimensioning}*+
\dscaling{5}{scaling_value};
+*\textbf{\{6\} scaling of the add-ons}*+
\dscaling{6}{scaling_value};
\end{lstlisting}\vspace{-10mm}
Points (see \ref{sec:3dPunkte})
\begin{lstlisting}[emph={dpoint},backgroundcolor=\color{white}]
\dpoint{name}{x-coordiante}{y-coordiante}{z-coordinate};
\end{lstlisting}\vspace{-10mm}
Beams and bars (see \ref{sec:3dBalkenUndStaebe})
\begin{lstlisting}[emph={dbeam},backgroundcolor=\color{white}]
\dbeam{type}{initial point}{end point}[rounded initial point][rounded end point];
+*\textbf{\{1\} bending beam}*+
\dbeam{1}{initial point}{end point[rounded initial point][rounded end point]};
+*\textbf{\{2\} trussed}*+
\dbeam{2}{initial point}{end point}[rounded initial point][rounded end point];
+*\textbf{\{3\} hidden bar}*+
\dbeam{3}{initial point}{end point};
\end{lstlisting}\vspace{-10mm}
Axes (see \ref{sec:3dAchsen})
\begin{lstlisting}[emph={daxis},backgroundcolor=\color{white}]
\daxis{type}{obligatory}[optional][optional][optional][optional][optional][optional][optional];
+*\textbf{\{1\} global axis}*+
\daxis{1}{insertion point}[X-orientation][Y-orientation][Z-orientation];
+*\textbf{\{2\} local axis in one plane}*+
\daxis{2}{plane}[insertion point][end point][position][x-orientation][y-orientation]
[z-orientation][change y with z];
+*\textbf{\{3\} local axis in space}*+
\daxis{3}{rotation A}[insertion point][end point][position][rotation 1][rotation 2]
[rotation 3][rotation B];
\end{lstlisting}\vspace{-10mm}
Supports (see \ref{sec:3dLager})
\begin{lstlisting}[emph={dsupport},backgroundcolor=\color{white}]
\dsupport{type}{insertion point}[optional][optional][optional][optional];
+*\textbf{\{1\} support with pendulum rods type 1}*+
\dsupport{1}{insertion point}[x-direction][y-direction][z-direction];
+*\textbf{\{2\} fixed support}*+
\dsupport{2}{insertion point}[plane];
+*\textbf{\{3\} support with pendulum rods type 2}*+
\dsupport{3}{insertion point}[x-direction][y-direction][z-direction];
+*\textbf{\{4\} support with springs type 1}*+
\dsupport{4}{insertion point}[x-direction][y-direction][z-direction];
+*\textbf{\{5\} support with springs type 2}*+
\dsupport{5}{insertion point}[x-direction][y-direction][z-direction];
\end{lstlisting}\vspace{-10mm}
Joints and Hinges (see \ref{sec:3dGelenke})
\begin{lstlisting}[emph={dhinge},backgroundcolor=\color{white}]
\dhinge{type}{insertion point}[optional][optional][optional];
+*\textbf{\{1\} full joint}*+
\dhinge{1}{insertion point};
+*\textbf{\{2\} half joint}*+
\dhinge{2}{insertion point}[initial point][end point][orientation];
+*\textbf{\{3\} forked hinge}*+
\dhinge{3}{insertion point}[rotation];
+*\textbf{\{4\} stiffed corner}*+
\dhinge{4}{insertion point}[initial point][end point];
\end{lstlisting}\vspace{-10mm}
Single loads (see \ref{sec:3dEinzellast})
\begin{lstlisting}[emph={dload},backgroundcolor=\color{white}]
\dload{type}{insertion point}[rotation A][rotation B][load length][load distance];
+*\textbf{\{1\} single load pointing to the insertion point}*+
\dload{1}{insertion point}[rotation A][rotation B][load length][load distance];
+*\textbf{\{2\} single load pointing away from the insertion point}*+
\dload{2}{insertion point}[rotation A][rotation B][load length][load distance];
+*\textbf{\{3\} moment pointing to the insertion point}*+
\dload{3}{insertion point}[rotation A][rotation B][load length][load distance];
+*\textbf{\{4\} moment pointing away from the insertion point}*+
\dload{4}{insertion point}[rotation A][rotation B][load length][load distance];
\end{lstlisting}\vspace{-10mm}
Line loads (see \ref{sec:3dLinienlast})
\begin{lstlisting}[emph={dlineload},backgroundcolor=\color{white}]
\dlineload{type}{obligatory}[optional]{initial point}{end point}[optional][optional][optional]
[optional];
+*\textbf{\{1\} line load perpendicular to the beam axis}*+
\dlineload{1}{plane}[plane distance]{initial point}{end point}[initial force value]
[end force value][force interval];
+*\textbf{\{2\} line load parallel to a global plane}*+
\dlineload{2}{plane}[plane distance]{initial point}{end point}[initial force value]
[end force value][force interval];
+*\textbf{\{3\} line load projected on the beam}*+
\dlineload{3}{plane}[plane distance]{initial point}{end point}[initial force value]
[end force value][lineload distance from inital point][force interval];
+*\textbf{\{4\} line load parallel the beam axis}*+
\dlineload{4}{plane}[plane distance]{initial point}{end point}[force interval]
[force length];
+*\textbf{\{5\} line load perpendicular to the beam axis with rotation in space}*+
\dlineload{5}{rotation A}[rotation B]{initial point}{end point}[initial force value]
[end force value][force interval];
+*\textbf{\{6\} line load parallel the beam axis with rotation in space}*+
\dlineload{6}{rotation A}[rotation B]{initial point}{end point}[force interval]
[force length];
\end{lstlisting}\vspace{-10mm}
Internal forces (see \ref{sec:3dSchnittkraftverlauf})
\begin{lstlisting}[emph={dinternalforces},backgroundcolor=\color{white}]
\dinternalforces{plane}[plane distance]{initial point}{end point}{initial value}{end value}
[parabola height][color][bend position];
\end{lstlisting}\vspace{-10mm}
Dimensioning (see \ref{sec:3dAbmessungen})
\begin{lstlisting}[emph={ddimensioning},backgroundcolor=\color{white}]
\ddimensioning{plane}[plane distance]{initial point}{end point}{distance from point of origin}
[measure][help line length];
\end{lstlisting}\vspace{-10mm}
Labeling and notation (see \ref{sec:3dBezeichnungen})
\begin{lstlisting}[emph={dnotation},backgroundcolor=\color{white}]
\dnotation{type}{insertion point}{obligatory}[optional][optional][optional][optional];
+*\textbf{\{1\} label}*+
\dnotation{1}{insertion point}{labelling}[orientation];
+*\textbf{\{2\} label with vertical mark}*+
\dnotation{2}{insertion point}{labelling}[orientation];
+*\textbf{\{3\} labeling with line between two points}*+
\dnotation{3}{initial point}{end point}[labelling][position][orientation];
+*\textbf{\{4\} label with mark orthogonal to a line}*+
\dnotation{4}{initial point}{end point}[labelling][position][orientation]
[text orientation];
+*\textbf{\{5\} label of a line}*+
\dnotation{5}{initial point}{end point}[labelling][position][orientation]
[text orientation];
+*\textbf{\{6\} label in a circle}*+
\dnotation{6}{insertion point}{labelling};
\end{lstlisting}\vspace{-10mm}
Additional symbols (see \ref{sec:3dZusaetzlicheSymbole})
\begin{lstlisting}[emph={daddon},backgroundcolor=\color{white}]
\daddon{type}{plane}[plane distance]{obligatory}{obligatory}{obligatory}[optional];
+*\textbf{\{1\} symbol for parallel lines}*+
\daddon{1}{plane}[plane distance]{insertion point}{end point}{position};
+*\textbf{\{2\} Symbol for orthogonal lines}*+
\daddon{2}{plane}[plane distance]{insertion point}{initial point}{end point}
[orientation];
+*\textbf{\{3\} arc symbol}*+
\daddon{3}{plane}[plane distance]{insertion point}{initial point}{end point}
[orientation];
\end{lstlisting}\vspace{-10mm}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% contents: Introduction %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Introduction}
\label{chap:einleitung}
The following work is a manual for a library of symbols for structural analysis. This library is based on the PGF/\tikzsym environment. Accordingly, commands from these packages are used. Nevertheless, comprehensive knowledge of \tikzsym is not necessary in order to use this library. If the referenced commands in this manual are not enough for the interested reader, the \tikzsym manual from Till Tantau is suggested.
% Die folgende Arbeit stellt ein Manual für die im Bachelor Projekt erstellte Bibliothek von baustatischen Symbolen dar. Diese Bibliothek wurde mit dem System PGF/\tikzsym erstellt und enthält dementsprechende Befehle aus den betreffenden Packages. Jedoch ist eine umfassende Kenntnis von \tikzsym nicht notwendig um die Bibliothek bedienen zu können. Falls die hier erwähnte Befehle nicht ausreichen, wird dem interessierten Leser das \tikzsym Manual von Till Tantau nahe gelegt. %\cite{script:pgf}
\section{How to read this manual?}
This manual describes the use of the library for symbols for structural analysis. To ensure an easy use of the elements and to keep the clarity, this manual follows the structure of the ``\tikzsym and PGF Manual'' and starts with the essential components (command list, elements) and subsequently deals with the ``whole schmear''. Finally, everything is repeated and summarized in form of a brief tutorial.
If the required packages have not yet been installed, you should read before starting, the installation chapter.
\subsection{A few explanations} All images in this manual were created with
\tikzsym or the element library. The code used for this, is specified for each
image.
\hfill
\begin{minipage}[t]{0.1\linewidth}
\begin{tikzpicture}[framed]
\filldraw (-.2,.2) circle (2pt)
(.2,.2) circle (2pt);
\draw (0,0) circle (5mm)
(-.3,-.1) .. controls (0,-.3) .. (.3,-.1);
\end{tikzpicture}
\end{minipage}
%
\begin{minipage}{0.7\linewidth}
\begin{lstlisting}
\begin{tikzpicture}
\filldraw (-.2,.2) circle (2pt)
(.2,.2) circle (2pt);
\draw (0,0) circle (5mm)
(-.3,-.1) .. controls (0,-.3) .. (.3,-.1);
\end{tikzpicture}
\end{lstlisting}
\end{minipage}
Special additions which are needed for a better understanding are shown in orange, but are not in the sample code available.
\hfill
\begin{minipage}{0.1\linewidth}
\begin{tikzpicture}[framed]
\filldraw [orange] (0,0) circle (2pt)
(1,1) circle (2pt)
(2,1) circle (2pt)
(2,0) circle (2pt);
\draw (0,0) .. controls (1,1) and (2,1) .. (2,0);
\end{tikzpicture}
\end{minipage}
\hfill
\begin{minipage}{0.7\linewidth}
\begin{lstlisting}
\begin{tikzpicture}
\draw (0,0) .. controls (1,1) and (2,1) .. (2,0);
\end{tikzpicture}
\end{lstlisting}
\end{minipage}
\subsection{Additional help}
Is the manual not enough, occur some ambiguities or some \tikzsym commands are unclear, please have a look in the ``\tikzsym and PGF Manual'' by Till Tantau.
Should you have any further questions, please do not hesitate to contact me.
\section{Installation}
\label{sec:Installation}
Actually, we can hardly speak of an installation since only the necessary package \lstinline|\usepackage{stanli}| must be installed.
Is the package installed or the style file is stored in the main file folder, so the library can be imported by \lstinline|\usepackage{stanli}|, as a following example shows:
\begin{lstlisting}
%------------
% header
%
\documentclass[
a4paper, % defines the paper size: a4paper (default), a5paper
BCOR20mm, % correction
twoside, % changes to a two-page-layout (alternatively: oneside)
halfparskip, % insert an empty line between two paragraphs (alternatively: parskip, ...)
openright, % chapter starts on the right page
]{scrreprt}
%------------
% packages
%
\usepackage{stanli}
\end{lstlisting}
\section{Additional necessary packages}
\label{sec:WeitereNotwendigePackages}
To use all commands and options of \tikzsym, possibly some packages need to be reloaded. These missing files (or their names) appear in the error log, when you convert the file. However, for the package described in this manual, it is sufficient to use the library and the \tikzsym standard commands.
\part{2D Library}
\label{part:2dlib}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% contents: Elemente %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Elements}
\label{sec:Elemente}
%================================================
% Allgemeines zu den Elementen
%================================================
\section{General information about the elements}
\label{sec:AllgemeinesZuDenElementen}
\subsection{Order}\index{ordering of the elements}
\label{sec:Reihenfolge}
The library provides a number of standard elements available to the user. For example, bearings, joints, forces, etc. Since \tikzsym displays those elements at the bottom which are entered first, it must be ensured that the element is inserted in the correct order. The following order is recommended:
\begin{enumerate}
\item Points \lstinline|\point|
\item Beams and bars \lstinline|\beam|
\item Supports and bearings \lstinline|\support|
\item Joints \lstinline|\hinge|
\item Force and temperature \lstinline|\load| respectively \lstinline|\lineload| and \lstinline|\temperature|
\item Internal forces \lstinline|\internalforces|
\item Dimensioning \lstinline|\dimensioning|
\item Range of the influence line \lstinline|\influenceline|
\item Labeling \lstinline|\notation|
\item Additional symbols \lstinline|\addon|
\end{enumerate}
\subsection{Input}
\label{sec:Eingabe}
In addition to the correct order also the correct input for the elements matters.
Basically, one can distinguish between the mandatory input $\{~\}$ and the optional input $[~]$. The first values must be entered compulsory. By contrast, nothing has to be entered for the optional input. Additional features (eg. rotation) can be activated when entering optional parameters.
For illustration a small example of a single force
\begin{lstlisting}
\load{type}{insertion point}[rotation][length or included angle][loaddistance];
\end{lstlisting}
When entering size values the base unit is always predefined in $[\mathrm{cm}]$. Percentage values $\%$ are always specified as decimal values; for example, $100\% = 1.0 $ and $ 10 \% $ corresponds to $ 0.1 $.
Another important note is, that every \tikzsym command has to be completed with an semicolon ``;''. If this semicolon is not set, the command can not be performed, this leads finally to an error message by the compilation.
%================================================
% Die Elemente
%================================================
\section{The elements}
\label{sec:DieElemente}
%------------------------------------------------
% point
%------------------------------------------------
\subsection{Points}
\label{sec:Punkte}\STNLindexcommand{point}
\begingroup
\lstinline[emph={point}]|\point{name}{x-coordiante}{y-coordiante};|
\leftskip=7mm In order to be able, to place elements, points must be defined previously. For the labeling a short and precise name should be chosen. Because other elements will reference back to these points, in the later stages of the construction. Since \tikzsym uses Cartesian coordinates, this must be entered in accordance with the coordinate system. This means that is first entry corresponds to the x-coordinate and the second to the y-coordinate.
\leftskip=7mm\begin{minipage}[c]{0.3\linewidth}
\begin{tikzpicture}[framed]
\filldraw [orange] (0,0) circle (2pt) (2,1) circle (2pt) (4,.5) circle (2pt);
\point{a}{0}{0};
\point{b}{2}{1};
\point{c}{4}{.5};
\end{tikzpicture}
\end{minipage}
\begin{minipage}{0.65\linewidth}\begin{lstlisting}
\begin{tikzpicture}
\point{a}{0}{0};
\point{b}{2}{1};
\point{c}{4}{.5};
\end{tikzpicture}\end{lstlisting}\vspace{-7mm}
\end{minipage}
\endgroup
%------------------------------------------------
% beam
%------------------------------------------------
\subsection{Beams and bars}\index{beam}\index{bar}
\label{sec:BalkenUndStabe}
\begingroup
\lstinline[emph={beam}]|\beam{type}{initial point}{end point}[rounded initial point][rounded end point];|
\STNLindexcommand{beam}
\leftskip=7mm The library includes several types of beams and bars. These are determined by the type. To construct such a beam or bar, two points must first be defined, the starting point and the end point. Furthermore, there is an option available to round the ends of the bars. $[0]$ or no entry means the corresponding end of the beam is not rounded, $[1]$ the end is rounded. This option is especially needed when multiple bars meet with different angles.
\endgroup
\begingroup
\hspace{7mm}\lstinline[emph={beam}]|\beam{1}{initial point}{end point}[rounded initial point][rounded end point];|
\STNLindexcommand{beam}\index{bending beam}\index{beam!bending}
\leftskip=14mm Type $1$ is a bending beam with characteristic fiber\footnote{The characteristic fiber acts as a local coordinate system of the beam.}. Thereby, the characteristic fiber is always below the bar, when you follow the input convention mentioned above (start point - end point).
\leftskip=14mm\begin{minipage}[c]{0.3\linewidth}
\begin{tikzpicture}[framed]
\point{a}{0}{0};
\point{b}{2}{1};
\point{c}{4}{.5};
\beam{1}{a}{b}[0][1];
\beam{1}{b}{c}[1];
\end{tikzpicture}
\end{minipage}
\begin{minipage}{0.61\linewidth}\begin{lstlisting}
\begin{tikzpicture}
\point{a}{0}{0};
\point{b}{2}{1};
\point{c}{4}{.5};
\beam{1}{a}{b}[0][1];
\beam{1}{b}{c}[1];
\end{tikzpicture}\end{lstlisting}\vspace{-7mm}
\end{minipage}
\endgroup
\begingroup
\hspace{7mm}\lstinline[emph={beam}]|\beam{2}{initial point}{end point}[rounded initial point][rounded end point];|
\STNLindexcommand{beam}\index{truss rod}
\leftskip=14mm Type $2$ describes a truss rod. Accordingly there is no characteristic fiber. This means, that order of the input points (starting point - end point) does not matter.
\leftskip=14mm\begin{minipage}[c]{0.3\linewidth}
\begin{tikzpicture}[framed]
\point{a}{0}{0};
\point{b}{2}{1};
\point{c}{4}{.5};
\beam{2}{a}{b}[0][1];
\beam{2}{b}{c}[1];
\end{tikzpicture}
\end{minipage}
\begin{minipage}{0.61\linewidth}\begin{lstlisting}
\begin{tikzpicture}
\point{a}{0}{0};
\point{b}{2}{1};
\point{c}{4}{.5};