Materials About FFEIN - De.en

Download as pdf or txt
Download as pdf or txt
You are on page 1of 111

Translated from German to English - www.onlinedoctranslator.

com

Theoretical methods
for systematic construction

Dissertation for the degree of Doctor of Engineering


of the Department of Civil Engineering at the University of Wuppertal

from
Tamas Vadas

Wuppertal 2003
Dissertation submitted on: 20.05.2003

Day of the oral examination: 16.12.2003

1. Reviewer: Mr. Univ.-Prof. Dr.-Ing. Georg Levels

2. Reviewer: Mr. apl. Prof. Dr.-Ing. Dr. hc (SK) Dietrich Hoeborn


I

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.

The results will be confirmed in practical use.

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.

The results will find their confirmation in practical application.

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

3.2.1 Buttons ............................................................................................................. 31


3.2.2 Symbols .......................................... ................................................ ................. 33
3.2.3 Labels .......................................... ................................................ ................................. 33
3.2.4 Input fields............................................................................................................ 33
3.2.5 Option buttons (switches) ........................................................................................ 34
3.2.6 Display images.................................................................................................. 34
3.3 Protocol window ............................................................................................................ 35
3.4 Options on the user interface................................................................................. 35
3.5 Guiding principles ................................................................................................................ 36
3.5.1 Objectives of mission statements ................................................................................ 36
3.5.2 Conception and development of a concrete example “tension rod cross” ............ 37
3.6 Active interface with graphical methods ................................................................................ 41
3.6.1 Objectives.................................................................................................................. 41
3.6.2 Drawing creation in active surfaces ................................................................ 42
3.6.3 Calling process ............................................................................................................ 42
3.6.4 Storage between user interface and CAD methods................................................. 46
3.6.5 Methods ................................................................................................................ 49
4 Theoretical methods of construction for new markets and redesign of
Construction methods.................................................................................................................. 52
4.1 New design methods for new markets ...................................................................... 54
4.1.1 CAD method PIPE FOOT ...................................................................................... 56
4.1.1.1 Basics ......................................................................................................56
4.1.1.2 Method structure ............................................................................................57
4.1.1.3 Mission statement ................................................................................................58
4.1.2 CAD method TUBE SUPPORT JOINT.................................................................. 60
4.1.2.1 Basics ................................................................................................................60
4.1.2.2 Method structure ............................................................................................61
4.1.2.3 Model for the joint of an antenna mast ......................................................63
4.2 Redesign of methods.................................................................................................. 66
5 CAD method recorder and its further development, the logic recorder .......... 68
5.1 CAD method recorder as a development tool.................................................................. 68
5.1.1 Objectives.................................................................................................................. 68
5.1.2 User interface of the existing system recorder................................................. 68
5.1.3 Application experience with the system's own recorder ...................................... 70
5.1.3.1 Selection images ................................................................................................70
5.1.3.2 Toolbars for developed CAD methods ................................................................71
5.1.3.3 Block diagram of the native recorder ................................................................72
5.1.3.4 Variables .......................................... ................................................ ...........74
5.1.3.5 Selection requests............................................................................................75
5.1.3.6 Blocks and tasks ................................................................................................75
5.2 Logic recorder as a further development of the method recorder .................................. 78
5.2.1 User interface design of the logic recorder and sequence of actions .................. 79
5.2.2 Construction Logic Wizard ................................................................................ 93
5.2.3 Experimental proof of company-specific staircase designs............. 96
6 Summary and outlook ................................................................................................ 98
6.1 Summary ................................................................................................................ 98
-3-
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

1.1.1 Concept of construction informatics

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.”

It is structured according to the following areas:

• Construction informatics technology

• Methods of construction informatics

• Models of construction informatics

• Construction informatics processes

1.1.2 Importance of construction informatics

[5] goes on to say: “The introduction of computers as multifunctional workplaces in


the construction industry was associated with fundamental changes.” “Construction
informatics is a basis of modern civil engineering and deals with the application and
further development of computer science in construction.” In this way, the work of
civil engineers in the CAD area is made easier with the help of computer science
tools. CAD programs are design programs for the modeling and representation of
buildings.
-5-
1 Backgrounds

"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."

1.2 Objectives of construction informatics

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:

1. An object-oriented project database that supports simultaneous, distributed work


in the full requirements profile of the construction industry without contradiction
and with sufficient speed.

2. Quality-assured, automated procedures for simultaneous project processing,


even from different locations, using Internet and intranet connections as a
network.

3. Procedures for ongoing information exchange between technical and


-6-
1 Backgrounds

commercial processing.

4. Completion of civil engineering CAD systems with architectural elements so that


everything from building permit drawings to workshop plans can be worked on
consistently without system disruption using one system instead of - as is common
today - using several incompatible systems.

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.

6. Efficient project implementation due to the multiple use of macros (also in


other projects) and fast re-editing of changes in ongoing projects through the
user macros created by the program user as required, seeChapter 5.

7. Requirements of multilingualism and the possibility of choosing different


national standards in the programme due to globalisation and the expansion
of markets.

1.3 Aim of this work

1.3.1 Structure of CAD systems


Design programs are basically structured in a shell-like manner. The core is the
three-dimensional, geometric volume model - e.g. realized as an object-oriented
database. It becomes a product model through additional properties. The methods
that form the constructive knowledge envelop this core. The design connections are
automatically generated using CAD methods. The user then sees the result of the
programming on the user interface (hereinafter referred to as the "user interface",
according to Pegels). SeeFigure 1-1

.
-7-
1 Backgrounds

Object-oriented
database

3D model,
Product model

CAD methods

Usable surface

Figure 1-1: Structure of CAD systems

Modern CAD systems must be designed to run independently of platforms - for


example, on both Windows and Linux. Linux has the advantage that it is free to use.
Windows, on the other hand, is much more widely used in the construction industry.
-8-
1 Backgrounds

1.3.2 Approach of this work


This work first explains the basics of CAD systems from the perspective of computer
science and civil engineering, which is then used as a basis. The second part deals
with the new research results - the CAD methods for user macros mentioned above.

Based on theFigure 1-1The two upper shells shown first explain the basics:

• Basic elements for individual CAD design methods (Chapter 2) and

• Tools for working surfaces(Chapter 3).

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:

• Theoretical methods of design for new markets (Chapter 4.1) and

• Redesign of construction methods (Chapter 4.2).

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:

• CAD Method Recorder (Chapter 5.1) and

• its further development, the logic recorder (Chapter 5.2).

Finally, the findings are reflected upon and forecasts are made about possible and
desirable future perspectives:

• Summary and outlook (Chapter 6)


-9-
2 Basic elements for individual CAD design methods

2 Basic elements for individual CAD


