Upload
lykien
View
294
Download
10
Embed Size (px)
Citation preview
and scripted language CADiNP
2016 / 1 CADiNP
CADiNP - General
Teddy - Icons:
Toolbar:
Editbar:
SOFiSTiK:
Template Tags:
2016 / 2 CADiNP
Just find the teddy bear to get started.
CADiNP - General
Teddy - Help:
• Point Cursor to command
• Type F1 Key
• Pdf Manual opens and
shows information of the
selected command
2016 / 3 CADiNP
CADiNP - General
Teddy Manuals and Help:Teddy Help (ted-_0.chm, german)
Ctrl Commands, ShortCuts
Examples
Basic Manual (sofistik_1.pdf)
Chapter 8: CADiNP – Input Language
2016 / 4 CADiNP
CADiNP - General
Teddy Ctrl - Commands:
• CTRL + Q + T …
Translate CADiNOP
• F8 …
Copy above line.
• CTRL + C, S, …
Known commands
2016 / 5 CADiNP
CADiNP - General
Teddy Ctrl - Commands:
• CTRL + Q + T …
Translate CADiNOP
• F8 …
Copy above line.
• CTRL + C, S, …
Known commands
2016 / 6 CADiNP
CADiNP - General
Teddy Ctrl - Commands:
• CTRL + Q + T …
Translate CADiNOP
• F8 …
Copy above line.
• CTRL + C, S, …
Known commands
2016 / 7 CADiNP
CADiNP - General
Teddy Ctrl - Commands:
• CTRL + Q + T …
Translate CADiNOP
• F8 …
Copy above line.
• CTRL + C, S, …
Known commands
2016 / 8 CADiNP
CADiNP - General
Teddy Ctrl - Commands:
• CTRL + Q + T …
Translate CADiNOP
• F8 …
Copy above line.
• CTRL + C, S, …
Known commands
2016 / 9 CADiNP
CADiNP - General
Teddy - Examples:
Before calculate, save example in a
different directory.
2016 / 10 CADiNP
CADiNP - General
Teddy - Input Syntax:
• LET – and STO Variable
LET# … only valid within current programm/modul
STO# … value will be saved to database
2016 / 11 CADiNP
CADiNP - General
Teddy - Input Syntax:
• Arithmetic Expressions
+ - … Addition, Subtraction
* / … Multiplication, Division
** or ^ … Exponentiation
== <>… Condition of equality/inequality
>= <=… Relational condition
> < … Relational condition
& | … AND or OR
2016 / 12 CADiNP
CADiNP - General
Teddy - Input Syntax:
• Functions inside an expression
SIN(x), COS(x), TAN(x) … Trigonometric functions
ATN(x), ATN(y,x) … Arc of tangent x or y/x
ARC(x) … Convert angles to arcus
SQR(x) … Square root
ABS(x) … Absolute value
EXP(x) … Exponents of e
LOG(x) … Natural logarithm
LGT(x) … Base 10 logarithm
2016 / 13 CADiNP
CADiNP - General
Teddy - Input Syntax:
• Functions inside an expression
DIV(x,y),xDIVy,DIV(x/y) … Integer part of x/y
MOD(x,y),xMODy,MOD(x/y) … Division remainder of x/y
MIN(x,y,..),MAX(x,y,..) … Minimum or Maximum numbers
RANDOM(x) … random value between 0 and 1
(x=0 reinitialises the seed)
IIF(expr,val1,val2) … returns val1 if expr is not
equal zero and val2 if expr
equals to zero.
2016 / 14 CADiNP
CADiNP - General
Teddy - Input Syntax:
• FUN – Definition of functions
If an arithmetic expression is needed or the meaning of a variable should be
changed during the run, it is possible to define a function. Such definition is done as
a literal according to:
LET#F '=FUN(var,formulaexpression) '
e.g.
LET#F '=FUN( x,3*#x**3-2*#x**2+5*#x) '
LET#1 #F(1.234)
2016 / 15 CADiNP
CADiNP - General
Teddy - Input Syntax:
• LOOP, ENDLOOP – Loops and Jumps
It is possible to store the index of the loop in a variable, if the name is appended to
the LOOP keyword. The index starts counting at zero. The variable may be changed
within the loop, but it will be restored after evaluation of the terminating condition in
each cycle.
2016 / 16 CADiNP
CADiNP - General
Teddy - Input Syntax:
• LOOP, ENDLOOP – Loops and Jumps
Generation of nodes and springs on a semicircle at a distance of 30 degrees.
LET#1 1 , LET#2 0.
LOOP 7
NODE #1 COS (#2) SIN (#2)
SPRI #1 #1 DX COS (#2) DY SIN (#2) CP 1. E5
LET#1 #1+1
LET#2 #2+30 .
ENDLOOP
2016 / 17 CADiNP
CADiNP - General
Teddy - Input Syntax:
• LOOP, ENDLOOP – Loops and Jumps
Instead of LOOP 7 / ENDLOOP you could use:
LOOP / ENDLOOP #2 < =180.
With an ENDLOOP condition one can leave a loop prematurely.
2016 / 18 CADiNP
CADiNP - General
Teddy - Input Syntax:
• LOOP, ENDLOOP – Loops and Jumps
Example for two-levels
LOOP#1 3
ADEF #1+1
LOOP 2 ; BDIV 0.5 #1+1 ; 0.2 1 ; ENDLOOP
ENDLOOP
2016 / 19 CADiNP
CADiNP - General
Teddy - Input Syntax:
• IF – Logical Conditions
Conditional blocks are an important element of every programming language. The
execution of jumps (go to) is not possible within CADINP as it is proven to be able to
solve any problem without this feature.
The conditional block is executed if the expression following the IF is greater than
zero. You might want to use the logical expressions for this. Texts may be only
compared with == and != operators, the comparison is case sensitive. As the
complete string on both sides of the operator is considered, no parentheses are
allowed, they are part of the strings.
2016 / 20 CADiNP
CADiNP - General
Teddy - Input Syntax:
• IF – Logical Conditions IF #1 ==12
These lines are input when #1 equals 12
...
ELSE
These lines are input when #1 does not equal 12
...
ENDIF
2016 / 21 CADiNP
CADiNP - General
Teddy - Input Syntax:
• IF – Logical Conditions IF ( Condition_1 )
....
ELSEIF ( Condition_2 )
....
ELSEIF ( Condition_3 )
....
ELSE
....
ENDIF
2016 / 22 CADiNP
CADiNP - General
How can I benefit from this?
2016 / 23 CADiNP
Possible Workflow:
• Set up structural model and permanent
loads graphically in SOFiPLUS.
• Traffic Loads and Construction Stages
by using GUI.
• Combinations and Design using CADiNP.
• Generate output with interactive graphic.
Use this workflow for future projects or
just copy/paste input.
… Examples
CADiNP - Example
Model:
Load Patterns
2016 / 24 CADiNP
CADiNP - Example
Load Pattern:
Group Numbers 1st floor, (1 – 15) Group Numbers 2nd floor, (21 – 35)
2016 / 25 CADiNP
CADiNP - Example
Load Pattern:
Group Numbers 1st floor, (1 – 15) Group Numbers 2nd floor, (21 – 35)
A different load case for each slab.
2016 / 26 CADiNP
CADiNP - Example
Define different Groups:
2016 / 27 CADiNP
CADiNP - Example
Area Load for a single slab:
+PROG SOFILOAD
HEAD Definition of Loadcases
LC NO 99 TYPE ‘NONE' FACT 1.00 FACD 0.00 TITL "Group 32"
AREA QGRP NO 31 TYPE PG P1 2,50
$AREA SAR NO 32 TYPE PG P1 2.50
END
2016 / 28 CADiNP
CADiNP - Example
Area Load for each slab:
+PROG SOFILOAD
HEAD Definition of Loadcases Floor 1
LET#A 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
LOOP#1 A
LC NO 101+#1 TYPE ‘Q' FACT 1.00 FACD 0.00 TITL "Floor 1,Grp #A(#1)"
AREA QGRP NO #A(#1) TYPE PG P1 2.5
ENDLOOP
END
2016 / 29 CADiNP
CADiNP - Example
Area Load for each slab:
+PROG SOFILOAD
HEAD Definition of Loadcases Floor 1
LET#A (21 35 1)
LOOP#1 A
LET#grp #A(#1)
LC NO 101+#1 TYPE ‘Q' FACT 1.00 FACD 0.00 TITL "Floor 1,Grp #grp"
AREA QGRP NO #grp TYPE PG P1 2.5
ENDLOOP
END
2016 / 30 CADiNP
CADiNP - Example
Output - Graphic:
Set up your template graphically
within Wingraf and export it as text.
2016 / 31 CADiNP
+PROG WING urs:22.1 $ Interactive Graphics
HEAD $Bending moment m-xx in local x LC: 201
PAGE UNII 0 $ default unit set
CTRL OPT GSTR VAL DEFA
LET#A (21 35 1)
LOOP#1 A
LET#LC #A(#1)
$ graphics 1 | picture 1 | layer 1 : Bending moment m-xx in local x LC: 201
PAGE LANO 1 UNIO 5
…
LC NO #LC DESI 1
…
ENDLOOP
END
CADiNP - Example
Output - Graphic:
Insert text of Interactive Graphic in
a Text Editor Task and modify it.
2016 / 32 CADiNP
CADiNP - Example
Output - Graphic:
2016 / 33 CADiNP
CADiNP - Example
Example Prestressing:
• Simple Slab.
• Definition of a geometric Axis.
• Single Tendon, shell PT,
refering to the axis.
2016 / 34 CADiNP
CADiNP - Example
Example Prestressing:
• Simple Slab.
• Definition of a geometric Axis.
• Generate additional Tendons by
using CADiNP.
• Single Tendon, shell PT,
refering to the axis.
2016 / 35 CADiNP
CADiNP - Example
Export modification:
process immediately
deactivate check box
Click OK
Only files for export are
generated but not processed.
Check Project directory for
generated dat files
2016 / 36 CADiNP
#include "$(project)_msh.dat"
+sys del "$(project)_msh.plb"
+sys ren "$(project)_run.plb" "$(project)_msh.plb"
#include "$(project)_aqa.dat"
+sys del "$(project)_aqa.plb"
+sys ren "$(project)_run.plb" "$(project)_aqa.plb"
#include "$(project)_lfd.dat"
+sys del "$(project)_lfd.plb"
+sys ren "$(project)_run.plb" "$(project)_lfd.plb"
#include "$(project)_shell_pt.dat"
+sys del "$(project)_shell_pt.plb"
+sys ren "$(project)_run.plb" "$(project)_shell_pt.plb"
CADiNP - Example
Generated .dat files: *_aqua.dat - Material, Cross section, …
*_lfd.dat - Loadcases, …
*_msh.dat - Mesh, …
*_run.dat - processed modules
_shell_pt.dat – prestressing
Includes needed information
to generate tendons
2016 / 37 CADiNP
CADiNP - Example
_shell_pt.dat file:
$ This file has been automatically generated by SOFiPLUS/SOFiPLUS-X.
$ Manual modifications to this file may be lost during the
$ next creation/update of the calculation model.
#define project=prestressing
+PROG TENDON CDBERR=append urs:tendon $ Generation of Tendons (SHELL)
HEAD
PAGE UNII 0
ECHO FULL YES
ECHO PLOT FULL
$ Tendons created with PT editor
$ ------------------------------
$ For each original duct object, the tendons are sorted by prestressing system.
$ In case that tendons of the same duct have varying prestressing systems,
$ multiple AXES/TGEO records will be created, one set per prestressing systems.
$ The tendons will be assigned to the matching AXES/TGEO records.
$
$ Numbering
$ ---------
$ Tendon numbers will be used as entered in SOFiPLUS.
$ In case there is a conflict, new numbers will be generated, usually in a way
$ so that clashes with existing numbers and thereby subsequent renumbering will
$ be minimized.
……..
Copy the contend of the
generated .dat file in a new
Text Editor (Teddy) Task.
2016 / 38 CADiNP
……
$ Tendon axis 1 references geometric axis 'A001'
AXES NOH 1 TYPE REFX KIND QUAD VAL1 'A001'
$ Geometry 5000
TGEO NOG 5000 NOH 1 NOPS 1 TITL ''
PTUV KIND - TYPE=REFX S 0 U 0 V -0.2
PTUV KIND - TYPE=REFX S 10 U 0 V -0.1
PTUV KIND - TYPE=REFX S 20 U 0 V -0.2
$ Generate a plot of the geometry:
PLOT GEOE NO 5000 FACH 5 TYPG DUTE DIA 100
$ Tendon 1 on duct geometry 5000
CADiNP - Example
_shell_pt.dat file:
$ Tendon 1 on duct geometry 5000
$ Construction Stages (using defaults as defined in tendon_1.pdf, as necessary)
CS ICS1 11 ICS2 12 ICS3 0
$ Jacking sequence
PSIG KIND 'RI' ANWS 'TS' KAPA - KAPL 'NO' K1 - K2 - K3 - K4 - K5 - K6 - K7 - K8 -
K9 - K10 -
$ Tendon
$ Save forces as a group of 1 tendon(s) in loadcase 11.
TEND 1 NOG 5000 NTEN 1 TITL '' LC 11 TYPE=REFX FROM 0 TO 20
$ Generate a plot of the tendon:
PLOT FACT NO 1 TYPG DUTE DIA 100
$ That's all.
END
2016 / 39 CADiNP
CADiNP - Example
TDEL AXES 0 TGEO 0 TEND 0 <------
$ Tendon axis 1 references geometric axis 'A001'
AXES NOH 1 TYPE REFX KIND QUAD VAL1 'A001'
let#DIST -1.0 <------
let#QTY 10 <------
loop#1 #QTY <------
$ Geometry 5000
TGEO NOG 5000+#1 NOH 1 NOPS 1 TITL ''
PTUV KIND - TYPE=REFX S 0 U 0+(#dist*#1) V -0.2
PTUV KIND - TYPE=REFX S 10 U 0+(#dist*#1) V -0.1
PTUV KIND - TYPE=REFX S 20 U 0+(#dist*#1) V -0.2
$ Generate a plot of the geometry:
PLOT GEOE NO 5000+#1 FACH 5 TYPG DUTE DIA 100
$ Tendon 1 on duct geometry 5000
$ Tendon 1 on duct geometry 5000
$ Construction Stages (using defaults as defined in tendon_1.pdf, as necessary)
CS ICS1 11 ICS2 12 ICS3 0
$ Jacking sequence
PSIG KIND 'RI' ANWS 'TS' KAPA - KAPL 'NO' K1 - K2 - K3 - K4 - K5 - K6 - K7 - K8 -
K9 - K10 -
$ Tendon
$ Save forces as a group of 1 tendon(s) in loadcase 11.
TEND 1+#1 NOG 5000+#1 NTEN 1 TITL '' LC 11 TYPE=REFX FROM 0 TO 20
$ Generate a plot of the tendon:
PLOT FACT NO 1+#1 TYPG DUTE DIA 100
endloop <------
$ That's all.
END
Modified _shell_pt.dat file:
2016 / 40 CADiNP
CADiNP - Example
TDEL AXES 0 TGEO 0 TEND 0 <------
$ Tendon axis 1 references geometric axis 'A001'
AXES NOH 1 TYPE REFX KIND QUAD VAL1 'A001'
let#DIST -1.0 <------
let#QTY 10 <------
loop#1 #QTY <------
$ Geometry 5000
TGEO NOG 5000+#1 NOH 1 NOPS 1 TITL ''
PTUV KIND - TYPE=REFX S 0 U 0+(#dist*#1) V -0.2
PTUV KIND - TYPE=REFX S 10 U 0+(#dist*#1) V -0.1
PTUV KIND - TYPE=REFX S 20 U 0+(#dist*#1) V -0.2
$ Generate a plot of the geometry:
PLOT GEOE NO 5000+#1 FACH 5 TYPG DUTE DIA 100
$ Tendon 1 on duct geometry 5000
$ Tendon 1 on duct geometry 5000
$ Construction Stages (using defaults as defined in tendon_1.pdf, as necessary)
CS ICS1 11 ICS2 12 ICS3 0
$ Jacking sequence
PSIG KIND 'RI' ANWS 'TS' KAPA - KAPL 'NO' K1 - K2 - K3 - K4 - K5 - K6 - K7 - K8 -
K9 - K10 -
$ Tendon
$ Save forces as a group of 1 tendon(s) in loadcase 11.
TEND 1+#1 NOG 5000+#1 NTEN 1 TITL '' LC 11 TYPE=REFX FROM 0 TO 20
$ Generate a plot of the tendon:
PLOT FACT NO 1+#1 TYPG DUTE DIA 100
endloop <------
$ That's all.
END
Modified _shell_pt.dat file:
2016 / 41 CADiNP
CADiNP - Example
Equivalent Linear Temperature Load:
In SOFiSTiK Version 2016 you are able to define a temperature along the sectional local
z–axis followed by the command EVAL TEQV.
Furthermore you can define a certain temperature referred to a polygon point on your cross
section boundary.
In the determination of the equivalent
linear temperature load is possible only
for the finite-element cross sections.
2016 / 42 CADiNP
CADiNP - Example
Equivalent Linear Temperature Load:
+PROG SOFILOAD
HEAD TEMPERATURE INPUT
ECHO LOAD EXTR $ Full temperature output
LC 2000 TYPE NONE
BEAM FROM GRP TO 1 TYPE T PA 20 REFT 'H1'
BEAM FROM GRP TO 1 TYPE T PA 12 REFT 'H2'
BEAM FROM GRP TO 1 TYPE T PA 0 REFT 'H3'
BEAM FROM GRP TO 1 TYPE T PA -12 REFT 'H4'
BEAM FROM GRP TO 1 TYPE T PA -15 REFT 'H5'
EVAL TYPE TEQV
END
Assign temperature to certain polygon point
2016 / 43 CADiNP
CADiNP - Example
Equivalent Linear Temperature Load:
+PROG SOFILOAD
HEAD TEMPERATURE INPUT
ECHO LOAD EXTR $ Full temperature output
LC 2000 TYPE NONE
BEAM FROM GRP TO 1 TYPE T PA 20 REFT 'H1'
BEAM FROM GRP TO 1 TYPE T PA 12 REFT 'H2'
BEAM FROM GRP TO 1 TYPE T PA 0 REFT 'H3'
BEAM FROM GRP TO 1 TYPE T PA -12 REFT 'H4'
BEAM FROM GRP TO 1 TYPE T PA -15 REFT 'H5'
EVAL TYPE TEQV
END
Result Browser print out of entered values.
2016 / 44 CADiNP
CADiNP - Example
Equivalent Linear Temperature Load:
Graphical output by compiling a user
defined Template using CADiMP.
Result Browser print out of entered values.
2016 / 45 CADiNP