application for precast drawings in tekla structures
TRANSCRIPT
APPLICATION FOR PRECAST DRAWINGS IN
TEKLA STRUCTURES
LAB University of Applied Sciences
Bachelor of Civil Engineering
Double Degree in Civil and Construction Engineering
2021
Nikifor Sedovin
Abstract
Author(s)
Nikifor Sedovin
Publication type
Bachelor’s thesis
Completion year
2021
Number of pages
41
Title of the thesis
Application for precast drawings in Tekla Structures.
Degree
Bachelor of Civil Engineering
Name, title and organisation of the client
Patrik Laakso, CTO, Nodetec Oy
Abstract
This thesis is written for Nodetec Oy company that makes structural design for the ex-isting and new construction projects. The main purpose of this work was to study the main problems of Tekla Structures cast unit drawing creation workflow, study Tekla Structures Open API for software development and create an external application for Tekla Structures that optimizes the precast drawing creation process so engineers in Nodetec Oy can waste less time on such routine as drawing creation and concentrate on structural design more.
The work also includes general information about precast element project workflow, precast technology, cast unit types, cast unit drawings and existing drawing tools in Tekla Structures.
The practical part of the work includes the process of the application creation using Tekla Structures Open API and Microsoft Visual Studio. The process is described in this thesis with logical principles of the program and programming patterns.
The result of the work is the “Tekla Optimizer” application for an automatic updating of the view representation, view marks and dimensions in the cast unit drawing. “Tekla Optimizer” is ready to be used in the working process for implementing projects that have precast concrete structures. and can be developed even further. Nevertheless, the program is a good starting point for the idea of automatization of the drawing crea-tion process can be developed further or even become a part of Tekla Structures.
Keywords
Tekla Structures, Precast concrete, Application, Tekla Open API, Tekla Optimizer, Drawing, View.
Contents
List of terms ...................................................................................................................... 1
1 Introduction ................................................................................................................ 2
2 Precast drawings in Tekla Structures ......................................................................... 3
2.1 Precast construction. .......................................................................................... 3
2.1.1 Main advantages of the precast approach. .................................................. 3
2.1.2 Precast element types. ................................................................................ 4
2.1.3 Precast element project workflow. ............................................................... 6
2.2 Precast drawings in Tekla Structures. ................................................................. 9
2.2.1 Cast unit drawings. ...................................................................................... 9
2.2.2 Initial drawing creation. ...............................................................................10
2.2.3 View settings. .............................................................................................11
2.2.4 Main drawing challenges of Tekla Structures. Possible improvements. ......14
2.3 Determination of the main drawing challenges. ..................................................14
2.3.1 Drawings cloning and its problems. ............................................................15
2.3.2 Typical drawing creation workflow. .............................................................16
2.3.3 Determination of the main goal. ..................................................................18
3 “Tekla Optimizer” Application. ...................................................................................19
3.1 Problem solution. ...............................................................................................19
3.1.1 Tekla Structures Open API. ........................................................................19
3.1.2 Microsoft Visual Studio and Object-oriented programming..........................20
3.2 Application structure. .........................................................................................22
3.2.1 Application functionality. .............................................................................22
3.2.2 Program hierarchy. .....................................................................................23
3.3 Program algorithms. ..........................................................................................25
3.3.1 Update of the view settings. ........................................................................25
3.3.2 Final correction of the view performance. ...................................................25
3.4 Program interface. .............................................................................................26
3.5 Testing and improvements. ................................................................................28
4 Results .....................................................................................................................29
4.1 Application in work. ............................................................................................29
4.2 Efficiency comparing to the old approach. .........................................................31
5 Conclusions ..............................................................................................................32
References ......................................................................................................................33
Appendices
Appendix 1. User guide.
1
List of terms
• Application programming interface (API) - an interface that defines interactions
between multiple software applications or mixed hardware-software intermediar-
ies. It defines the kinds of calls or requests that can be made, how to make them,
the data formats that should be used, etc. (Wikipedia, 2020).
• Assembly – a group of mutually dependent and compatible components or subas-
semblies of components (Complete Design, Inc., Dictionary of construction termi-
nology, 2020).
• Class - the blueprint that defines the behaviour and information our objects will con-
tain. Classes let us manufacture and instantiate new instances (Metanit, 2020).
• Drawing – paper that is used to convey information about objects. Consists of
pages, views, and information tables.
• Field – a variable of the class (Metanit, 2020).
• Method – a procedure associated with a class, or an action that an object can per-
form (Metanit, 2020).
• Object - in code, a unit that contains a group of related variables and methods (func-
tions). Another way to explain it is that object is a member of a program that under-
stans how to make certain commands and how to communicate with other compo-
nents of the program (Metanit, 2020).
• Object-oriented programming (OOP) - is a computer programming principle that
organizes software design around data like classes and their objects, rather than
functions (Metanit, 2020).
Precast structures – structures that are characterised by structural elements, man-
ufactured elsewhere than in the final position in the structure. In the structure, ele-
ments are connected to ensure the required structural integrity (EN 1992-1-1, 2004).
• Templates attribute file (Settings) – a file that represents object properties. You
can use template attributes in value fields, formulas, and row rules to get the re-
quired data from your Tekla Structures database (Trimble, Tekla User Assistance,
2021).
• View - a representation of a model from a specific location. Each view is repre-
sented in its own window within Tekla Structures. Selecting a part in a view high-
lights the part in all open views (Trimble, Tekla User Assistance, 2021).
2
1 Introduction
Tekla Structures is a 3D tool for structural design building information modelling (BIM),
which includes 3D modelling of the buildings and building parts, creation of the drawings
and other documents, and 2D and 3D data exchange through files like DWG and IFC. It is
now the main software for structural design in Finland. It is mostly in demand among engi-
neers for creating concrete and steel structures, but timber structures creation is also pos-
sible. Even though the use of 3D models is developing fast, engineers still need to produce
a huge number of drawings for clients, other designers, construction site, element factories
etc.
One of the most important parts of engineers’ work is still the drawing creation. Tekla Struc-
tures is used to create 3D models of the structures in model space and then to create draw-
ings in the separate, but connected to the model, drawing space, using its tools for drawing
creation. But these tools do not always work perfectly. For instance, it makes uncertain
mistakes in drawing views and engineer must fix them manually. The number of views in
the drawing can be up to 10 or even more.
But the possible solution is Tekla Structures Open API that developers can use for improv-
ing Tekla Software by themselves with the help of coding environment. I studied program-
ming almost from the beginning to solve these drawing challenges and make our work more
efficient. But as I specialize now in element construction, I concentrated on Cast unit (Pre-
cast) drawings. But this work is still actual for all the cases that require work with drawing
views.
3
2 Precast drawings in Tekla Structures
2.1 Precast construction.
Nowadays precast element technology has a variety of structural and architectural applica-
tions — including separate cast units, or even whole systems of buildings (Figures 1, 2).
The precast concrete market is expected to witness significant growth in the future due to
its increased demand in residential and commercial construction. The global precast con-
crete market size is projected to grow from USD 130.6 billion in 2020 to USD 174.1 billion
by 2025. (Precast Concrete Market by Element – Global forecast, PRNewswire, March
2021).
2.1.1 Main advantages of the precast approach.
According to the article “Structural and Economic Benefits of Precast/Prestressed Concrete
Construction” (Alfred A.Yee et al. 2001, 35), I can highlight some of the main advantages
of the precast approach.
• Simple design. It is easy to design sample element that will include needed parts
and then build up the whole building using almost the same element.
• Architectural versatility. Ability to design different forms.
• Design-build efficiency. Possibility of an efficient delivery model for the project,
allowing construction to proceed while the design is developed.
• Reduced costs. Reduced time and labour costs in comparison with the cast-in-situ
approach. Especially for areas with high labour costs.
Figure 2. Precast element on site Figure 1 Precast building model.
4
• Improved quality. Precast concrete products are manufactured off-site, on element
factories, in almost perfect conditions, and are delivered ready to install when
needed. They also can be combined with cast-in-place concrete to make composite
structures.
2.1.2 Precast element types.
Every type of the element in Tekla Structures model and the drawings has a unique name
and prefix (e.g., S, V, L) that define the purpose and main properties of the element (e.g.,
bearing/non-bearing, inner/outer). And every single element has its own starting number
according to the coordinate and position in the model and project (building number, floor
number, serial number, e.g., S-3211).
In the following pictures, there are examples of precast elements with their prefix names.
These are general parts of buildings that can be done with precast technology.
Figure 4. Sandwich wall. S-element. Figure 3. Shear inner wall. V -element.
5
Figure 6. Hollow-core slab. O-element.
Figure 8. Precast stairs. T-element.
Figure 5. Slab. L-element.
Figure 7. Column. P-element.
Figure 9. Beam. A-element.
6
2.1.3 Precast element project workflow.
Drawing creation is only one of the last steps of working with the element construction pro-
ject and takes about 15-20% of the whole engineering process, but still, the result of the
project relies on the quality of the drawings. I will divide element project workflow from a
structural design perspective into 5 main parts/phases:
1) Conceptual Design Phase
2) Preliminary Design Phase.
3) General Design Phase.
4) Supplementary Design Phase.
5) Cast Unit Design Phase.
Detailed workflow of the whole design process of a typical element project is described in
the following figures.
Figure 10. Conceptual Design Phase.
7
Figure 11. Preliminary Design Phase.
Figure 12. General Design Phase.
8
Figure 13. Supplementary Design Phase.
Figure 14. Supplementary Design Phase.
9
2.2 Precast drawings in Tekla Structures.
2.2.1 Cast unit drawings.
Cast unit drawings are dimensional, formwork, or reinforcement drawings used in concrete
design and construction. They show cast-in embeds, edge chamfers, and hard and soft
insulation. Drawings that show precast structures usually use smaller sheet sizes, for ex-
ample. Typical cast unit drawing consists of several pages that convey their information
(Tekla Structures User Assistance, 2020) (Figure 15).
Figure 15 Precast wall element.
• Main page consists of 3D-view of the element, main text, list of parts and materials,
reinforcement list, information about element qualities and position.
• Second page includes the main views of the element, its embedded parts, and all
dimensions.
• Third page consists of reinforcement views of the element and its layers, and all the
reinforcement marks.
• Also, usually some pages represent embedded electrical equipment or/and detail
views.
• There can be extra pages for surface treatments, architects’ marks, or more detailed
views of parts.
10
2.2.2 Initial drawing creation.
The model site is separate but connected to the drawing site space. Basically, designing
software takes all needed objects from model space and represents them in the drawing.
Tekla Structures has its drawing tools that you can use to create, modify, and manage dif-
ferent types of drawings for different types of objects and elements.
When a cast unit is created, you can create a cast unit drawing using a special tool (Figure
16). Figure 17 shows the default result of creating a cast unit drawing.
Figure 16. Create cast unit drawing.
Figure 17. Default cast unit drawing.
After that, you can edit the drawing layout and drawing template.
I will shortly observe the most important parts of the working process with cast unit drawings
in Tekla Structures and one of them is the creation of the View Settings.
11
2.2.3 View settings.
In this section, I am explaining how do the view settings work. The front view of the element
is an example (Figure 18). All the attributes for the view are prepared separately in different
sections of the settings window.
Figure 18. Front view.
When you open view settings, the first thing is the name of the Properties file and the
main attributes section (Figure 19), where you can set view representation in general and
what labels does it have. If you click “Edit settings” you can also set the representation of
the objects in the view.
Figure 19. View attributes
12
In the Filter section (Figure 20) you can set filters for different types of objects that are
used when you set attributes for them. The current filter is used to filter represented
objects in the view.
Figure 20. Object filter
In dimensioning section (Figure 21), you can set the rules for dimensions of different objects
of the element in the current view.
Figure 21. Dimension rules
Marks are also set in separate sections for different types of objects (Figure 22).
13
Figure 22. Mark properties
And the last “Objects” section (Figure 23) is used to set representation for all types of ob-
jects.
When the work with properties is finished for the current type of view, the name is given to
the file, for example, “C_SK_Front”. The attribute file is saved in the attributes folder of the
main model folder. I would like to mention that it is better to keep as minimum attribute files
as possible that will suit almost every cast unit type.
Figure 23. Object’s representation settings.
14
It is also important to use defined unified rules for all the element type classes and prefix
names as these element properties are used for filtering the objects in drawing views. Same
unification should be worked out for the rules of marks, dimensions, and objects represen-
tation in the drawing.
2.2.4 Main drawing challenges of Tekla Structures. Possible improvements.
As you can see, the overall work with drawings is long and complicated. Beginning with the
drawing creation from the model and finishing with the creation of the settings for every type
of view and checking that everything is correct. All that is not unnecessary. But it could be
optimized. For instance,
• View settings are too complicated and could consist of fewer sections so that they
could be easier to understand.
• There could be more settings connected to dimension snapping to an object.
• Marks could be placed automatically nearby the objects not overlapping with each
other.
• There could be an “Update” tool to refresh mistaken view representation or even to
apply new view settings to all the drawing views.
It would take an immense amount of time and effort if all the optimization is done by an
individual who is not a software development professional. Trimble software designers are
working all the time on improving the software but still some of the problems remain unre-
solved.
2.3 Determination of the main drawing challenges.
Precast construction in big development projects is always connected with a lot of precast
element drawings.
Work with drawings begins when the engineer finishes creating elements on the model side
(Figure 24). It can be up to 100 drawings depending on the project and the element difficulty.
The fast way to create new drawings of the same type is to clone them from the ones that
are already created and have almost perfect settings for views so almost all the marks and
dimensions appear after applying these settings to the views.
15
Figure 24. Elements in the model
2.3.1 Drawings cloning and its problems.
Cloning is done by choosing element(s) for which you want to create a drawing and
choosing a drawing from current or any other project, from which you want it to be cloned
(“mother” drawing) (Figure 25). You can also choose whether to “create” your own proper-
ties for the new drawings from the beginning or “clone” them from the “mother” drawing.
Figure 25. Cloning.
The drawing is created. It has all the same tables, views, and view properties as the initial
drawing. But the problem is that the new one has various mistakes (bugs) connected with
marks and dimensions placement and representation of the cast unit (Figure 26,27). It turns
out that the only manual way to fix all these problems is to open view settings, choose other
properties, apply them, then apply the ones that are needed. Every time you need to reopen
the view properties menu for each view. It also requires to manually move the view re-
striction box out of range and back to update the performance of marks and dimensions.
16
Figure 26. Dimension mistakes. Not all the dimensions are drawn, and existing ones are placed randomly and with mistakes. Some of the objects have different colour.
Figure 27. Marks mistakes. Not all the marks are drawn, and existing ones are placed ran-domly.
2.3.2 Typical drawing creation workflow.
After I defined the main problems of drawing creation, I will observe the typical process of
working with drawings for engineers and show how these problems affect it. I will take an
average precast wall element drawing with two layers as an example in the current project
(Figure 30). If there are more layers in the element and it is full of embedded parts, it can
17
take up to 1 hour to check the drawing, add missing marks and dimensions and move eve-
rything to its places (Figure 28). Opposite, if it is a one-layer element, like a hollow-core
slab, it takes you 5 minutes to finish with the drawing (Figure 29).
Figure 28. Complicated drawing. SKR element.
Figure 29. Simple drawing. Hollow-core slab.
18
Figure 30. Average drawing. SKR element.
After the cloning process, which takes about 30 seconds for each new drawing, the engineer
opens the drawing and starts checking. As I mentioned before, in most cases drawing views
have different mistakes after cloning. Also, there can be just the wrong settings set for views.
It usually takes about 4-5 minutes to fix it for an average of 8 views using the algorithm that
I described in the previous section. After that, the engineer starts to check if all the dimen-
sions and marks are set for all the parts and rebars and put them in their places. If there is
a need for a more detailed view of some parts, it is necessary to make more section views.
The final check is given to the DWGs of the details and tables on the first page. It is not
possible to leave any drawing without a check because every program makes mistakes
from time to time.
It takes about 20 minutes for such a drawing to check it which means almost ¼ of that time
is spent on updating views. And if views have perfectly done settings, it can be even faster.
2.3.3 Determination of the main goal.
As I mentioned before, it would be too difficult for an individual without any software devel-
opment experience to solve all the Tekla Structures drawing problems. It makes more sense
to concentrate on one issue and develop the solution as good as possible. I decided to set
refreshing view settings optimization as my main goal and the solution for it as the topic
for this thesis.
19
3 “Tekla Optimizer” Application.
3.1 Problem solution.
The main point of optimizing work for any program is in reducing the human factor involved
in the process. As the problem is that the process of refreshing and applying view settings
is manual, the solution should include automatization that will make the process easier and
optimized. It is only possible if you create an application or plug-in (Figure 31) with its inter-
face that you can use to solve this problem (Trimble, 2019). In my case, the application is
easier to implement and use, because it doesn´t require special installation and customiza-
tion. But Tekla Structures software is the property of Trimble company, so I do not have the
right and access to the core files and code of the program and it is not possible to find out
the cause of the errors and mistakes that occur. Nevertheless, with the help of tools distrib-
uted through the Tekla Open API library, I can create a solution, return the correct state of
the program, and allow the user to continue using it with minimal data correction.
Figure 31. 5 most used methods to customize Tekla Structures.
3.1.1 Tekla Structures Open API.
Tekla Structures Open API, also known as Tekla Open API, provides an interface for differ-
ent kinds of applications to interact with model and drawing objects in Tekla Structures.
Trimble website has full guidance for using Tekla Open API and provides lessons for coding
and using API for beginners. With the help of Tekla Open API NuGet package library, I
could connect my program to the Tekla environment (Figure 32).
20
I found all the needed classes, methods, and constructors for the creation of my solution in
the API Reference section (Trimble, 2021) (Figure 33).
Figure 32. TeklaOpenAPI NuGet package.
Figure 33. Tekla Open API library.
As well as the library for creating a program it was necessary to select a platform and pro-
gramming language for my application.
3.1.2 Microsoft Visual Studio and Object-oriented programming.
For the development of my program, which I decided to name “Tekla Optimizer” because
of its purpose, the Microsoft Visual Studio environment, and the object-oriented high-level
programming language C# were chosen (Figure 34). As I was starting the coding process
almost from the beginning, I referred to special sources for learning materials, such as Mi-
crosoft Documentation, Metanit and Stack Overflow. Also, I used the GIT tool for organizing
my program and saving the history of the program creation. Links to the sources are in the
Reference section of this thesis.
21
Today, the C # programming language is one of the most powerful, rapidly developing and
demanded languages in the IT industry. Now, a wide variety of applications are written on
it: from small desktop programs to large web portals and web services serving millions of
users every day (C# and .NET Core, Metanit, 2020).
Figure 34. Visual Studio environment.
The approach that I used for the program creation is called Object-oriented programming.
If in Functional programming the process is organized around lines of functions and their
variables, in the Object-oriented approach it is about connected objects (data fields) with
their own behaviour. Here is a simple explanation of this approach with a human example
(Figure 35).
Everyone has a vision of a human that has different qualities, like name, age, e-mail, and
actions that he can perform, like walking or sending emails. That is a template of a human
or a Human class. And the individual copy of this class, an existing person, is called an
Object of this class (Classes and OOP, Metanit, 2020). In this thesis, the same principle is
translated on drawings and drawing views.
Figure 35. Class and the Object of the class.
22
3.2 Application structure.
The current section is meant to describe the logic used in the program creation and pro-
gramming data implemented for that.
3.2.1 Application functionality.
Since the goal of the project was set, here are the following problems that the program must
solve.
1) Refreshing the view representation of all views in the current drawing or a single view.
2) Updating of the view settings from old to new.
3) Correction of the position of the displayed view marks.
4) Correction of existing dimensions.
5) Creation and correction of attribute files for the views.
6) Local saving of attribute files for the views.
23
3.2.2 Program hierarchy.
In this section, I am describing the main patterns that I created for the application, but not
going too deep into the programming process and ideas. During the development of the
program, TeklaHandler and FormHandler classes were created, that implement all the nec-
essary program logic. Other classes used in the program are either built-in language clas-
ses or exist in the namespaces of the TeklaOpenAPI library. Tables 1 and 2 illustrate fields
and methods with their data types implemented in TeklaHandler class.
Table 1 Fields of TeklaHandler class.
Type of data Class field name Action
Tekla.Structures.DrawingHandler drawHandlerTekla Internal drawing pro-
cessor in Tekla Struc-
tures
Dictionary<string,string> viewSettings A dictionary containing
information about the
settings file for each
view.
List<Tekla.Structures.Draw-
ing.View>
allViews List of all views in active
drawing.
Tekla.Structures.Drawing.View selectedView Selected drawing view.
List<string> availableViewsSettings List of view settings.
string settingsFileName Name of program set-
tings file.
24
Table 2 Methods of TeklaHandler class.
Type of data Method name Action
List<Tekla.Structures.Draw-
ing.View>
GetPureViews "Pulls" all views from
the active drawing and
returns them as a list.
void AddViewSettings Sets the attributes file
for the selected view
void SaveViewsSettings Saves settings files for
views in the current
drawing.
bool LoadViewsSettings Loads a settings files
for views in the current
drawing.
void Refresh Refreshes the perfor-
mance of the current
view.
void RefreshAll Refreshes the perfor-
mance of all the views
in the current drawing
according to the attrib-
utes file.
string GetViewSettings Displays a view set-
tings file for a current
drawing
bool Move Moves the selected
view to the next or pre-
vious depending on the
transmitted value.
void MoveToLastUnset Moves the selected
view to the last unset.
25
string GetViewName Displays the formatted
name of the view.
bool InitSelectedView Initializes the selected
view after the program
startsю
void DoubleScaleView Makes view double to
current scale
void HalfScaleView Makes view half to cur-
rent scale
3.3 Program algorithms.
These algorithms are implemented in the Refresh and RefreshAll methods of the program
and are done automatically.
3.3.1 Update of the view settings.
Let me remind, that to fix view mistakes all the dimensions were deleted, any other view
settings were loaded, applied, and then modified back to the correct view settings. Since
the program is optimizing, it was decided to automate the already working algorithm:
1) Deleting existing dimensions.
2) Loading the “standard” settings file using the built-in LoadAttributes method.
3) Applying view settings.
4) Loading the correct settings file using the built-in method.
5) Applying view settings.
The result of this algorithm is an almost fully updated view. In some cases, like reinforce-
ment views, it is not enough. The final correction is described in the next section.
3.3.2 Final correction of the view performance.
To correct the view performance and the position of the displayed view marks, engineers
used to do the following: the restriction frame of the view was narrowed to a line, and then
stretched again to the required size. By analogy with the previous algorithm, it was decided
to use a ready-made algorithm, only automating its execution by the program:
26
1) Changing the coordinates of points defining the frame of the displayed elevations, the
points are in near-zero coordinates.
2) Applies the settings for the mark frame.
3) Changing the coordinates of points defining the frame, the points are set by the initial
position of the points before the changes.
4) Applies the settings for the mark frame.
The result of the algorithm's work is the marks that are correctly located in the view following
the algorithm for placing marks and correct view performance.
3.4 Program interface.
View settings menus that are implemented in Tekla Structure are complicated and must be
picked for each view separately, regardless of whether you are working with this drawing
for the first time or not.
I am attaching a screenshot of the View Settings menu (Figure 38), which is implemented
in the developed program. This menu must be called 1 time while working with the drawing
or drawings cloned from the mother drawing only to set a customization file for the drawing
views for the first time. The functionality itself affects only the necessary elements and does
not scare with its complexity. If necessary, the user can call this menu to completely change
the settings of the views or change the settings of one or several views of the drawing. That
is how the application looks when using with Tekla drawing (Figure 36).
Figure 36. Main menu and View settings menu in the application.
27
The main menu (Figure 37) of the application is much simpler and does not need much
space. Table 4 represents the assignment of all the buttons of the application. It is clear to
understand and does not require too much effort.
Figure 37. Main menu.
Figure 38. View settings menu.
28
Table 3. Assignments of buttons.
Button name Action
<< >> Moving through the views in the drawing.
Set Sets the view settings for the current view.
Delete Deletes the unnecessary name of view at-tributes.
Save as file Saves attribute file for all set views and gives it a typed name (e.g., SK_8)
Get settings Displays the content of the current attrib-ute file.
Close Closes the view settings menu.
Load File Loads the attribute file with the given name.
View Settings Opens the View settings menu.
Refresh all Refreshes all the views according to loaded attributes.
Update Gets current drawing.
Pick Picks single drawing.
X Cancels picker action.
Refresh Refreshes picked view.
3.5 Testing and improvements.
Testing and feedback are also very important parts of the application creation. During the
whole working process, the application was given to colleagues from Nodetec Oy for testing.
As our engineers are the target users of Tekla Optimizer, their opinion about the usability
and development of the program is crucial.
To show the importance of testing I will give some examples of improvements made during
the project creation upon request:
• View identification by the view name.
• Picker of views so you can refresh only picked view.
• Drop-down lists for attributes.
• Cancellation of the refreshing processes.
• Progress bar.
• And of course, all the existing exceptions were handled with the help of testing.
29
4 Results
The developed application has been tested by internal tests and our engineers and has
shown itself very well. It handles all exceptions and maintains a predictable and stable state.
Now, the program can be installed on a computer and used during the real design process.
4.1 Application in work.
Full instruction on how to work with Tekla Optimizer is in Appendix 1 section of this thesis.
In the current section, I am just explaining how it is working in general and what is the result
of this process.
When you open the first cloned drawing of a type that requires an update (Figure 39), you
need to create settings only once for the whole cast unit type. Here is the example of a
typical sandwich element of SK type that has problems with marks and dimensions appear-
ing and placement, general views representation and line colours.
Figure 39. Drawing with mistakes.
Then you can choose whether to refresh the whole drawing (Figure 40) or only chosen
views straight ahead if you already made settings for that or to take 1 minute to create the
needed settings file for the current drawing type (Figure 41) and then refresh all using the
same algorithm.
30
Figure 40. Refresh all from the Main menu.
Figure 41. Create new settings from View Settings Menu.
When refreshing is finished (Figure 42), everything that is left is to move some marks on
more preferred places and add missing dimensions if settings for some views do not include
needed filters for these operations. After that you can move to the next drawing, update the
program state for the new drawing and repeat the operation.
You can use it not only to fix existing mistakes but also, if you have created new settings,
to apply them to all the needed views.
31
Figure 42. Drawing after refresh.
4.2 Efficiency comparing to the old approach.
• In the old approach, as I mentioned before, it takes 4-5 minutes to refresh all the
drawing views manually. You must delete all the existing dimensions because set-
tings will add new ones on top of those. You must modify all the views by reapplying
their settings. And finally, you need to move the restriction box to apply all the
changes. And it also depends on drawing difficulty.
• Application allows you to set needed attribute file only once for each type of drawing
(some element types have the same settings for views) what requires only 1 minute.
And then for all the rest drawings Refresh all function requires 2 and fewer minutes
for the program to update all the views automatically without user’s interruption.
• Application removes all the existing errors of the views (e.g.: wrong colours, missing
marks and dimensions, absence of objects and elements) and excludes the human
interruption into the process.
If I take a working time for 1 drawing as 20 minutes on average with a manual approach, by
reducing time to 17-18 we get a minimum 15% optimization with the help of the application.
Now let us see what do these numbers mean on a scale of creating hundreds of drawings
for the whole project and for the project schedule itself. 2-3% minimum of optimization to
the whole design process is already a great number and achievement.
32
5 Conclusions
As the goal of the current project was to optimize the refreshing process of the drawing
views, I must say that it has been achieved and the application works successfully. The
program reduces the time spent on working with defective drawings, which simplifies the
work of engineers. Moreover, this thesis is one of the first steps to creating a database of
unified company guidelines for drawing views and the drawing creation process.
At this stage, the program works only with the selected active drawing, however, the devel-
oped modules allow you to scale the solution to the list of drawings. Also, the current appli-
cation can be the base point for creating Tekla Optimizer for solving all the existing drawing
problems. But it is also necessary to evaluate the experience of users from different parts
of the world to determine the development vector. Now program errors remain unresolved
within Tekla Structures itself, however, the tool for managing views within drawings will re-
main in demand even if the problem that this program solves is no longer relevant. Every
year a new version of Tekla Structures is released and if the internal conflicts of the program
are not resolved, the proposed implementation can become part of Tekla Structures or
Tekla Open API.
Also, feedback from Tekla Structures Client Support was received about Tekla Optimizer.
They recognize that these problems are not yet solved in new versions of Tekla and under-
line the usefulness of the program and the good work put into the creation of it.
Now Tekla Structures is one of the most advanced construction CAD systems, Trimble de-
veloper company organizes various competitions for developers of software for their prod-
uct. Design offices in Finland, Russia, and all over the are interested in the latest drawing
tools, and this program may become one of those.
33
References
1) Complete Design, Inc., Dictionary of construction terminology. Available at
https://www.completedesign.cc/client-resources/dictionary-of-construction-terminol-
ogy/127-assembly
2) EN 1992-1-1 (2004): Eurocode 2: Design of concrete structures - Part 1-1: General
rules and rules for buildings [Authority: The European Union Per Regulation 305/2011,
Directive 98/34/EC, Directive 2004/18/EC].
3) GIT – a platform for program creation management. Available at https://git-scm.com/
4) Metanit – learning materials about programming (in the Russian language). Available at
https://metanit.com/sharp/
5) Microsoft Technical Documentation. Available at https://docs.microsoft.com/en-us/doc-
umentation/
6) Microsoft Visual Studio as a programming environment. Available at https://visualstu-
dio.microsoft.com/ru/
7) PCI Journal. Structural and Economic Benefits of Precast/Prestressed Concrete
Construction – Alfred A.Yee, P.E. Hon.D. Eng., 2001, 34-42.
8) Precast Concrete Market by Element (Columns & Beams, Floors & Roofs, Girders,
Walls & Barriers, Utility Vaults, Pipes, Paving Slabs), Construction Type, End-use
Sector (Residential, Non-residential). Global Forecast to 2025 (March, 2021). Available
at https://www.marketsandmarkets.com/Market-Reports/prefabricated-construction-
market-125074015.html
9) Stack Overflow as the site for examples and learning materials. Available at
https://stackoverflow.com/
10) Trimble. Tekla Structures. Tekla Developer Centre. API reference. Available at
https://developer.tekla.com/tekla-structures/api/10/8180
11) Trimble. Tekla Structures. Tekla Open API documentation. 5 ways to enhance and ex-
tend Tekla Structures. Retrieved on 25 December 2019. Available at https://devel-
oper.tekla.com/tekla-structures/documentation/5-ways-enhance-and-extend-tekla-
structures
12) Wikipedia, 2021. API. Available at https://ru.wikipedia.org/wiki/API
Appendix 1. User guide.
1) Setup.
Download the ZIP folder on your computer and extract it to the place you want.
It contains the Program itself and needed folders for view settings (Figure 43).
Settings folder is used for saving .txt setting files that are created in the view settings
menu of the program.
Settings .txt is a text document containing names of the views attribute files from the
Tekla project model folder.
After that, you can open the program and enjoy the working process.
Figure 43 Program folder.
2) How to create attributes.
• Step 1. Open Tekla Optimizer (Figure 44). Press Update to get the current drawing
if you open a new drawing when Tekla Optimizer is opened. The program will show
the current drawing’s name. Then press View Settings.
Figure 44. Tekla Optimizer main menu.
• Step 2. Press arrow >> to select the first view. The program highlights the current
view by making it smaller in scale (Figure 45). You can move through all the views
in the drawing using arrows and choose only needed views.
Figure 45. Highlighted view in the drawing.
• Step 3. Set view properties for the view (Figure 46) by writing the name of view
properties from Tekla Structures in the field or choosing from the list and then press-
ing Set. You can save new properties name if you do not have them in the list or
delete unnecessary by pressing Delete. Given properties are shown along with the
view name. “Empty” view name is shown for the views with no name. You can also
reset the view properties if needed. The program uses the View Properties file that
is in the attributes folder of the main model Folder.
Figure 46. View settings. Setting view properties to views.
• Step 4. When view properties are set for all needed views, you can save attribute
file with these settings by writing the filename in the upper field and pressing Save
as file (Figure 47). The attribute file is saved in the settings folder of the Tekla Op-
timizer program folder. Then you can refresh the drawing using new settings by
pressing refresh all or refresh one needed view by pressing Pick, choosing the
view, and pressing Refresh.
Figure 47. View settings. Given settings are being saved with SK_10 filename.
3) How to refresh drawing views using ready settings.
• Step 1. Open the drawing. Choose attributes name from the list in the Main menu
and press Load file (Figure 48). You can check if the settings are correct by pressing
Get settings in the View Settings menu.
Figure 48. Main menu. Refreshing.
• Step 2. Refresh all the views by pressing Refresh all. The progress is shown on the
progress bar, and you can cancel the process if needed (Figure 49). The program
will notify you when finished. Or you can refresh one view by pressing Pick, choos-
ing the view, and pressing Refresh (possible if loaded attributes include properties
for current view).
Figure 49. Progress bar.
4) Assignments of buttons and fields.
Loads given attributes.
Opens View Settings.
Refreshes all views.
Gets current drawing.
Field and list for attributes.
Picks a view to refresh. Refreshes chosen view.
Field for the attributes file name.
Saves current attributes with
given name.
Moving through the views in the
drawing.
Field and list for view properties.
Deletes chosen view properties
from the list.
Shows active view properties.
Closes View Settings menu.
Picker cancellation.
Figure 50. Assignments of buttons and fields.