design methods
2.1 Programming languages
Before the details and special features of the CAD development tools are explained in more
detail, the most important programming languages must be introduced and classified.

The classification of programming languages:

• Machine orientation: assembler, machine language

• Problem orientation: COBOL, PASCAL, C, Fortran,FFEIN7

• Logic orientation: Prolog, LISP

• Object orientation or object-based:C++, Visual Basic, VBA, Delphi, Object


COBOL

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.

Modern, object-oriented programming, such as the use of the C++ programming


language, meets today's requirements. Therefore, the programming languages
FFEIN7 and C++ are compared and it is shown that the programming elements used
in the logic recorder examples - such as the control instructions - can also be
transferred to other modern and widely used programming languages.
- 10 -
2 Basic elements for individual CAD design methods

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

Figure 2-1: 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

sen is after the optional allocation accelerator%zto be formulated as follows:

%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.3.2 Global and local variables


Especially in larger development projects that are worked on by several people, it is
recommended to protect all variables within functions. (Encapsulation) The local
variables are only valid and visible within the current function. When the function is
exited, the memory locations of the local variables are released. The advantages of
global and local properties also apply to the inheritance of classes, seeChapter 2.9.2
.

If in the language FFEIN the character&the second letter of a variable (called a


common variable), then an assigned value also overwrites the higher level.
Parameters without this character can only import values, so they are used for
encapsulation. For parameters with characters&the export of the parameter value
to the higher, calling level is permitted.

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.

The keyword void introduces a function.

