Materials About FFEIN - De.en
Materials About FFEIN - De.en
Materials About FFEIN - De.en
com
Theoretical methods
for systematic construction
from
Tamas Vadas
Wuppertal 2003
Dissertation submitted on: 20.05.2003
Summary
In this work, the fundamentals of CAD methods for the systematic design and
construction objects of the usable surface are investigated.
The aim is to support faster and more efficient design while taking multilingualism
into account. To this end, a country-independent module called a logic recorder is
being developed using engineering science, which the designer will use to create
multi-purpose design methods in his own language.
Summary
In the present work the basis of CAD methods for the systematic construction and the
constructional objects of the application surface are explored.
As objective, the support of faster and more efficient engineering with consideration of
the multilingualism is specified. A language independent module, named logicrecorder,
with which the technical designer will create multiply applicable structural construction
methods himself, in his own language, is developed by engineers scientifically.
Summary
Dans ce travail, les bases des méthodes CAD pour la construction systématique et les
subjects de construction de la surface d'utilisation ont été examinés.
The soutien du batit plus rapide and plus efficace is visé en considérant le
multilinguisme. Dow arrives at the same time, a module – called the recorder logic –
and is developed in the form of an engineer-scientifique. This module is a luimême
constructor who produces construction methods with different recapitulations
applicable in the language used.
The results are confirmed in the practical practices.
II
Foreword
At this point I would like to thank Univ.-Prof. Dr.-Ing. Georg Pegels, who always
supported me with ideas and advice in my work and gave me helpful advice on
engineering problems. I would also like to thank Dr.-Ing. Heinz-Dieter Koch, who
helped me with all questions about the design program.bocadI would like to quote
him: "Knowledge about design and representation is rarely stored in books, but
rather in the minds of experienced engineers and designers."
I would like to thank my wife Patricia, with whom I was able to consult on stylistic
issues. My thanks also go to Mr. Dipl.- Ing. Krisztián HegedOs, who was a great help
to me with his helpfulness and his insightful criticism. I would also like to thank all
my colleagues who have encouraged me with their friendly manner.
-1-
Table of contents
Table of contents
Table of Contents ...................................................................................................................... 1
1 Background............................................................................................................................ 4
1.1 Connection between civil engineering and information technology ................................................ 4
1.1.1 Concept of construction informatics ................................................................................ 4
1.1.2 Importance of construction informatics.................................................................................. 4
1.2 Objectives of construction informatics ...................................................................................... 5
1.3 Aim of this work.............................................................................................................. 6
1.3.1 Structure of CAD systems ...................................................................................... 6
1.3.2 Approach of this work ................................................................................................ 8
2 Basic elements for individual CAD design methods ...................................................... 9
2.1 Programming languages.................................................................................................. 9
2.2 Comments ................................................................................................................ 10
2.3 Variables ................................................ ................................................ ....................10
2.3.1 Instructions ......................................................................................................... 10
2.3.2 Global and local variables ................................................................................ 12
2.4 Functions................................................................................................................ 12
2.5 Classes and their objects ................................................................................................ 13
2.6 Operators ................................................ ................................................ ................. 13
2.6.1 Mathematical expressions ...................................................................................... 13
2.6.2 Logical expressions ................................................................................................ 13
2.7 Fields................................................ ................................................ ................................... 14
2.8 Control instructions................................................................................................ 14
2.8.1 Conditions ............................................................................................................ 14
2.8.1.1 Selection..................................................................................................15
2.8.1.2 Multiple selection ............................................................................................15
2.8.2 Repetitions (loops) ................................................................................................ 16
2.8.2.1 Head-controlled repetitions.................................................................................16
2.8.2.2 Foot-controlled repetitions................................................................................17
2.9 Program structure ............................................................................................................ 18
2.9.1 Method nesting ...................................................................................................... 18
2.9.1.1 Same level..................................................................................................18
2.9.1.2 Subroutine call ................................................................................................19
2.9.2 Inheritance and derivation in C++.......................................................................... 20
2.10 Block structures ............................................................................................................ 21
2.11 Generation of rod-shaped components............................................................................. 22
2.12 Basic methods from system method libraries for developing
macros .................................................................................................................................................. 23
2.13 Reading and saving data................................................................................................ 24
2.14 Error handling ................................................................................................................ 25
2.15 Information and search commands ................................................................................ 26
3 Tools for working surfaces ...................................................................................................... 28
3.1 Mouse activities and shortcuts .................................................................................... 28
3.2 Dialog boxes.................................................................................................................. 29
-2-
Table of contents
6.2 Outlook.................................................................................................................................. 99
Bibliography ......................................................................................................................... 101
Appendix................................................................................................................................ 104
-4-
1 Backgrounds
1 Backgrounds
1.1 Connection between civil engineering and computer science
The term construction informatics, which is not yet defined in the dictionaries, refers to a
field that has emerged in the last decades and which has emerged from two areas of
engineering science - civil engineering and computer science. According to [5], the German
professors of construction informatics have defined construction informatics as follows:
Construction informatics “deals with the scientific principles behind the use of
information and communication technology and with the systematic development
of calculation and simulation methods in construction.”
"The use of modern computer technology is an integral part of the construction industry
and construction practice. Construction informatics is indispensable in the introduction
and implementation of new techniques and methods for computer-aided processing of
construction projects. It therefore plays a key role in the development of suitable
software for construction practice in line with the latest state of the art in computer
science."
Pegels defines in [4] the goals of construction informatics in an application-oriented and practical
way:
"Increased global competition and more sophisticated construction methods are leading to
market developments of fundamental importance for Germany as a construction industry
location. The more difficult market poses fundamental risks for weak companies. It offers
lively opportunities for high-performance offices and companies that can deliver
sophisticated turnkey buildings in the shortest possible time, without errors and cost-
effectively."
This requires suitable tools from the latest information technology in the form of
object-oriented database systems and multimedia communication technology.
Based on the technical level already achieved today, the following software modules
are to be developed for the construction industry and tested in pilot applications:
commercial processing.
5. Development of CAD design methods (macros) for the efficient design and
detailing of sophisticated building envelopes in steel and glass architecture,
individual staircase architecture and metal construction with modern supplier
parts.
.
-7-
1 Backgrounds
Object-oriented
database
3D model,
Product model
CAD methods
Usable surface
Based on theFigure 1-1The two upper shells shown first explain the basics:
The current state of CAD systems - examined using the CAD system BOCAD-3D from
bocad Software GmbH in Bochum, which was made available for this work - is formed
by system-specific methods (macros), which will be dealt with in the next step:
The tools discussed are used to create sophisticated CAD applications with
automated macros. The results of this work should give users the opportunity to
develop their own company-specific macros:
Finally, the findings are reflected upon and forecasts are made about possible and
desirable future perspectives:
Of the programming languages classified above, the languages FFEIN7 and C++ are
explained in more detail in this chapter, since they are the basis of the experimental
evidence of this work.
The realization of the idea of the future-oriented program module, the logic
recorder, is illustrated by examples in the last part of this work. The programming
language FFEIN7 is used. FFEIN7 (FformatFreiAgabe Fortran77) is an interpreted
language for construction in civil engineering, which was originally developed from
Fortran 77.
2.2 Comments
It is very useful to insert explanations and comments into the source code during
programming in order to be able to make subsequent changes, additions or
corrections to the program without a long search process and without problems of
understanding.
Comments in the example sources for the user interface are introduced with /* if
they are configuration files.
In the C++ language, comments can be inserted using a double slash // at the
beginning of the line. In FFEIN7, comments are introduced with @.
2.3 Variable
Symbols of the widely used program flow chart (PAP) are also used in this work as in
[7], "in order to better represent and document the flow of an algorithm and thus
also that of a program". "This graphical representation exists independently of the
programming language and describes the flow and function of an algorithm
universally." With such a representation, an algorithm can be implemented in any
programming language.
2.3.1 Instructions
Instruction
Instructions control the execution of a program. They “tell the computer what to
do”. For example, in the language FFEIN the variableathe value7assigned
- 11 -
2 Basic elements for individual CAD design methods
%za=7;
The variable on the left side of the statement is assigned the value on the right side
after the equal sign (here the assignment sign). The end of the statement is
indicated by a semicolon because of the freedom of format in the language. In
order to speed up interpretation by specifying the type of command, the
assignments can be entered using FFEIN as an example, in contrast to languages
such as C++ or Java.%zTo speed up the interpretation, %f is placed before the
functions, %a before the statements and %s before the standard statements. The
program flow can be accelerated during interpretation, see the example source
code inChapter 3.6.4.
In order to keep the memory requirements as low as possible, suitable data types,
such as integers, are used aslongint,short intoffered in the programming
languages.
In FFEIN, the numbers are not differentiated as in C++ programming with float or
double commands; they are always double-precision.
In addition to numbers, texts must also be able to be processed. Each char variable
corresponds to exactly one character. The type String is an array (field) that can store
several characters. String forms a class and the string variables correspond to the
objects of this class. (For more information about objects and classes, seeChapter 2.5).
A text constant - like numbers - is defined more simply in FFEIN than in C++. It is
enclosed in two quotation marks, e.g.txt='text'.
- 12 -
2 Basic elements for individual CAD design methods
2.4 Functions
In FFEIN, the accelerator before a function is the symbol%e, followed by a function
such as%fSIN(25).
The functionMain()is the core of every C++ program with which the program begins.
The function content is defined in the following curly brackets.
The functions defined before the main() function can be called in the main()
function.
void function()
{
sequence of commands;
that functions that differ in their parameters are created and called under the same
name. The compiler decides which function is called based on the type and number
of parameters.
A class is basically a template from which images are created. An object is the image
of a class. Any number of objects can be created from the same class.
The dot operator '.' can be used to access the methods and elements of an object,
similar to the well-known programming language Visual Basic.
2.6 Operators
2.6.1 Mathematical expressions
In addition to the most important basic arithmetic operations (+,-,*,/), the modulo operation
(%), which returns the remainder of an integer division, is also one of the mathematical
operators.
Both the negation sign and the concatenation signs are available in logical
expressions.
- 14 -
2 Basic elements for individual CAD design methods
2.7 Fields
An array that can store variables of the same type is a one- or multi-dimensional list.
Arrays are often called arrays in the technical literature.
Fields have two types: value fields and text fields. For fields, the variable name has
an index for the corresponding field element.
In FFEIN, the field element with the index “0” (header word) contains the total number of
field elements.
2.8.1 Conditions
incorrect
Condition No
Instruction
true
Yes
Instruction
The return value of the condition is either true or false. If a condition is true, the
subsequent statements of the "true" branch are executed. Conditions can be nested
within each other as desired.
- 15 -
2 Basic elements for individual CAD design methods
2.8.1.1 Selection
InC++: In FFEIN:
Condition
InC++: In FFEIN:
As long as the condition in the loop is true, the loop body is repeated. If the
condition is false, the program leaves the loop body and jumps to the next line after
the loop.
Grind-
Beginning
Instructions n
Grind-
End
initialization
true
Condition Instructions iteration
incorrect
The control element of a loop is the counting variable, which is initialized first. The
next steps - repeated checking, executing the instructions and constantly
incrementing or decrementing the variable
– are repeated or aborted after the condition has been evaluated.
InC++: In FFEIN:
Instructions
true
Condition
incorrect
The loop is only tested by the condition at the end if the program goal requires that
the loop body be executed at least once.
InC++: In FFEIN:
Initialization; Initialization;
do # REPEAT, condition;
{ statements;
instructions; Iteration;
Iteration; ##;
}
while (condition);
- 18 -
2 Basic elements for individual CAD design methods
start
Instructions
End
start
Method1
Instructions
Instructions
the method2
Instructions
End
Method1
e.g.:XYZ(l=1,k='YES',m=0) or XYZ(1,'YES',0)
The preprocessor in C++ first searches the entire source code for instructions that
begin with a hash symbol.
# beginning instructionincludecauses the source code of the specified file to be
inserted here in the corresponding program.
- 20 -
2 Basic elements for individual CAD design methods
level 1 level 2
start start
Method1 Method2
Instructions Instructions
Call of the
End
Method2 Method2
(Parameter)
Instructions
End
Method1
C++ has three different keywords to define the permissions of data members and
methods:
• public: The class component is completely visible and can be read by derived
classes.
• private: The class component can only be used by the methods of its own
class.
- Point instructions:
%aPOINTS: - Screw bindings:
%aMITZ; %aSCRUBBING:
sequence of commands; sequence of commands;
%aEND:DOTS; %sEND;
e.g.:
TARGETBLOCK:BLOCK(0)-1;
COPY: 'field'<>, '\name'<>; TARGET
BLOCK;
The function of block structures is solved in C++ with the classes already introduced.
- 22 -
2 Basic elements for individual CAD design methods
e.g. B. : $POS,BEN,PR,QPL,P1-P2,QV,PA,TV;
On the working surface, the parts are as inFigure 2-10shown. According to [8], the
following applies to the starting position number: "The starting position number is the
lowest position number that a part can receive after detailing during automatic identical
part recognition. If this number is occupied by a different-looking part, it automatically
receives the next higher, free number. Parts can therefore be organized appropriately
using the starting position number by systematically numbering, for example, supports
and posts from 1, beams from 100, wall beams from 200, bracing from 300, etc., which
helps with company-specific process organization.
Point 1 in the preview(Figure 2-10)is the starting point of the profile bar, which is
selected first when laying, point 2 is the target point. Point 1 and the two strong
arrows inFigure 2-10show the working plane. Perpendicular to this, a double arrow
indicates the direction of view.”
• In the middle column (profile view PA) FRONT view - view of the high side
(web side) of a profile - is selected,
• RINA: converts the corresponding text value into a corresponding real value, if
possible.
Data entry
or issue
In the FFEIN interpreter language, reading and saving data is solved with a method
call. The corresponding method for reading is: GETELM() (from Eng.: get element),
and for writing is: SETELM() (from Eng.: set element).
Data, such as the property names and property values of an object, are stored in
files using SetElmname.rscwritten as text in ASCII format. The individual lines of
these files each contain a maximum of 96 bytes of data, of which the first 16 bytes
are the header of the identification key: key1 (=4 bytes) + key2 (=4 bytes) + bkey (=8
bytes). Such combinations of objects
- 25 -
2 Basic elements for individual CAD design methods
Object properties are therefore accessed for reading and writing via a key.
Suchname.rscFiles are used to store user interface data. The input fields, for
example, import data from these storage files and export data to the RSC files, see
Chapter 3.2.4. The default settings for the input field variables, which should also
appear in the desired language on the user interface, are also saved here. For the
reasons mentioned above, the files are saved with the extension .rsctaken into
account in the translation.
The get() method is the simplest way to read something from a file in C++, and put()
is the equivalent of the get() method when writing.
C++ provides a type of bookmark that shows the current position in the file. The
bookmark is at the position of the last access. The seekg() method is used to search
for a bookmark that meets a criterion. The tellg() method returns the current
position of the bookmark.
To globalize the CAD system with automatic output of error messages in the
different national languages and characters, a new approach is proposed here:
Messages should be displayed in a.inpFile and then automatically translated from
this file and output to the execution log. This means that translated text objects
always appear on the user interface. Only a single, current language file needs to be
considered when changing languages. This saves several megabytes of program
size.
- 26 -
2 Basic elements for individual CAD design methods
A practical example with the message “Plate height 250 is smaller than the permissible plate
where:
In the called foreign language file (here German language) the following content is
stored as sentence 571:
/* 571 fusz31
010000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 010000
000000 000000 000000 000000 000000 000000 000000 000000 (' Panel height
',HPL,' is smaller than the permissible panel height ')
The first line is a comment line, introduced with the string/*. The second and third
lines indicate in encrypted form the type of variable used in the text (e.g. number,
text), in this case the variableHPL, which has the value 250.
• POINTS:
INFORM: ALL(point number list);
REPORT: LISTEX, 'xp';
- 27 -
2 Basic elements for individual CAD design methods
LISTEY, 'yp';
LISTEZ, 'zp';
END: POINTS;
The coordinates of the desired points are reported with REPORT for control
purposes
• LISTNUM; NOLIST;lists the source text between these commands, including the
line number of the statement.
• INFO3D:
LOCATION: REFERENCE;
• The following example shows how typical construction tasks are formulated
compactly in FFEIN: The position of point 17 in relation to the closed polygon of
points 1 to 8 is checked. The result values can be: 0- outside, 1-inside, 2-on, 3-on
the corner of a line.
INFORM: (<1,8>);
PRINT: INNPKT(17);
- 28 -
3 Tools for working surfaces
"The user interface of programs is one of the most important parts of a program.
Poor user interfaces are often responsible for the lack of acceptance of otherwise
good, effective programs. On the other hand, this is unfortunately all too often a
neglected area, especially in professional programming."
The program user communicates with the applied program via the user interface,
which offers the following elements:
• Keyboard shortcuts
• Log window
• Guiding principles
Zooming means enlarging a section of an image on the screen. The CAD system
used simplifies zooming into a single hand movement. The middle mouse button is
used to draw a diagonal, e.g. from the bottom left corner to the top right corner, to
define the desired section. Clicking the middle mouse button undoes zooming. Both
zooming within the zoom and multiple middle clicks are possible recursively.
In other programs, image enlargement and reduction are also achieved by scrolling.
Another important tool is called pan. Pan is used for horizontal or vertical
movement in an image. Pan works like zoom in the CAD system used, whereby the
diagonal of the cutout must remain narrow, i.e. a horizontal or vertical line is
formed.
• Buttons
• Symbols
• Label
• Input fields
• Option fields
• Display images
- 30 -
3 Tools for working surfaces
/* Dialog box
------
5500 IBO(1)
BOX(1000,0), (3,Dialog box,-), (0,0), (+700+500), (1,BoComboClbCanc)
TBL (1001,1000), (1,options,-), (1,0,0), (6)
TBL (2000,1001,1,1,8), (1,block1,-), (1,0,0), (6)
LAB(2020,2000,1,1,8), (1, label ,-), (2,a,-) DRA(
2021,2000,2,1,8), (5,Area1,-), (250,200) TBL
(1010,1001,2,1,1), (1,block2,-), (1,0,0) , (6) EDI
(1012,1010,1,1), (1, ,grf_text_s), (1,12351,text,2edi,default , 16.80),
(1,12351,text,2edi,default ,16,80), (0,20,20)
TOG (1014,1010,2,1), (2, radio button ,-), (18,21162,pbBL,BLfa,default , 16, 4),
(18,21162,pbBL,BLfa,default ,16, 4) SEP
(1102,1001,5,1,20), (1,sep1 ,-), (0.5) TBL
(6600,1001,6,1,1), (1,block3,-), (1,0,0), (6)
PUB(6601,6600), (1, button ,-), (2,a,-), (start action / box disappear,in(d2e,0t),0) ,
(1,BoComboClbOK)
LAB (6604,6600), (1, ,-)
PUB(6605,6600), (1,a_close.2x4pm,-), (2,a,-), (Box disappears without change ng
(0,1,0), (1,BoComboClbCanc)
- - - - - - 999999 /
*
- 31 -
3 Tools for working surfaces
The text objects that appear in the source text can be defined as variables. This
makes the CAD programs available for foreign languages and international use.
The text elements to be defined are the labels in the dialog box and the tooltips. The
latter text objects provide short information (messages) about the corresponding
dialog box element over which the cursor is positioned.
#defLabel button
#defQuickinfo Start action / Box disappears
PUB (6601,6600), (1#,inscription,-), (2,a,-),(#Quickinfo), (2,0,0), (1,BoComboClbOK)
Dialog boxes are stored in configuration files (with the extension.cfg) programmed.
In the system used, each dialog box is introduced by 6 hyphens and the box number
(logical number), e.g.------5500. In the next line, the type of dialog window is
specified by the commandIBOand the number of the corresponding dialog box
type. This is followed by the window definition, which is defined with the command
BOXand contains the window's own number, its own name and the coordinates of
the window's placement on the screen. The definitions of the more important
elements of the dialog box, such as buttons, icons, etc. follow. The block is
terminated by the next box or by the hyphens with any logical number as the last
box in the file.
The more important components of the dialog box, each of which has its own
number and name, are presented in the following chapters.
3.2.1 Buttons
By buttons, seeFigure 3-1, the user can, for example, navigate from the current
dialog box to another, close dialog boxes and/or execute methods.
- 32 -
3 Tools for working surfaces
• OK: The dialog box is closed and the action specified in the dialog box is
performed.
• Close: acts likeOK, but without executing the dialog box action.
• Carry out: acts likeOK, but the dialog box remains open for follow-up actions.
• Secure: saves the complete contents of a dialog box under one name.
• Further: The settings of the dialog box are saved, the current dialog box is
closed, and the dialog box of the next step is opened.
• Back: The dialog box settings are saved, the current dialog box is closed, and
the dialog box for the current task is displayed.
The definition of a button is defined in the system used with the commandPUB
(pushbutton) is initiated, after which the placement in the dialog window, the label
and the font are determined. The tooltips and actions are ultimately communicated
in the running program.
Some formal programming hurdles are noticeable: If the action (callback) calls a
sequence of several commands that exceed the maximum line length of the
interpreter buffer (96 characters), the action is, for example, (1, Bo Ho Clbp Do Clb
Lis <6000: 12351: 123>), where6000:12351the reference to the config file and123is
the reference to the box number. The callbacks are placed after the line------123
listed. A single command (here action) may consist of a maximum of 256 characters.
- 33 -
3 Tools for working surfaces
3.2.2 Symbols
The symbols, e.g. for “Close dialog window” in theFigure 3-1, are spe-
cial buttons that do not use a text label to explain their function, but rather an
explanatory image. They are created in the same way as the buttons, only instead of
the label, the icon file isname.xpmdefined. The symbols are used more and more
often nowadays because they can solve the question of multilingualism in the
simplest way with their clear, self-explanatory symbol images. They can be designed
to be quite explanatory with a resolution of 24*24 pixels.
3.2.3 Label
Labels, seeFigure 3-1, are text-based instructions in the dialog box. They usually
serve as explanations for the input fields. A label must therefore take foreign
language into account.
When programming a label, the line containing the stringLAB, then the placement
in the dialog window, the label and the font are determined.
the coordinates of the placement in the dialog box and the font are specified. This is
followed by two memories, the data type of the input field (e.g. text, integer, double),
the length of the input field, the maximum length of the text to be entered. The first
memory contains the default setting that is read when the dialog box is opened, and the
second stores the user's input. (For more information about the memory and
multilingualism, see alsoChapter 2.13.)
TOGis the keyword in this case, then the above-mentioned properties follow again, such
as the placement in the dialog window, the label, the font and the two memories.
In the source code, the image display area is defined at the beginning of the line by the
command DRA, followed by the placement in the dialog box, the area height, and the
area width.
- 35 -
3 Tools for working surfaces
InFigure 3-2In the example shown, an order was opened and a connection was
made between two beams using a system-specific construction method. The
incorrect settings of the construction method caused the collision, about which the
user was warned in the log window in the selected language. The programming
background of multilingualism was explained inChapter 2.14explained.
The click options (Pick Requester) are defined inChapter 3.6.3explained in detail
with an example.
The first step in developing a new model is to consider which views and sections of
the model object are required in order to present the object and its specifications in
a text-free and self-explanatory manner.
Here, the beams with the tension rod cross are required as an overview and the
sections of the construction as a detail. They are each shown asname.bmf_File inserted
into the mission statement form, seeFigure 3-4.
- 38 -
3 Tools for working surfaces
Figure 3-4: Concept for the mission statement of a train staff cross
The [Besista] button inFigure 3-4The default setting shows the manufacturer system
that is used during construction. The other two buttons [-] allow the properties of
the tension rod and the circular disk to be specified in more detail after the system
has been selected. These two selection boxes are explained graphically with an
image of the tension rod and an image of the circular disk, i.e. without text. The
representation is suitable for global use worldwide because there is no translation
into foreign languages.
The various manufacturer systems are presented to the CAD engineer on the screen
in a form that clearly simplifies the selection process.
- 39 -
3 Tools for working surfaces
The buttons [-] mentioned above were given the following programmatic properties
when the mission statement was designed:
• AsButton type callback was set because it calls a dialog box for settings.
• The followingBox call returns the window specified by the method to the user
interface.
The CAD system used for this work provides the developer of guiding principles with
a special dialog window correspondingFigure 3-5available. The above-mentioned
method calls and the button type are defined in this dialog window. This dialog
window also offers the option of converting model-based drawings from the CAD
system (bmf_ format) into model-free 2D representations for guiding principles
(dmf_ format).
- 40 -
3 Tools for working surfaces
3.6.1 Objectives
An active interface with graphic methods means that the graphic representations in
a mission statement do not remain statically unchanged, but change dynamically
depending on user actions. The passive interface is thus expanded into an active,
"thinking" interface.
The following example introduces the first step of entering values using an input
field in a 2D representation, seeFigure 3-6. Dimension chain values such as the
width or length of a component can be marked as changeable values by double-
clicking on the dimension chain. After this double-click, a dialog box opens for
entering the corresponding value. Then, instead of the previous representation of
the object, a new representation is drawn that takes the entered value into account
quantitatively and meaningfully.
This process has the advantage that the user immediately sees the effect of his
changes and receives a helpful, realistic visualization through the graphics.
The dialog box contains a graphics field that provides an instant preview of any
input made by the user.
Z3:
OPN_BMF( );
BMF_TEXT( );
BMF_LINE( );
BMF_BEMA( ); etc.
CLS_BMF( );
END:Z3;
The calling of dialog windows in the CAD system used has a complex form, which is
explained using examples. To the dialog box of thePictures 3-6the call is:
(1,BoHoClbpCrShowBox6<000:12351:637:472:6502:12351:dp00:plan:default:16:80:0>)
- - - - - - 63740
# def click input over the graphic
# def Klickmes Change the values
# def OK OK
# def OKmes execute method
# def Close Close
# def Closemes Cancel
- - - - - - 6374
[...]
PUB (1057,1050), (1,#Click ,-), (2,a,-), (#Clickmes), (2,0,0),\
(1,BoInstallReqGrp<60006374:23510000>)
[...]
PUB (1076,2100),(1, #OK,-),(2,a,-),(#OKmes),(1,0,1),\
(1,BoHoClbClsShowBox<72>/BoClbMakro<DRAW_DECKPL:2>)
[...]
PUB (1079,2100), (1, #Close ,-), (2,a,-), (#Closemes), (1,0,1),\
(1,BoHoClbClsShowBox<72>)
/*
• Input via the graphic: offers the option to click on the user interface, which is
described under number60006374:23510000in aname.rqiFile is defined.
• OK: Closes the dialog window and executes the DRAW_DECKPL method.
To make the preview image itself clickable and to enter the desired dimensions for
length and width, an associated request is activated by the [Input via graphic]
button, seeFigure 3-6. This button provides a click option through the standard
callback BoInstallReqGrp<NrRequest:TypRequest> in the graphics field. The request
number (60006374)and the request type(23510000)determine the request group
that
- 44 -
3 Tools for working surfaces
by double-clicking on the graphic. In this case, this request group is located in the
filegraphics.rqi.
Begin:60006374,23510000;
RightMouseCallback:1,BoCreateCombiBox<6500:12351:65213>;
BeginReq;
ReqType:2;
CursorType:101;
MinElReq:1;
MeasurementFileNo:7000;
MessNr:10;
PickMode:6404;
Security level:1;
Result no:4;
ErgUstp:18069900;
PrevUsnr:67020000;
PrevUstp:28069900;
CoorSource:30;
SortList:1;
Callback:1,Ni3CallsFFein<DRAW_DECKPL:0>/BoCreateCombiBox<6500:12351:65; 211>
EndReq;
End;
• Callback, is the result of the activation when the request is satisfied. Here the
result displayed in the window of thePictures 3-6selected (picked) dimension
value is taken from the dimension graphic and entered into the input field of a
newly appearing dialog window (------65211), seeFigure 3-7.
The above-mentioned callback calls the dialog window of thePictures 3-7In this, the
user can make a change to the variables for the dimension as regulated by the
button definitions below.
- - - - - - 65211
[…]
PUB (6601,6600), (1, #OK,-), (2,a,-), (#OKmes), (2,0 ,0),\
(1,BoHoClbpDoClbLis<6500:12351:65212>)
PUB (6605,6600), (1, #Close ,-), (2,a,-), (#Closemes),\ ( 0,0,0),
(1,BoComboClbCanc/BoInstallReqGrpSec<->)
- - - - - - 65212
BoComboClbOK
BoClbMacro<DRAW_DECKPL:1>
BoHoClbpCrShowBox<6000:12351:6374:72:6502:12351:dp00:plan:default:16:80:0>
BoInstallReqGrpSec<->
- - - - - - 6522
The [OK] button saves the newly entered value to "default" and
- 46 -
3 Tools for working surfaces
The transfer of data from the user interface to CAD methods is also shown using the
example of the preview graphic of thePictures 3-8explained.
NI3_GETSGID(-&mfnr=-1,-unr,-&idout=-1);
@ ------------------------------------------------ @
Report segment number on cst.
@ ------------------------------------------------ @
mfno Error flag: -1 everything ok
@unr user number
@idout CStore Type 21
@ ------------------------------------------------ %
z mfnr=-1, idcst=-1, idout=-1;
%m NI3_GETLSE(mfnr,unr,idcst); #IF, mfnr, #RETURN,; %sCst:
%a SetDesc:idcst, 3, 2,0,1,
2,4,1,
2,8,1;
%a SeparateCol: idcst, 'columns';
%z idout=columns1;
%a FreeCst: 'split'<2,3>; %a
FreeCst:idcst;
%sEND;
Data import
Usable surface
Values of
Descriptors
memory
delete
NI3_GETSGNR(-&mfnr=-1,-unr,'name='name');
@------------------------------------------------
@ Get segment number from the OLSE-Cst with unr @
the utp is defined by the rqi
@ ------------------------------------------------ @
mfno Error flag: -1 everything ok
@unr user number
@name Field name
@ ------------------------------------------------ %
z mfnr=-1, id=-1, sind0=0;
%m NI3_GETSGID(mfnr,unr,id); #IF, mfnr ' -id, #JUMP, RET; %sCst:
%aExportInt:id,'are';
%aFreeCst: id;
%sEND;
# RET;
%sTARGETBLOCK:BLOCK(0)-1; %sCOPY:'are'<>,'\name'<>; %E sZLIBLOCK;
The output of an integer list of the memory into the method is done with the
command ExportIntsolved. Then the memory is released(%aFreeCst:id), and the
generated value field in the method is filled withTARGET BLOCKcopied one level
higher in the macro nesting, seeFigure 3-10.
- 49 -
3 Tools for working surfaces
Values of
Descriptor
memory
delete
Construction method
Data export
3.6.5 Methods
The principle of CAD methods is also illustrated using the example of the preview (
Figure 3-6)briefly presented. The CAD method DRAW_DECKPL used here constructs
and draws a rectangular cover plate.
The above method has only one parameterparamwith a value range of0until 2, which
works as follows:
• params=0
The method reads the clicked dimension value from the graphic into the change
window.
• param=1
Any selected value will be overwritten in the graph after the change, and the
graph will be redrawn according to the new value.
• param=2
%sCONTINUE;
%aZ3:
%aCONTROL: %aINITIALIZE;
%aSCALE: 1 : 10, 1 : 10;
%sEND;
%zm$_dir='plots/';
%mOPN_BMF('deckpl',0,-1,+1);
%sCONTINUE;
%mCLS_BMF;
%sEND:z3;
The following flow chart provides an overview of the change process on the active
interface, seeFigure 3-11.
- 51 -
3 Tools for working surfaces
In order to support design using theoretical methods, which are referred to here as
CAD methods, CAD manufacturers offer at least a basic set of industry-specific CAD
methods. Over the course of decades, libraries of CAD methods for steel
construction, timber construction, metal construction and glass construction have
been developed on demand, which shape the performance of the CAD system used
here.
• special forms.”
Each design family is offered as a menu in the CAD system used. The first two design
families are supplemented in this work with new design methods in order to open
up new markets. To do this, the design logic of corresponding products must be
recognized, analyzed from an engineering perspective and formulated in an
automated manner. "The concept for creating design logic was based on the
assumption that there are laws in the design process that are generally valid. The
assumption was based on design methods that had already been created and
contained the same or similar logic."
Construction method
PIPE SUPPORT JOINT
Construction method
TUBE FOOT
drawing
- 55 -
4 Theoretical methods of design for new markets and redesign of design methods
4.1.1.1 Basics
With the ROHRFUSZ1 design of the ANNAU family of methods developed here,
stiffened base plate structures for pipes - especially for antenna construction - can
be constructed. The number and design of the stiffeners can be individually
controlled. Likewise, the arrangement of the screws and holes
- 57 -
4 Theoretical methods of design for new markets and redesign of design methods
Parameters available.
The base plate design begins with the determination of the necessary minimum
distances between the drilling points. The generation of the plate and the
connections, welding as well as the hole and screw generation follow. With the
preset screw type HVMS,(Method fusz31)The screw structure has been extended to
include a lock nut according to DIN 7967. The system's own screw database is
available under the nameHVMSto add a new screw type.
Creating the individual stiffeners using the stiffener contour points and creating the
welds between the base plate and the stiffeners in methodfsteife1and the seam
between the base plate and the pipe support in methodcultivation31completes the
construction, sSee Figure 4-3.
- 58 -
4 Theoretical methods of design for new markets and redesign of design methods
Method cultivation31
Construction of column feet on vertical columns
Method v_anb_31
User specifications Method rohrbote
Determine drilling points
4.1.2.1 Basics
The ROHRSTSTOSZ1 method within the KNOTEN family of methods is used to create
stiffened joints between the sections of an antenna mast for pipe supports. For the
pipe flanges, either blind flanges according to DIN 2527 can be used.
- 61 -
4 Theoretical methods of design for new markets and redesign of design methods
can be selected, or freely selectable dimensions can be specified. The number and
geometry of the stiffeners can be individually controlled, as with the foot
connection. Parameters are also available for the arrangement of the screws and
holes.
When the head plates are placed, problems arise that arise from the representation
of a rounded part. The reason for this is that the circle is represented as a polygon in
the computer's internal model. The program does not define the diameter of a circle
directly, seeFigure 4-7. It is therefore useful to give point objects the property
"Identifier" and corresponding points the identifier for the start and end of the circle
segment. This problem is solved with the FORCED CONTOUR and IDENTIFIER
commands.
Method knotan69
Pipe support over front plate
Method vorkt69
Preferences and specifications
Method plgeo2
Points üfor plate generation
Method gewedi
Weight of the headstock
Method out
Creating a hole in the center of the
Front plate
Method fsteife1
Creating a stiffness
Method out
Screwing the front plates
Method schwpltr7
Welding the front plates to the supports
T' <D
To create the hole in the center of the flange, which serves as a cable feedthrough,
was not created using an intersection body, but as an object Screw connection
without screw. The object properties and methods of screws are suitable for such
holes if additions or changes are required later, e.g. when moving or deleting. See
Figure 4-6.
If the radio buttonTable applicationinFigure 4-8is switched on, the settings made
in the "Table" window - such as nominal diameter and nominal pressure - are taken
into account.
/*
- - - - - - 57000
# def titleTable
# def NWNominal diameter
# def NDNominal pressure
# def OptTable application
- - - - - - 5700
# in 6000 12351 57000
IBO (1)
BOX (1,0),(1,#Title,-),(0,0),(+230+5),(1,BoComboClbCanc)
RCL (2,1),(1,for icons,-),(1,1,1),(7)
TBL (1000, 2), (1,for icons,-),(1,1,1),(7)
LAB (100,1000,1,2),(1, ,-)
CBC (101,1000,1,3,8), (#1N, W,-), (5700, 250457, nominal, 0101, default , 16, 8), ( 5700,
250457, nominal, 0101, default , 16, 8), (5700,250457,13), (5,8), (0,0)
LAB (102,1000,2,2),(1, ,-)
CBC (103,1000,2,3,8), (#1N, D,-), (5700, 250457, nominal, 0101, default , 24, 8), ( 5700,
250457, nominal, 0101, default , 24, 8), (5700,250457,12),(5,8),(0,0)
- 65 -
4 Theoretical methods of design for new markets and redesign of design methods
Figure 4-9: Interim status of the mission statement Pipe support jointwith table data
ten
The one in theFigure 4-9The intermediate version of the model shown was made
with real, scaled sizes of the construction elements. In this intermediate state, it
does not yet have the dimensions of the model of the pipe base, seeFigure 4-4,
applied advantages of a model, therefore the stiffness parameters are difficult to
recognize.
- 66 -
4 Theoretical methods of design for new markets and redesign of design methods
It took almost two decades to incorporate the rounding of profiles into CAD
methods, although they are not shown in 3D models to reduce storage
requirements. For several years now, however, architectural firms have been
demanding detailed drawings showing the rounding from construction design
firms.
After the introduction of real rounding, the following problem occurs,Figure 4- 10:
After notching, the cutting contour does not look symmetrical with respect to the
central axis of the secondary beam. Therefore, the upper edges of the secondary
beams that connect to the main beam are not on the same level.
- 67 -
4 Theoretical methods of design for new markets and redesign of design methods
Finding the cause of the error is the first step in the redesign process. Testing and
locating aids are available to the developer for the redesign, as inChapter 2.15
explained.
Basically, all interactive generation and detailing steps are created via the recorder
as a process log of the individual actions of the development engineer. The design
levels of the profile types that are generally useful are defined in advance. They are
selected on a case-by-case basis via the recorder.
The right side of the window corresponds to a model for the developed method. The
variables belonging to the displayed dimension chains are automatically named V
(variable) and a number between 11 and 60. The variable properties can be selected in
the left part of the window. The change to a variable is shown simultaneously in the left
part of the window and in the right part of the window, the model.
All image elements (segments) have their own ID number, which is assigned to a
separate storage location. After clicking on the dimension chain, the corresponding
values are read from the corresponding storage location. The value from this
storage is copied into the left part of the dialog window. After changing the value of
the variable, the new value is displayed in the dimension chain change window with
OKThis confirmation is followed by two actions, namely saving the new value and
redrawing the mission statement accordingly.
Figure 5-2shows that the choice between different design variants is made much
easier for later users by using selection images. The selection images can be used
globally without any adjustment, ie foreign language translations are not necessary.
- 71 -
5 CAD method recorder and its further development, the logic recorder
Macro application
Config Autofsc
Block 11…30 V1
Task A…J V2
Intersection
No task projection V3
Levels V4
Generate parts V5
Adjust part
V6
Adjust part via layer
Create details
Notching
Connections
generate
Tools
CoplConfig
5.1.3.4 Variable
The purpose of a CAD method is to formally describe the design logic of a solution
family in such a way that the design process is automated. In order to have a
specific solution automatically designed within a design family, the user only has to
specify the values of the determining design variables. The method developer sets
the properties of the design variables using the [Variables] button inFigure 5-5
firmly.
• Text variable
Related construction steps are blocked. The blocks are located at the highest level of
the hierarchy. The tasks that form the blocks follow one level lower. These tasks are
the sequence of the individual
- 76 -
5 CAD method recorder and its further development, the logic recorder
Generate disk
Screwing plates
as a sub-macro
Generate ribs
as a sub-macro
Generation levels
determine
Generate ribs
Figure 5-8: Recorder command sequence for method Pipe support joint
- 78 -
5 CAD method recorder and its further development, the logic recorder
A solution that is not accepted in construction practice is not sufficient from an engineering
perspective and must therefore be rejected.
The logic recorder is presented with the help of some selected examples from the
staircase area.
5.2.1 User interface design of the logic recorder and sequence of actions The
logic recorder is stored in the CAD system like an independent design job under a
name, e.g.Tre3_112(Design family TRE3 for customer stairs and method number 112
in the solution family) inFigure 5-10, started.
The user interface elements of the logic recorder are the image, which represents a
graphical meta-file generated by methods, and the icons for the user actions, see
Figure 5-10.
TheFigure 5-4The tasks shown (here work processes) are transferred to the logic
recorder. The most important ones, such as:
are implemented in the logic recorder. Additional work processes still need to be
transferred to the logic recorder. The logic recorder can easily be expanded with
additional work processes due to the logical structure of the wizard windows, see
Chapter 5.2.2.
The following recording flow charts (Image 5-13, 5-14, 5-15and5-16) represent the
steps of the work processes linked together by wizards.
Profile type
Type of adjustment The way in which the forming part is taken into
account when fitting, e.g. 3D SURFACE, PARTS-
ENVELOPED CUBE or PARTS-EXTREMA
e.g.: 4 mm
Seam thickness
Connection type
ASSEMBLY or WORKSHOP
The planes play a central role in the method creation. A profile or a plate is basically
placed as a bar between 2 points, seeChapter 2.11. The screw placement is also
determined by points. These points are not determined by the conventional 3
coordinates (x, y, z), but by an intersection of three planes that are not parallel to
each other. The three planes are in the work process shown aboveScrewing parts
togetherclearly visible. The reference plane, the planes for horizontal screw
distribution and the
- 85 -
5 CAD method recorder and its further development, the logic recorder
The following flow chart (Figure 5-17) shows the necessary properties to define a
layer.
The levels have relationships to the elements of the connection, see flow chart
Setting a level. With these relationships, the points in the connections are
generated independently of the coordinates.
After the desired CAD method is recorded, it often happens that the method is
used with different settings. The symbolEdit opens a window in which all recorded
operations are listed, seeFigure 5-18.
- 86 -
5 CAD method recorder and its further development, the logic recorder
The option field that is found in front of the name of the operation regulates
whether the corresponding operation is taken into account in the method flow. The
option field that is located behind the operation name of the operation to be
processed (in the Figure 5-18marked) editing symbol calls up the wizard for
subsequent editing, seeFigure 5-19.
- 87 -
5 CAD method recorder and its further development, the logic recorder
After recording or editing, the method can be executed using the usual
symbol. After selecting the execution symbol in the logic recorder, the individual
parts that have already been created, e.g. main and secondary beams, can be
picked. The connection between individual parts, whose method was recorded and
expanded to form a solution family, is then executed automatically.
To make it easier to recognize the created macro for later reuse, a three-
dimensional image of the connection should be created in the Logic Recorder
window.
First, a graphic meta-file created by methods is read in, which consists of text and
lines. The creation of such a file was already described in Chapter 3.6After recording
and executing the method, a three-dimensional image of the connection can be
generated. Then - after the guidance message selected in the local language - this
meta-file is overwritten with a three-dimensional image of the connection and saved
under the same name.
This function is activated via the symbolCloneis activated, after which the logic
recorder is closed. After selecting the construction object created in the design
using the method to be cloned, the logic recorder of the desired CAD method is
opened.Figure 5-21shows the cloning of a method. The construction method that
creates a connection between railing and stringer is closed. After cloning, the
desired CAD method of a
- 90 -
5 CAD method recorder and its further development, the logic recorder
The text variables of the dialog boxes are defined in different configuration files
according to language. Thus, each language (3 languages developed as examples)
has an associated configuration file that is activated after the language selection.
Another way of translation is to collect the texts and their translations in the
definition files. In these files, the text elements are divided according to their
language and the words are marked with the§When the program starts, the text
values are read from the corresponding column of the selected language.
OFF§OFF§
CREATE§CREATE§
SHOW FILTER§SHOW FILTER§ FREE
INPUT:§FREE INPUT:§ CALL FREE FFEIN§
Footer§Footer§
FOOTER§FOOTER§
In the first case - which is ultimately used in the construction recorder - the
translation file is larger, but this has several advantages:
The second advantage mentioned above needs to be clarified. The use of definition
files has standardized the translation so that the same translation is valid in all parts
of the program. However, practice shows that this standardization is not always
correct for complex programs because the word-for-word translation often causes
misunderstandings, for example:OUT OFcan bothOFFas well as OUTThe meaning of
a word depends on how it is used in the program, so the same words can have
different translations in different dialog windows.
- 93 -
5 CAD method recorder and its further development, the logic recorder
The Construction Logic Assistant module consists of many windows, which should
be systematically structured for subsequent editing, additions and corrections.
Variable definitions
Head
Body
Buttons
Welcome window
- - - - - 3000
… …
… … …
The configuration file area from 3000 to 4000 forms the body of the wizard. In a box
in this area, further box calls are made with the command#inembedded.
The following example explains a dialog box of the wizard in which the name of the
operationLaying the slabis determined by the designer. See alsoFigure 5-25.
- 95 -
5 CAD method recorder and its further development, the logic recorder
- - - - - - 3050
#in30 211621050
#in30 211622000 /
*
TBL (1300,1001,10, 1, 1),(1,options,-),(1,0,0),(6)
LAB (1301,1300,1,1,1),(1, ,- )
LAB (1302,1300,2,1,1,99,1),(1, ,-),(0,0, 0,0,0,250)
EDI(1323, 1300, 3, 3, 1), (9, TSK11, -), (#rscnr, 21162, assi, stPL, default , 20, 40n)r, , (# rsc
21162, assi, stPL, default , 20, 40), (0, 0, 40)
/*
#in30 211624001 /
*
First, in the box1050the variables are defined, then the wizard header is read in
under box 2000. With the input field (EDI, seeChapter Input fields 3.2.4) it is the
turn of the dialog box body, and finally box 4001 is called from the button area, see
Figure 5-23,and further details inAppendix 5.2.2.
- 96 -
5 CAD method recorder and its further development, the logic recorder
According to [14] it was explained: “In steel and plant construction, welded and
bolted connections are often designed to connect two beams together.” In the same
way, the stair connections with railing handrail and post, railing post and knee rail,
railing post and stringer, stringer and step are always created between two bars.
These individually designed nodes, which are repeated on a staircase, are such a
manageable construction task that the limited number of work processes of the
logic recorder is not exceeded.
The following example (Figure 5-26) shows a section of the staircase area of a
complex construction, the connections of which can be made more efficiently and
effectively with the logic recorder than with conventional methods.
- 97 -
5 CAD method recorder and its further development, the logic recorder
Figure 5-26: Cold storage above tank layer (exclusion nitt in the stair area) –
Source: Ingenieurbüro Olker GmbH
- 98 -
6 Summary and outlook
The logic recorder's primary task is to satisfy construction needs using the basic
elements of information technology and to expand knowledge of construction.
Automated, reusable CAD methods, which can be created by the program user as
required using the logic recorder, are used to implement projects efficiently and at
the same time in a time-efficient manner.
The CAD methods for creating the desired connections, which are recorded with the
logic recorder, are created in logically developed step sequences with the help of a
very easy-to-understand design logic assistant. This means that the design methods
offered by the software used can be supplemented as required and, if necessary,
they can also be subsequently changed using the same assistant in a simple
process.
Changes often occur in ongoing projects, for example a new profile is needed in a
connection. In this case, the old connection must be deleted and the corresponding,
self-recorded CAD method is automatically executed again instead of the usual time-
consuming, multi-step connection reconstruction.
The text elements of the dialog boxes were defined as variables that correspond to
the currently selected language. The static graphic files were developed into
dynamic graphic files, whereby variables are used for text elements - as with dialog
boxes. The automatic output of messages in the corresponding language appears in
the process log window.
Graphic symbols were used wherever possible in the design. Self-explanatory, three-
dimensional images were used instead of text-based labels, as were guiding
principles and selection images for choosing different design variants.
The logic recorder was produced in several languages and is therefore country-
independent in order to guarantee the greatest possible success for its use in
foreign markets as quickly as possible without any additional effort.
6.2 Outlook
The design logic assistant module consists of a collection of future-oriented,
coherently structured windows that enable quick, easy subsequent editing. The
addition of further functions and work processes to the logic recorder has been
carefully prepared.
The logic recorder was first successfully used in practice in staircase construction.
The knowledge gained here can also be used in other areas of application, such as
concrete, composite, wood, glass and facade construction, in a supportive and
profitable way in every respect, due to its transferability.
The user interface elements of the design program were thoroughly examined and
discussed with regard to multilingualism. The ideas on multilingualism discussed in
this work are not only transferable to newly developed system parts or systems. At
the same time, they also form the most important basis
- 100 -
6 Summary and outlook
Furthermore, according to Koch [14]: “The success of these further developments depends,
among other things, on the ability to continue the exemplary cooperation with practice.”
- 101 -
Bibliography
Bibliography
[1] Chang, Y.:A language-independent user interface with intelligent CAD
objects for construction.Dissertation, Wuppertal 2002. Full text link:
http://elpub.bib.uni-wuppertal.de/edocs/documents/fb11/diss2002/chang/
[2] Streich, B., Weisgerber, W.:Computer-aided architectural modeling: CAAD
basics, methods, examples. Birkhäuser, 1996. ISBN: 3-7643-5363-5.
[3] Rooney, J., Steadman, P.:CAD: Basics of Computer Aided Design.Oldenbourg,
1990. ISBN: 3-486-20706-7.
[4] Pegels, G.:Basics of networked, cooperative planning processes for complete construction with
steel construction, metal construction, timber construction and glass construction. Interim
http://www.iib.bauing.tu-darmstadt.de/dfg-spp1103/de/index.html
[5] Pegels, G.:Construction Informatics Working Group. Memorandum, Wuppertal 2001.
[6] Fähnrich, K.-P., Janßen, Ch., Groh, G.:Tools for developing graphical user
interfaces: basics and examples.Oldenbourg, 1996. ISBN: 3-486-22889-7.
[14] Koch, H.-D.:Approaches and basic elements of a CAD/CAM system for steel
construction. Dissertation, Wuppertal 1991. ISBN: 3-925714-53-7.
[15] Westphal, Ch.:Construction informatics for virtual companies.Shaker, 2002. ISBN:
3-8322-0798-8.
Attachment
DRAW_DECKPL(param=1,testlv=0)
@
# JUMP,%l param;
# 0; @ Input via the graphic/ dimension/ before changing the value -> @
reads the value from the graphic in the box
# 1; @ Input above/ after the value change %m
NI3_GETSGNR (mfnr,4,'are'); #IF, mfnr, #RETURN,;
@
# IF, param=0, #JUMP, end_1; %z txt1='
';
%mGETELM(mfnr,1,12351,'text','2edi','default ','txt',1:(16,80)); %z
text=%fVALUE(1,txt1);
# IF, text<=0;
# THEN, %sPRINT:%g1,1; %sPRINT:'Text
specification is meaningless';
# RETURN,;
##;
# end_1;
Create drawing:
# BUFFER, BODRAW_START; @
@ Headline
@ ------------
%mBMF_TEXT(mfnr,testlv,1:(-l2,b2+fak*3,0), 0,
0, 1,schl,
2, 0, 3,txthoe[txtind],0.9,
1, 0.0, 1, 0, 0,
1, 0.3, 15.0,
1, 0, 0.18, 7,
0, 0.2, , 0);
# IF, mfnr, #JUMP, end_zchng; @
@ Plate dimensions
@ ------------------
%sVALUE FIELD:koo_pl,-l2,-b2,0, l2,-b2,0,
l2, b2,0, -l2, b2,0,
- l2,-b2,0;
- 105 -
Attachment
@
%mBMF_LINE(mfnr,testlv,1:('koo_pl'<>), 0,
0, 1.3, 0, 0.18,
1,0.3,15.0,1,0.3,15.0.7,
0, 0, 2.0);
# IF, mfnr, #JUMP, end_zchng; @
# BUFFER, BODRAW_END;
- 106 -
Attachment
@
%z blf=' ', erg=%fKETT(blf,blf),
erg=%fLEGE(erg,'plots/deckpl.bmf_',1);
%mSETELM(mfnr,6502,12351,'dp00','plan','default ',1:(16,80),1:(erg)); @
# JUMP, END;
# END;
Definition range:
- - - - - - 1050
# def heading 3. Step
# def question Give your step a name!
# def clbzurueck (1, Bo Combo Clb OK/ Bo Clb Macro <assist: 3050>/ B lboMCakro 1
<copl_cons1: 35>/ Bo Create Combi Box <30: 21162: 3005>)
# def clbcontinue (1,BoHoClbpDoClbLis<30:21162:10500>)
- - - - - - 2000
# in 30 21162 1
IBO (1)
BOX (1000 ,0),(1,Assistant #overheading,-), (3,0),(+350+350),(1,BoComboClbCanc )
TBL (1001,1000),(1,rclpick,-), ( 1,0,0),(6)
TBL (1100,1001,3,1,20),(1,options,-),(1,0,0),(6)
LAB (1101,1100,1,1,1),(1, ,- )
LAB (1102,1100,2,2,1),(9,#question,-)
LAB (1103,1100,3,3,1),(1, ,-) BGC
(1100),(grey95)
BGC (1101),(grey95)
BGC (1102),(grey95)
BGC (1103),(grey95)
SEP (1200,1001,5,1,20),(1,sep1,-),(0,4) /*
Buttons:
- - - - - - 4001
SEP (1900,1001,20,1,20),(1,sep1,-),(0,4) RCL
(2000,1001,21,1,1),(1,rcl2,-),(0, 1,1),(6) LAB
(2021,2000),(1, ,-)
PUB (2022,2000),(1,#back,-), (2,a,-),(#meszurueck),(0,0,1),#clbzurueck LAB
(2025,2000),(1, ,-)
PUB (2030,2000),(1,#weiter,-), (2,a,-),(#mesweiter),(0,0,1),#clbweiter
LAB (2031,2000),(1, ,-)
PUB (2035,2000),(1,#abbr,-),(2,a,-),(#mesabbr),(0,0,1),#clbabbr
LAB (2036,2000),(1, , -)