void function()
{
sequence of commands;

C++ allows function polymorphism or multiplicity of functions, that is,


- 13 -
2 Basic elements for individual CAD design methods

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.

2.5 Classes and their objects


The combination of variables and functions into a unit is called a class. The
described combination is called encapsulation.

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.

In programs, variables are often incremented and decremented, hence the


statement C=C+1asC++and the instructionC=C-1asC--were simplified.

2.6.2 Logical expressions


A comparison expression with comparison operators returns the truth value - true
or false - as a result.

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.

e.g. E.g.: a0=4; a1=7; a2=1; a3=-6; a4=12;

In C++, an array withiElements the addresses of0untili-1.

2.8 Control instructions

2.8.1 Conditions

incorrect
Condition No
Instruction

true
Yes
Instruction

Figure 2-2: Condition

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:

• if (condition) {statements;} • # IF, condition, statement;


• if (condition) {statements;} • # IF, condition;
else{statements;} # THEN, statements; ##;
• # IF, condition;
# THEN, statements; ##;
# OR, statements; ##;

2.8.1.2 Multiple selection

Condition

Instruction Instruction Instruction Instruction Instruction

case1 case2 case3 caseX default

Figure 2-3: Multiple selection

The value behindswitch(in FFIN:SELECTION) is compared with the individual values


behind case (CASE)If they match, the instructions are placed after the colon -
otherwise after thedefault:-executed.

InC++: In FFEIN:

switch (value) # SELECT, value;


{ # CASE, value1; statements; ##;
case Value1: instructions; # CASE, value2; statements; ##;
case Value2: instructions; # CASE, value3; statements; ##;
case Value3: instructions; # CASE, valueX; statements; ##;
case ValueX: instructions; # CASE, ; statements; ##;
default: instructions; ##;
}
- 16 -
2 Basic elements for individual CAD design methods

2.8.2 Repetitions (loops)


Parts of a program can be executed repeatedly using a loop.

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.

A loop whose condition is always true is called an infinite loop.

Grind-
Beginning

Instructions n

Grind-
End

Figure 2-4: Repetition

2.8.2.1 Head-controlled repetitions

initialization

true
Condition Instructions iteration

incorrect

Figure 2-5: Head-controlled repetition


- 17 -
2 Basic elements for individual CAD design methods

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:

for (initialization; condition; iteration) Initialization;


# LOOP, condition, iteration;
{ statements;
instructions; ##;
}

2.8.2.2 Foot-controlled repetitions

Instructions

true
Condition

incorrect

Figure 2-6: Foot-controlled repetition

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

2.9 Program structure

start

Instructions

End

Figure 2-7: Start and end of the method

2.9.1 Method nesting


The methods of a program are not arranged in a chain. They form nested levels, i.e.
method stacks. A method(name.met)calls another in two ways.

2.9.1.1 Same level


The first possibility is that the method gets its data inserted through a buffer, see
Figure 2-8. (Source code: #BUFFER, method name)D ;The first line
of a buffer is a standard statement: %sCONTINUE;.All buffers have this same “formal
head”.
- 19 -
2 Basic elements for individual CAD design methods

start
Method1

Instructions

Instructions
the method2

Instructions

End
Method1

Figure 2-8: Buffer in the method

2.9.1.2 Subroutine call


The second possibility is the classic subroutine call of common programming
languages, seeFigure 2-9.

List elements of a subroutine parameter list consist of a parameter name to which a


default value is assigned after the assignment character “=”. The parameter names
can be omitted if the order is maintained.

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

Figure 2-9: Procedure call

2.9.2 Inheritance and derivation in C++


Inheritance within a programming language means that classes transfer their
properties, i.e. their methods and data elements, to other classes, i.e. they inherit.
Inheritance from the perspective of the new class is called derivation. The new class
is derived from an existing class (base class). By changing individual properties,
these are adapted to specific needs.
- 21 -
2 Basic elements for individual CAD design methods

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.

• protected: The class component is completely visible to derived classes, but


otherwise private.

• private: The class component can only be used by the methods of its own
class.

2.10 Block structures


In FFEIN, instructions can be bracketed in block structures.

Examples of different block statements:

- Point instructions:
%aPOINTS: - Screw bindings:
%aMITZ; %aSCRUBBING:
sequence of commands; sequence of commands;

%aEND:DOTS; %sEND;

- Welded joints: - Structural connections:


%aSEAGS: %aCONNECTION:
sequence of commands; WORKSHOP;
%sEND; parts list;
%sEND;

A block is also used to exchange data between the different levels.

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

2.11 Generation of rod-shaped components


The$Character in FFEIN introduces the generation statement as a key character. The
elements of the specification list of the statement consist of the start position
number (POS=1), the name (BEN='column'), the profile name (PR='IPE360'), the
material (QPL= S235JRG2), the points (P1=1, P2=2) to which the bar element is
assigned, and the position parameters (QV=RIGHT, PA=FRONT, TV=BACK).

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.”

TheFigure 2-10The pattern shown contains the following properties:

• The bank angle QV option knob is set to RIGHT.

• In the middle column (profile view PA) FRONT view - view of the high side
(web side) of a profile - is selected,

• and the TV depth is set to REAR.


- 23 -
2 Basic elements for individual CAD design methods

Figure 2-10: Laying a rod-shaped construction element ents

2.12 Basic methods from system-specific method libraries for the


development of macros
In order to be able to formulate solution steps for design tasks, application-specific
basic commands are helpful. The following list gives an impression of which basic
commands are typical:

• PUTPKTCST: creates points on the usable surface.

• DET_SCHN: cuts a part along a plane.

• ANPT_TEIL: adapts one part to another part.


- 24 -
2 Basic elements for individual CAD design methods

• DRAULANG: is used for screw connections. It creates elongated holes.

• DRAUSCR: creates screw connections.

• SCHWANA: creates welded seam connections.

• GETELM: reads data from standardized storage devices.

• SETELM: writes data to standardized storage.

• AINR: converts an ASCII text into a numeric value.

• RINA: converts the corresponding text value into a corresponding real value, if
possible.

• ELEMELI: deletes unnecessary auxiliary parts.

2.13 Reading and saving data

Data entry
or issue

Figure 2-11: Data input and output

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.

2.14 Error handling


If the interpreter or CAD method used detects an error or an unsolvable situation in
the program flow, a message must be displayed to the user in the flow log window
for information and justification, seeChapter 3.3.This message is output using the
output commandPRINTSThe message texts including the values of associated
variables are visible in the window.

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

height” is to be formulated in the interpreter language as follows:

PRINT: %g1, 571, TEXT(HPL);

where:

- %g1 the foreign language filename.inpcalls,

- 571 refers to the error message number in the above file,

- TEXT(HPL) the value of the variableHPLas text.

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.

2.15Information and search commands


FFEIN provides the following commands to inform the programmer and the CAD
designer about their work in the log window.

• PRINTS:a;prints the variable value 'a' in the trace window.

• RECEIPT:lists all variables of the different levels.

• 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

• REPORT: EXTREMA, 'ex';This command specifies the maximum and minimum


coordinates of the part points.

• TRACE; NOTRACE;TRACE writes the results of the operations performed to the


trace log. NOTRACE switches this function off again.

• LISTNUM; NOLIST;lists the source text between these commands, including the
line number of the statement.

• INFO3D:
LOCATION: REFERENCE;

POINT LOCATION: TRANSFORMED;


POINT NUMBERS: 999;
PART: idnr;
CUTTING AREA: Eb1-Eb2-Eb3;
END;
The part is cut off with a virtual plane and the data of the intersection points of
the part plane can be evaluated. The point numbers are reported starting from
1000.

• 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

3 Tools for working surfaces


The design of the user interface must not be pushed into the background during
programming, see also [28]:

"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:

• Mouse activities: Select, drag, zoom, pan

• Keyboard shortcuts

• Dialog boxes: with buttons, icons, etc.

• Log window

• Click option on the user interface (Pick Requester)

• Guiding principles

• Active interface with graphical 2D methods

These elements are discussed below.

3.1 Mouse activities and shortcuts


The steps of selecting and dragging are used in CAD programs in the same way as
they are already known in Windows. This strategy of repeatedly using what is
generally known and not deviating from it is crucial for the acceptance of
- 29 -
3 Tools for working surfaces

CAD systems are crucial.

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.

3.2 Dialog boxes


The dialog boxes are windows with various building blocks for user actions, see
Figure 3-1. The most important ones are:

• Buttons

• Symbols

• Label

• Input fields

• Option fields

• Display images
- 30 -
3 Tools for working surfaces

Figure 3-1: Dialog box blocks

The source code of theFigure 3-1 dialog box:

/* 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.

Definition of the text variable using an example:

#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

The usual buttons perform - according to [8] - the following actions:

• 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.

• Load: loads the contents of a dialog box saved under a 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.

PUB(6601,6600), (1, button ,-), (2,a,-), (start action / box disappear,in(d2e,0t),0) ,


(1,BoComboClbOK)

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.

PUB(6605,6600), (1,a_close.2x4pm,-), (2,a,-), (Box disappears without change ng


(0,1,0), (1,BoComboClbCanc)

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.

LAB(2020,2000,1,1,8), (1, label ,-), (2,a,-)

3.2.4 Input fields


Input fields, seeFigure 3-1, are used to enter text or values.

To define an input field, the keywordEDIand then again


- 34 -
3 Tools for working surfaces

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.)

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)

3.2.5 Option buttons (switches)


A toggle button, seeFigure 3-1, ensures that the associated function is switched on
or off. It returns 0 (false) or 1 (true) as the result.

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.

TOG (1014,1010,2,1), (2, option field ,-), (18,21162,pbBL,BLfa,default , 16, 4),


(18,21162,pbBL,BLfa,default ,16, 4)

3.2.6 Display images


The display image files that are created with the program just used, and which in
this dissertation in the examples have the extension.bmf_(bocadmetaeile) can be
read into the dialog box. For such graphic files, a drawing area has been created in
theFigure 3-1prepared.

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

DRA(2021,2000,2,1,8), (5,Area1,-), (250,200)

3.3 Log window


The log window is a window or part of a window in which the current construction
steps are recorded, as well as the corresponding messages, warnings and errors.

Figure 3-2: Log window

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.

3.4 Options on the user interface


The properties and limitations of a click are defined in the filesname.rqi
- 36 -
3 Tools for working surfaces

The click options (Pick Requester) are defined inChapter 3.6.3explained in detail
with an example.

3.5 Guiding principles

Figure 3-3: Tension rod pattern

3.5.1 Objectives of mission statements

Guidelines are used for entering and online documentation of method


specifications. With the help of the guidelines, the user can clearly and clearly
determine the variables of the design.
- 37 -
3 Tools for working surfaces

In [8] the purpose of mission statements is presented:

"Guidelines document the performance of a design method in a visual and self-


explanatory way. At the same time, they allow the selection of solutions and the
entry of values in input fields within dimension chains. Guidelines are therefore
both documentation and a clear input form. There is no need for cumbersome and
time-consuming references in manuals or more extensive textual explanations."

An important, significant advantage of using model images instead of directly entering


values in the scaled real construction is that the construction elements can be enlarged
without being to scale and thus displayed in a clearly recognizable manner, see Figure
4-4.

3.5.2 Conception and development of a concrete example “tension rod cross”


The CAD method tension rod cross creates a connection of 4 rods and 1 circular disk
at the intersection point. These components are from the three companies,Besista,
DetanandRodan,For this purpose, a mission statement is developed as an
application example that covers allChapter 3.5.1The development of the mission
statement is based on the design methods for sophisticated associations of the
above-mentioned companies.

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.

The appearance should be as similar as possible to the existing ZUGSTAB model in


terms of furnishing and structure(seeFigure 3-3)be designed.

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.

• An assignedMethod call was defined, which runs a method (here: ZGSTPA)


that determines the corresponding dialog window of the selected
manufacturer system.

• The followingBox call returns the window specified by the method to the user
interface.

• AFunction call copies the content of a button to the specified memory .

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

Figure 3-5: Dialog window for developing n guiding principles


- 41 -
3 Tools for working surfaces

3.6 Active interface with graphical methods

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.

Figure 3-6: Dialog box for dynamic input


- 42 -
3 Tools for working surfaces

This process has the advantage that the user immediately sees the effect of his
changes and receives a helpful, realistic visualization through the graphics.

3.6.2 Drawing creation in active surfaces


The solution for active surfaces developed in this work is explained using a very
simple example that is given inFigure 3-6is shown.

The dialog box contains a graphics field that provides an instant preview of any
input made by the user.

The preview drawing is constructed by the following commands:

Z3:
OPN_BMF( );
BMF_TEXT( );
BMF_LINE( );
BMF_BEMA( ); etc.
CLS_BMF( );
END:Z3;

The first commandOPN_BMFopens in blockZ3(Drawing area) creates a graphic file


with the extension .bmf_. Text, lines and dimensions etc. are then output to this file
using parameters. The graphic file is closed with CLS_BMF.

3.6.3 Calling process

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>)

The numbers mentioned in the call mean:


- 43 -
3 Tools for working surfaces

• 6000:12351calls the corresponding configuration file,

• 6374is the pointer to the command sequence in line ------6374 of the


configuration file.

The most important elements of the command sequence are:

- - - - - - 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.

• Close: closes the window.

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;

Here, too, the most important instructions are briefly commented:

• RightMouseCallbackActivates the callback by pressing the right mouse


button. A dialog window is opened.

• Request typedetermines whether a primitive, a segment or a group is


pickable. The segment is specified here.

• CursorTypspecifies the pointer type.

• MessFileNospecifies the number associated with the message file name.

• MessNrselects the record number of the message inMessFileNoarea. The


selected message gives the program user a hint about the user action to be
taken on the user interface. The foreign language should also be taken into
account in this area.
- 45 -
3 Tools for working surfaces

• PickModeis the individual pick mode for this request (text/line/parts/


dimension). The dimension is specified here.

• 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.

Figure 3-7: Changing the dimension chain values

- - - - - - 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

closes the dialog box, then the construction methodDRAW_DECKPLFinally, the


window containing the graphic opens with the new drawing. Further clicking on the
graphic is possible without activating the [Input via graphic] button, seeFigure 3-8.

Figure 3-8: Preview update by active Usable surface

3.6.4 Storage between user interface and CAD methods


If a numerical value or text is changed on the surface, this change must be able to
be passed on to CAD methods. In the course of the element
- 47 -
3 Tools for working surfaces

The data created by selection (clicking) is therefore written to a memory (C-Store).


The data can be called up by CAD methods from this memory.

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.

The methodNI3_GETSGIDcalled methodni3_getlseIn the first step, the identification


numbers (“identity numbers”) of the elements picked on the user interface are
retrieved.

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;

The commandSetDescsets three descriptors for a memoryidcst, which with


SeparateColis distributed across three different memories (one column per descriptor).
The first column contains the ID numbers of the segments, the second the ID numbers
of the primitives and the third the ID numbers of the groups. These ID numbers are
thus imported from the user interface into the memories. In this case, only the column
relating to the segments (here: dimensioning) is relevant. The values of the other
- 48 -
3 Tools for working surfaces

whose columns are filled withFreeCstreleased, i.e. deleted, seeFigure 3-9.

Data import
Usable surface

Values of
Descriptors
memory
delete

Figure 3-9: Importing data into memory

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

Figure 3-10: Exporting data from the storage

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

The construction method is executed using the values stored in memory.


- 50 -
3 Tools for working surfaces

The methoddraw_deckplis therefore through theparamParameter values can be


used in 3 ways. In the first step, the desired properties of the clicked elements are
read in (sub-method NI3_GETSGNR) and, if necessary, the values that have been
changed compared to the default setting are adopted. The method then creates a
drawing that consists of dimensions, text and lines.

The drawing process begins with the interpretation of the filebodraw_start, in


which the scale and the name of the graphic file to be created are defined. The
individual drawing methods called in the draw_deckpl method (bmf_line,
bmf_bema, bmf_text) form the individual segments of the 2D graphic. The
segments receive continuous segment indices for identification during the program
flow. Closing the graphic metafile opened above is done by the method
bodraw_endcarried out.

(See source code excerpts of the method DRAW_DECKPL() inAppendix 3.6.)

Source code BODRAW_START:

%sCONTINUE;
%aZ3:
%aCONTROL: %aINITIALIZE;
%aSCALE: 1 : 10, 1 : 10;
%sEND;
%zm$_dir='plots/';
%mOPN_BMF('deckpl',0,-1,+1);

Source code BODRAW_END:

%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

Dialog window with drawing area opens.

Click the [Enter via graphic] button

Click option in the graphic

Click on dimension chain

1. The method DRAW_DECKPL(0) imports the dimension value


of the clicked graphic element into memory.
2. The dialog windowBremaßung-Editw nis with the current, from
opened with the dimension value exported from the memory.

Change the value in the input field


and confirm with the [OK] button

1. The dimension value is imported into memory and the dialog


fieldDimension Editw nwill be closed.
2. The method DRAW_DECKPL(1) exports the dimension values from
memory and creates a new drawing with the new
values.
3. The dialog box is redrawn with the new metafile.

Click the [OK] button

1. The dialog box closes.


2. The method DRAW_DECKPL(2) executes the construction method
with the new dimension values.

Figure 3-11: Change flow on the active surface area


- 52 -
4 Theoretical methods of design for new markets and redesign of design methods

4 Theoretical methods of design for new M te and ärk-


redesign of design methods
The memorandum on construction informatics [5] describes the comprehensive influence of

computer-oriented methods on the various companies in the construction industry.

"Individual companies in the construction industry have a direct influence on the


development of suitable software. Their own requirements for information and
communication technology are systematically examined. The necessary software is
developed as required for the management and administration of operations, projects
and construction sites, for the administrative and technical offices as well as for the
infrastructure and company management. At the same time, the work processes,
decision-making processes, information flow and communication requirements are
analyzed and improved. The software developed is geared to the specific needs of the
companies."

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.

As explained in [14], the “analysis of commonly used connection types in steel


construction results in the following division into construction families with common
family characteristics:

• Attaching an attachment or connection to a beam without geometric influence of


a neighbouring beam (column feet, stiffeners, headed studs),

• Detailing a node involving only two carriers (most common case),


- 53 -
4 Theoretical methods of design for new markets and redesign of design methods

• Detailing a node involving more than two carriers,

• 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."

The development of a practical design method requires a thoroughly thought-out


method structure. Specifications and default settings as well as design rules of the
objects involved and their connections must be identified and analyzed.

In engineering tasks in construction informatics, software is usually not developed


from scratch, but is built on existing components that are used in everyday
construction practice. The stability and reliability of these components in use must
of course not be compromised, so a software developer may not change the
originals, but only the copies of the production version. Only after development has
been completed and the quality control has been carefully carried out are the copies
integrated into the production version as a new version. This is then initially only
used by selected pilot users who experimentally prove the correctness or uncover
errors. Only after a successful pilot application does the new version become the
general production version.
- 54 -
4 Theoretical methods of design for new markets and redesign of design methods

4.1 New design methods for new markets

Construction method
PIPE SUPPORT JOINT

Construction method
TUBE FOOT

Figure 4-1: Typical, individually detailed M mobile radio antenna - 3D CAD-

drawing
- 55 -
4 Theoretical methods of design for new markets and redesign of design methods

The widespread use of mobile communications, currently reinforced by UMTS, has


created an interesting new market for computer-aided design in steel construction:
the construction of thousands of compact antennas with a system. Since the
installation conditions for such antennas vary greatly, each antenna must be
designed and constructed individually, but the design details and construction
principle are repeated. This case is ideal for presenting the theoretical methods. The
conception, design and coding of new methods are therefore explained below using
this application case.

The construction system of such antennas is defined in sample designs. The


construction logic of the construction system had to be derived from these documents
and further clarification discussions. The construction task to be solved automatically by
the CAD method is divided into subtasks with defined interfaces, e.g. the construction of
the antenna base and joints in the antenna shaft, seeFigure 4-1.

The flow charts,Figure 4-3andFigure 4-6,provide an overview of the main


components of the CAD methods developed here for the automatic design of
antennas. This is followed by a detailed discussion of the CAD methods for the PIPE
BASE and PIPE SUPPORT JOINT subtasks.
- 56 -
4 Theoretical methods of design for new markets and redesign of design methods

4.1.1 CAD method PIPE FOOT

Figure 4-2: CAD drawing of the pipe foot connection

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.

4.1.1.2 Method structure


CAD methods with common basic principles are sensibly grouped into method
families in order to always use the same sub-methods for common design logic. For
example, all CAD methods that add attachments to a main part form the ANNEX
family. The special design of support feet for antennas was the 31st method of the
ANNEX principle. This method was therefore given the internal name
CULTIVATION31.

The specifications of the design are specified in the methodforward31The specifications


that can be selected by the program user are contained in the filev_anb_31.

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 ahead31 Method fusz31 Method fsteife1


Preferences and Connection of the Generation of a
Specifications Foot plate and stiffness
the support

Method v_anb_31
User specifications Method rohrbote
Determine drilling points

Figure 4-3: Design method structure, example iel pipe foot

4.1.1.3 Mission statement

According to theChapter 3.5Based on the principles explained, a suitable model of


antenna feet was developed. The inner corner sections of the stiffeners are shown
with thicker lines. The stiffeners on the model have properties that differ from
reality - increased thickness and corner sections - in order to make the design
properties to be entered easier to understand.
- 59 -
4 Theoretical methods of design for new markets and redesign of design methods

Figure 4-4: Pipe foot pattern


- 60 -
4 Theoretical methods of design for new markets and redesign of design methods

4.1.2 CAD method TUBE SUPPORT JOINT

Figure 4-5: CAD representation of the column joint connection usses

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.

4.1.2.2 Method structure


The specifications and presets were defined in the methodvorkt69For the sake of
uniformity and ease of use, the variable names used here are set to match the
variable names of the pipe foot construction type.

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.

@ Laying head plates


@ ---------------------
%aLEVEL: 7-99-9;
%aDESCRIPTION:CONSTRAINED CONTOUR;
$PNR,BENPL,'BL'TPL,QU,[<1500,1499+AUSR>],MIDDLE,UPPER,FRONT;
%zIDPL1=%fNTLI(0);
$PNR,BENPL,'BL'TPL,QU,[<1500,1499+AUSR>],CENTER,UPPER,BACK;
%zIDPL2=%fNTLI(0);
@
%aEDIT: %aSETPART:IDPL1,IDPL2;
%aIDENTIFIER:,210891;
%sEND;
- 62 -
4 Theoretical methods of design for new markets and redesign of design methods

Method knotan69
Pipe support over front plate

Method pipe support


Mandatory characteristics

Method vorkt69
Preferences and specifications

Method pipe splint


Front plate installation and adjustment
to the carriers

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

Figure 4-6: Structure of the construction method Ro hrstützenstoß


- 63 -
4 Theoretical methods of design for new markets and redesign of design methods

T' <D

Figure 4-7: Problem of diameter determination ng in the computer


ternal circuit generation

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.

4.1.2.3 Model for the joint of an antenna mast


The designed dialog window is opened via the [Table] button in the guide (see Figure
4-9) is opened. Due to the integrated table application, this dialog window differs from
the previously discussed introductory example for mission statements.
- 64 -
4 Theoretical methods of design for new markets and redesign of design methods

Figure 4-8: Dialog window Table

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.

When constructing the windowTablethe issue of multilingualism was taken into


account. The text elements determined by variables were defined in the
configuration files of the corresponding language.

Window source codeTable:

/*
- - - - - - 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

LAB (104,1000,3,2),(1, ,-)


TOG (105,1000,3,3,8), (#1O, pt,-), (5700, 250457, nominal, 0102, default , 16, 4), ( 5700,
250457, nominal, 0102, default , 16, 4) /*

#in 6000 12351 5310


- - - - - - 1234567890

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

4.2 Redesign of methods


As the number of buildings increases, research and development in the construction
industry is shifting more and more from the spectrum of new buildings to the spectrum
of building in existing buildings. The same trend applies analogously to the increasing
number of software programs and building blocks for research in construction
informatics. The software inventory must be continually updated to reflect the latest
research and development. This process is called redesign. Redesign of construction
methods will now be explained using a typical example.

The practical application experience in construction, the increasing requirements


and the technological leaps make the redesign of methods necessary. For example,
a problem was identified in the method for producing end plates between two
beams, after the real profile fillet between the flange and web of beam profiles was
required in the graphic representation of profiles instead of the idealized one.

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

Figure 4-10: Faulty asymmetrical notch ngen

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.

The construction method creates a virtual cutting surface. (The background of


virtual plane creation is inChapter 2.15explained.) This virtual cutting surface, which
determines the intersection points for the further construction steps, was previously
created on the web of the main beam. For I-beams with fillets, it is not advisable to
continue to create the cutting surface on the web for the redesign. The flange points
in the corner would not be clearly determined due to the fillet polygon. Shifting the
cutting surface by a small distance offers the simplest solution for a redesign that is
correct in all situations.
- 68 -
5 CAD method recorder and its further development, the logic recorder

5 CAD method recorder and its further development of ,


the logic recorder

5.1 CAD method recorder as a development tool


5.1.1 Objectives
The method recorder designed and developed here aims to record CAD methods via
interactive design steps and resource files - similar to the method known from the
Visual Basic language.Macro recorder- The principle of the recorder is to save
methods and interactive actions that can then be used repeatedly elsewhere - even
with changed parameters.

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.

CAD methods are more expandable than storage copies of self-constructed


connections. With storage copies, identical connections are copied to other required
locations. They are inflexible due to the system-related identity. With CAD methods
of the recorder, on the other hand, the possibility of subsequent changes is the
main goal. Design variables can be defined, and the construction steps of the
construction logic can be edited as required, added or deleted.

5.1.2 User interface of the existing system-specific recorder


The software companies in the construction industry, which increasingly have to
conquer new markets in order to survive, constantly need new employees who can
effectively meet the requirements of the markets without any knowledge of
programming languages and even without the software-specific knowledge of CAD-
oriented macro languages. For this purpose, a user interface of the recorder was
developed, seeFigure 5-1.
- 69 -
5 CAD method recorder and its further development, the logic recorder

The dialog window is opened by clicking on the toolbar(seeFigure 5-3) activated by


left button, seeFigure 5-1.

Figure 5-1: Dialog window of a CAD method reco rders

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.

With the symbolEdit dimensionsdimensions can be changed in the main


image of the dialog window. Clicking on the dimension chain opens the dimension
input window in which the change, as in theChapter Active Surface 3.6.3explained.
After closing the dimension input window, the new variable value also appears in
the left side of the window.
- 70 -
5 CAD method recorder and its further development, the logic recorder

The background is as follows:

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.

5.1.3 Application experience with the system's own recorder


InChapter 4.1.2With the programming language of the CAD system, the method
Pipe support jointprogrammed. The same CAD method was developed here again
with the recorder, with virtually no programming knowledge. This macro can now
be called up in the CAD system via a toolbar. When constructing, it is possible to
make subsequent changes. The change includes both the modification of the
variable values using the [Variables] button and the control of the corresponding
construction elements using the [Blocks/Tasks] button, seeFigures 5-5 and 5-7.

5.1.3.1 Selection images


The method developer has empty frames for selecting images for the method to be
developed. Images of the developed, selectable constructions are inserted into
these empty frames.

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

Figure 5-2: Selection images in pre-made frame en

5.1.3.2 Toolbars for developed CAD methods


With theFigure 5-3The method developer can create an icon using the dialog box
shown, which the later user can use to directly select the developed method. The
method is entered in the dialog boxFigure 5-3assigned to the corresponding
symbol.
- 72 -
5 CAD method recorder and its further development, the logic recorder

Figure 5-3: Creating symbols for direct Choice of methods

5.1.3.3 Block diagram of the native recorder


Figure 5-4shows the structure of the native recorder in the form of a block diagram
to analyze the general operation of the recorder and its performance.
- 73 -
5 CAD method recorder and its further development, the logic recorder

Macro application

Config Autofsc

Blocks/Tasks Selection requests variable

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

Figure 5-4: Method recorder block diagram


- 74 -
5 CAD method recorder and its further development, the logic recorder

5.1.3.4 Variable

Figure 5-5: Properties of design variables blen

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.

Different types of construction variables are available:


• Number variable

• Text variable

• Value field with number variables

• Text field with text variables

• Free input: e.g. equation


• Choice from tables: next larger or next smaller number
• Selection from linear table: An input value results in a table value
- 75 -
5 CAD method recorder and its further development, the logic recorder

• Selection from 2D table: Two input values result in a table value


• Query condition

5.1.3.5 Selection requests


With button [Selection requests], seeFigure 5-6, the elements such as beams, planes
or points that the user has to click one after the other during construction are
defined.

Figure 5-6: Dialog box with [Select] button el wishes] (activated)

5.1.3.6 Blocks and tasks


With button [Blocks/Tasks], seeFigure 5-7, the individual design steps are defined,
which together form the design logic of a solution family. The core of a CAD method
(blocks/tasks) therefore consists of the totality of its design steps.

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

Construction steps, seeFigure 5-4. Construction steps are


classified into the following categories:
• Definition of working levels,
• Generation of parts,
• Processing of construction elements (detailing),
• Generation of connections,
• Calling submethods.
Methods can be divided into submethods. This makes the structure clearer and the
submethods can also be reused in other applications.

Figure 5-7: Dialog box with button [Block ke/Tasks] (activated)


- 77 -
5 CAD method recorder and its further development, the logic recorder

Pipe support joint method

Generate disk

Plate with carrier


weld

Punching holes in the plate

Screwing plates
as a sub-macro

Generate ribs
as a sub-macro

Generation levels
determine

Generate ribs

Rib with strap


weld

Rib with plate


weld

Figure 5-8: Recorder command sequence for method Pipe support joint
- 78 -
5 CAD method recorder and its further development, the logic recorder

5.2 Logic recorder as a further development of the nrecorder method


The recorder described so far was found by users to be so complicated that it was
not used in construction practice on site. The sequence of the necessary work steps
is correspondingly limited due to the confusing, nested dialog windows.Figure 5-9
not recognizable. The variables, blocks, tasks, etc. are coded in a way that is unclear
(this coding solves the reference in the method, e.g. V14, block 22, task J), the
systematic construction process is lost sight of because the work processes can be
carried out in any order.

Figure 5-9: Complicated dialog window of the platform en production

A solution that is not accepted in construction practice is not sufficient from an engineering
perspective and must therefore be rejected.

In this work, a new approach is therefore designed and proven in engineering


experiments. This new approach is called logic recorder because it
- 79 -
5 CAD method recorder and its further development, the logic recorder

consistently records the construction logic.

The desired constructions are recorded in systematically structured step sequences


using a construction logic assistant that is embedded in the logic recorder.

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.

Figure 5-10: User interface of the logic recorder


- 80 -
5 CAD method recorder and its further development, the logic recorder

After clicking the usual symbolRecordbegins the step-by-step recording of the


construction process, analogous to the wizards generally known from the Windows
operating system. In the first three steps, the type of work process is determined,
see the exampleFigure 5-11, and then the properties of the operation, as inFigure
5-12, set. The operations recorded in this way can be subsequently saved by clicking
on the symbolRecordsupplementable.

Figure 5-11: Specifying the operation type Railings to the plate


fit
- 81 -
5 CAD method recorder and its further development, the logic recorder

Figure 5-12: Recording the work process Railings to the plate


fit
- 82 -
5 CAD method recorder and its further development, the logic recorder

TheFigure 5-4The tasks shown (here work processes) are transferred to the logic
recorder. The most important ones, such as:

• Generate parts - plate,

• Create details - adjust part, seeFigures 5-11 and 5-12,

• Generate connection - welding,

• Generate connection - screwing,

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.

Specify the profile type, e.g.


PL10 means a 10 mm thick plate

Profile type

Name of the element to


Naming the record be laid

Level on which the plate is


Reference plane of the plate placed

Position of the plate with respect to


Plate laying for the reference level the reference plane of the plate,
e.g. ABOVE, CENTER or
BELOW
4 boundary levels
4 levels that limit the
plate

Figure 5-13: Work process Laying the slab


- 83 -
5 CAD method recorder and its further development, the logic recorder

e.g. MAIN BEAM, SECONDARY BEAM or NEW


Forming part PROFILE

e.g. MAIN BEAM, SECONDARY BEAM or NEW


Form-taking part PROFILE

Distance between the forming and the forming


Game
part

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

Figure 5-14: Work process Adapt part to part

Recording the work processAdapt part to partwas specifically in Figure 5-12shown.

e.g.: KEHL, DOUBLE KEHL or V-SEAM


Seam name

e.g.: 4 mm
Seam thickness

Seam properties that were previously


Seam type defined in the program and saved under a
name

Seam-bearing part e.g.: MAIN BEAM, SECONDARY BEAM or


NEW PROFILE
Parts to be welded
e.g.: MAIN BEAM, SECONDARY BEAM or
NEW PROFILE

Figure 5-15: Work process Welding of parts


- 84 -
5 CAD method recorder and its further development, the logic recorder

e.g. M16, screw with 16 mm


diameter
Designation
Screw properties that were
Screw type previously defined in the program
and saved under a name

comment Comment text for the


Drawing output when screwing

Connection type
ASSEMBLY or WORKSHOP

Reference plane Determination of the reference plane


for screw placement

Horizontal screw distribution Output level and the


Screw distances from this level
(relative distances)
Vertical screw distribution
Output level and the
Screw distances from this level
Parts to be screwed (relative distances)

e.g.: MAIN CARRIER,


SECONDARY BEAM or NEW PROFILE

Figure 5-16: Work process Screwing parts together

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

Planes for vertical screw distribution overlap at the desired points.

The following flow chart (Figure 5-17) shows the necessary properties to define a
layer.

e.g. MAIN BEAM, SECONDARY BEAM or NEW


Carrier selection PROFILE

WEB DIRECTION or FLANGE DIRECTION


Direction

If the layer was selected in the web direction, then


Position FRONT/CENTER/BACK, if in
Flange direction, then TOP/CENTER/BOTTOM

shift Shift of the level determined above

Figure 5-17: Setting a level

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

Figure 5-18: Processing of work processes

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

Figure 5-19: Operation “ “Adjust railing to the slab”


- 88 -
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.

men are saved in the job directory. Clicking on the iconPicture


refreshreplaces the new graphic file in the logic recorder window, seeFigure 5- 20.
- 89 -
5 CAD method recorder and its further development, the logic recorder

Figure 5-20: Replacement of the control message by construct ction result as


identification image of a connection type

During construction, several construction methods are included and


executed. If a method that has already been executed in the construction is to be
used again, the name of the method no longer needs to be known in order to call
the corresponding method, because it can be cloned from the construction.

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

Cheek-step connection in the logic recorder opened.

Figure 5-21: Cloning a component after connection s

Nowadays, the question of multilingualism is an important aspect due to


globalization and the expansion of markets, which must be considered during
development. The logic recorder is in principle country-independent, because text-
based guidance messages - both in dialog boxes and in metafiles - can beFigure
5-22according to the desired national language.
- 91 -
5 CAD method recorder and its further development, the logic recorder

Figure 5-22: Language change window

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.

Source code excerpt of the configuration filelabels_eng.cfg:


- - - - - - 1000
# def var22 OFF
# def var23 OFF
# def var121 CREATE
# def var122 SHOW FILTERS
# def var123 FREE INPUT:
# def var124 FREE FFEIN CALL

Source code excerpt of the configuration filelabels_eng.cfg:


- - - - - - 1000
# def var22 OFF
# def var23 OUT
# def var121 CREATE
# def var122 SHOW FILTER
# def var123 FREEINPUT:
# def var124 CALL FREE FFEIN
- 92 -
5 CAD method recorder and its further development, the logic recorder

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.

Source code excerpt from a definition file (labels.dat):

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:

• Active language switching in the running program,

• Avoid misunderstandings due to literal rather than meaningful translation.

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

5.2.2 Construction Logic Assistant


When programs are installed on the computer for the first time, numerous wizards
in the setup program are there to help. Such wizards are also used in this work in
the CAD area.

The Construction Logic Assistant module consists of many windows, which should
be systematically structured for subsequent editing, additions and corrections.

The components of a wizard window are defined in a configuration file according to


Figure 5-23structured in programming terms.

Variable definitions

Head

Body

Buttons

Figure 5- 23: Structure of a wizard window

The box numbers of the work steps areFigure 5-24systematically structured.


- 94 -
5 CAD method recorder and its further development, the logic recorder

Welcome window
- - - - - 3000

Profile Details Connections … …


- - - - - - 3005 - - - - - - 3010 - - - - - - 3015 - - - - - 3020 …

Adjust parts Adapt to Screwing Welding


- - - - - - 3300 level - - - - - - 3850 - - - - - 3900
- - - - - - 3350

plate profile … … .....


- - - - - - 3050 - - - - - - 3100 - - - - - - 3150 … - - - - - - 3250

- - - - - - 3051 - - - - - - 3101 - - - - - - 3151

- - - - - - 3052 - - - - - - 3102 - - - - - - 3152

… …
… … …

- - - - - - 3099 - - - - - - 3149 - - - - - - 3199

Figure 5-24: Structuring the window body

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

Figure 5-25: Assistant on the user interface

In the source code:

- - - - - - 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

5.2.3 Experimental proof of company-specific staircase designs Stairs are


building elements that are generally suitable for automatic construction. In practice,
however, the stair details are so diverse that cross-company prefabricated methods
do not meet company-specific requirements.

The market is pushing software companies to introduce self-designed CAD


methods. For these reasons, the performance and practical usability of the newly
designed logic recorder in terms of engineering science have been demonstrated
using the example of stairs.

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

6 Summary and outlook


6.1 Summary
This work has two main, operating system-independent results: providing the basis
for a recorder that records work steps with the construction logic and laying the
foundation for considering the multilingualism of construction software.

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 requirements of multilingualism were taken into account during the


development of the logic recorder. The country-independent applicability of the
software is inevitable in view of today's economic trends such as globalization and
the expansion of markets and is therefore of the utmost importance. Therefore, all
elements of the user interface were studied in detail.
- 99 -
6 Summary and outlook

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

of reengineering monolingual systems.

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

report, DFG Priority Programme 1103, WEB link:

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.

[7] Willms, A.:C++ programming: programming language, programming technique, data


organization. Addison-Wesley, 2001. ISBN: 3-8273-1627-8.
[8] Pegels, G.:CAD – construction of a hall. Lecture notes, Wuppertal 2001.
[9] Bergman, U.:C++ An Introduction.ISBN: 3-446-18498-8.
[10] Prinz, P., Kirch-Prinz, U.:Learn C++ and use it professionally.mitp Verlag, 2002.
ISBN:3-8266-0824-0.
[11] Balzert, H.:Textbook of object modeling: analysis and design.Spectrum
Academic Publishing, 1999. ISBN: 3-8274-0285-9.
[12]The Brockhaus in text and images 2002.ISBN 978-3-811-1414-1 .

The Brockhaus in text and images 2003.ISBN: 3-411-70677-5.


[13] Balzert, H.:Object orientation in 7 days.Spectrum Academic Publishing, 2000.
ISBN: 3-8274-0599-8.
- 102 -
Bibliography

[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.

[16] Müller, B.:Reengineering.Teubner, 1997. ISBN: 3-519-02942-1.


[17] Paech, B.:Task-oriented software development.Springer, 2000. ISBN:
3-540-65738-X.
[18] Balzert, H.:Textbook of software engineering.Spectrum Academic Publishing,
2000. ISBN: 3-8274-0480-0.
[19] Ziegler, J.:An approach to object-oriented design of graphically interactive
information systems.Springer, 1997. ISBN: 3-540-62547-X.
[20] Steinrötter, M.:CAD method for obtaining and processing information on the
three-dimensional body model of steel structures.Dissertation, Wuppertal 1995.

[21] Fabian, E.:CAD design methods for complex assemblies – space-utilizing


steel structures. Dissertation, Wuppertal 1996. ISBN: 3- 89653-111-5.

[22] Janssen, Ch.:Dialog development for object-oriented, graphical user


interfaces.Springer, 1996. ISBN: 3-540-60719-6.
[23] Koller, R.:CAD: automated drawing, representation and construction.Springer,
1989. ISBN: 3-450-51062-1.
[24] Oberquelle, H.:Language concepts for user-friendly systems.Springer, 1987.
ISBN: 3-540-18235-7.
[25] Ensign, K.-P.:Methods and tools for software ergonomic development of
information systems.Jost-Jetter, 2000. ISBN:3-931388-31-X.
[26] Rauterberg, M., Spinas, P., Strohm, O., Ulich, E., Waeber, D.:User-oriented
software development: concepts, methods and approaches for user
participation.vdf University Press, 1994. ISBN: 3-7281-1959-8.
[27] Schindler, U., Klinner, K., Nestler, W.:Microsoft Excel: Basics of macro
programming.Vieweg, 1990. ISBN: 3-528-14651-6.
- 103 -
Bibliography

[28] Hoermann, F.:Excel macro programming.IWT-Verlag, 1993. ISBN: 3-88322-


395-6.
[29] Dumke, R.:Macro programming: introduction – exercises – practice.Fachbuchverlag,
1988. ISBN: 3-343-00228-3.
[30] Spona, H.:Access programming: professional VBA and macro programming.
Data Becker, 1999. ISBN: 3-8158-1331-X.
[31] Tanenbaum, A.S.:Modern operating systems.Pearson Education, 2002. ISBN:
3-8273-7019-1.
[32] Brittain, JL, Head, GO, Schaefer, AT:AutoCAD 12 macros and menus: individual
customizations.te-wi-Verlag, 1993. ISBN: 3-89362-291-8.
[33] Greis, KP:MS-WORD: Macro programming.Market and Technology Publishing,
1990. ISBN: 3-89090-328-2.
[34] Maas, M.: Computer-aided method for the design of load-bearing structures.
Dissertation, Wuppertal 2001. Full text link:
http://www.bib.uni-wuppertal.de/elpub/fb11/diss2001/maas/
[35] Schlensker, M.:Procedural basis of computer-aided design using a design
method bank. Dissertation, Bochum 1982.
[36] Haake, H.-P.:Basics of three-dimensional computer-aided design in steel
construction.Dissertation, Bochum 1982.
[37] Stary, Ch.:Interactive systems: software development and software
ergonomics.Vieweg, 1996. ISBN: 3-528-15384-9.
[38] Klösch, R.:Object-oriented reverse engineering: from classical to object-
oriented software.Springer, 1995. ISBN: 3-540-58374-2.
- 104 -
Attachment

Attachment

3.6 Source code excerpts of the method DRAW_DECKPL()

Determine picked dimension:

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; @

@ Total dimension above (in


x) @ ----------------------
%sVALUE FIELD:koo_mko, -l2, b2+fak*1 ,0,
l2, b2+fac*1 ,0,
- l2, b2+fac*1 ,0,
- l2, b2+fac*.2,0,
l2, b2+fac*.2,0;
@
%mBMF_BEMA(mfnr,testlv,1:('koo_mko'<>), 0,
0, 2, 1, '-',
1, 1, 0, 0, 1,
11, 0.1, 0.1,
2, 1, 0, 1.0,
2, 0, 0.18, 2,
0, 2,txthoe[txtind], 0.9,
1,10.0, 2);
# IF, mfnr, #JUMP, end_zchng; @

@ Total dimension side (left)


@ ---------------------------
%sVALUEFIELD:koo_mkl, -l2 , - b2,0,
- l2 , b2,0,
- l2 , - b2,0,
- l2-fac*.2, -b2,0,
- l2-fac*.2, b2,0;
%mBMF_BEMA(mfnr,testlv,1:('koo_mkl'<>), 0,
0, 2, 1, '-',
1, 1, 0, 0, 1,
11, 0.1, 0.1,
2, 1, 0, 1.0,
2, 0, 0.18, 2,
0, 2,txthoe[txtind], 0.9,
1,10.0, 2);
# IF, mfnr, #JUMP, end_drawing;
# end_drawing;
# IF, mfnr, %sPRINT:%g1,1; @

# 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;

5.2.2 Construction Logic Assistant

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>)

Dialog window header:

- - - - - - 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) /*

General variable definition:


------1
# def next next >
# def mes next next
# def abbr cancel
# def mesabbr Box disappears without change
# def clbabbr (1,BoComboClbCanc)
- 107 -
Attachment

# def back < back


# def meszurueck back
# def fertweit finished and continue >
# def mesfertweit further
# def done done
# def mesfertig Box disappears with change
# def rscnr31

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, , -)

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy