Uploaded by Sergey Zubov

Advanced CAD Modeling Explicit, Parametric, Free-Form CAD and Re-engineering

advertisement
Springer Tracts in Mechanical Engineering
Nikola Vukašinović
Jože Duhovnik
Advanced
CAD
Modeling
Explicit, Parametric, Free-Form CAD and
Re-engineering
Springer Tracts in Mechanical Engineering
Board of editors
Seung-Bok Choi, Inha University, Incheon, South Korea
Haibin Duan, Beijing University of Aeronautics and Astronautics, Beijing,
P.R. China
Yili Fu, Harbin Institute of Technology, Harbin, P.R. China
Carlos Guardiola, Universitat Politècnica de València, València, Spain
Jian-Qiao Sun, University of California, Merced, USA
Springer Tracts in Mechanical Engineering (STME) publishes the latest developments in Mechanical Engineering—quickly, informally and with high quality. The
intent is to cover all the main branches of mechanical engineering, both theoretical
and applied, including:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Engineering Design
Machinery and Machine Elements
Mechanical structures and stress analysis
Automotive Engineering
Engine Technology
Aerospace Technology and Astronautics
Nanotechnology and Microengineering
Control, Robotics, Mechatronics
MEMS
Theoretical and Applied Mechanics
Dynamical Systems, Control
Fluids mechanics
Engineering Thermodynamics, Heat and Mass Transfer
Manufacturing
Precision engineering, Instrumentation, Measurement
Materials Engineering
Tribology and surface technology
Within the scopes of the series are monographs, professional books or graduate
textbooks, edited volumes as well as outstanding Ph.D. theses and books purposely
devoted to support education in mechanical engineering at graduate and postgraduate levels.
More information about this series at http://www.springer.com/series/11693
Nikola Vukašinović Jože Duhovnik
•
Advanced CAD Modeling
Explicit, Parametric, Free-Form CAD
and Re-engineering
123
Nikola Vukašinović
University of Ljubljana
Ljubljana, Slovenia
Jože Duhovnik
University of Ljubljana
Ljubljana, Slovenia
ISSN 2195-9862
ISSN 2195-9870 (electronic)
Springer Tracts in Mechanical Engineering
ISBN 978-3-030-02398-0
ISBN 978-3-030-02399-7 (eBook)
https://doi.org/10.1007/978-3-030-02399-7
Library of Congress Control Number: 2018957660
© Springer Nature Switzerland AG 2019
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part
of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations,
recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission
or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar
methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this
publication does not imply, even in the absence of a specific statement, that such names are exempt from
the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this
book are believed to be true and accurate at the date of publication. Neither the publisher nor the
authors or the editors give a warranty, express or implied, with respect to the material contained herein or
for any errors or omissions that may have been made. The publisher remains neutral with regard to
jurisdictional claims in published maps and institutional affiliations.
This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Preface
Advanced modelling is an upgrade of basic modelling that ends in free-form surface
modelling, which is basically a digitised version of freehand drawing, or designing
structures with the use of mathematical curves, representing processes in nature.
Both of these approaches are used in everyday life.
Freehand surface designing is useful for industrial designers, sculptors and the
designers of multimedia techniques in 3D space, while the use of mathematical
curves to show the shapes that derive from the individual laws of nature contributes
to general technical culture and engineering.
Courses at good-quality universities integrate both subjects—space modelling
and advanced modelling—into a group of basic skills that are vital for creative
engineering jobs. As such, they remove the question of choosing between the
renewed Bologna studies and traditional engineering studies. In both cases, modelling skills are fundamental for quality communication in engineering, as well as in
all other creative designing jobs. Due to the large volume of data in digital models,
some of the exercises include links to existing models and the data relating to them.
This book is divided into three topics in order to logically include the assessment
of knowledge as a proof of consolidating the acquired knowledge. The first topic
covers the modelling of surfaces that are defined by pre-obtained control points or
curves, and on the basis of available 2D technical and design sketches (Chaps. 1–5).
The second topic presents modelling based on mathematical equations that follow
specific natural processes and laws (Chap. 6). The third topic covers procedures for
surface reconstruction, often referred to as reverse engineering (Chaps. 7–10). This
term is rather unsuitable, however, as it is broader in meaning and refers to processes that along with creating a CAD model (e.g. according to the
surface-reconstruction method) require other design activities, such as carrying out
calculations and analyses. Improper use of such terms could lead to the conclusion
that modifying shapes in order to improve a product parameter means that an
engineer’s job is to modify shapes. However, an engineer’s job is the research and
development of a product’s physical form, and certainly not just drawing and
modelling. For this very reason, we did our best to create tasks in this book that will
v
vi
Preface
keep the reader or student constantly aware that the shape of a product is not an end
in itself, but a logical result of the design and development process.
A special fillet exercise has been added at the very end (Chap. 11). We believe
that fillets are a key part of any design; however, an awareness of the role of neatly
executed fillets for the quality of CAD models is often poor. Finished designs, often
very sophisticated, sometimes require—after the fillets have been executed—additional changes to the models or a change to the procedure or some of the steps for
digitising a model, which requires total control of the entire geometry of the model.
The exercises were created during the introduction of the course and then again
over a few years as part of an upgrade of the study programme. As it was necessary
to focus on a single software tool, SolidWorks modeller was chosen for the purposes of this book. Nevertheless, the approach to space modelling and advanced
modelling is similar when using different modellers, although a similar version,
adapted to the Siemens NX programme tool, is being prepared.
The data for the individual exercises are assessable on the LECAD server, at the
Faculty of Mechanical Engineering, University of Ljubljana. Links to the up-to-date
material are given at the introduction to each exercise.
As the exercises are rather complex, it is important to become familiar with the
basics of space modelling, which is well explained in the book “Space Modeling
with SolidWorks and NX” (Springer, 2015, ISBN 978-3-319-03861-2). While a
direct approach to free-form surface modelling is possible, it is necessary to be
familiar with some of the features and steps that are not explained in this book.
In developing this book, we were assisted by our colleagues Ivan Demšar, Ph.D.;
Vanja Čok, Ph.D.; Damijan Zorko; Borut Černe; and Primož Drešar. In many
instances, they performed the exercises, used them in classes and improved them
with their advice. The first, introductory chapter is based on text from the book (in
Slovenian language) “Engineering Graphics” by Prof. Jože Duhovnik, Prof. Milan
Kljajin and Prof. Milan Opalić. Nevertheless, the content of the introductory
chapter is completely new, updated and revised in accordance with what is required
to understand the content of this book.
Ljubljana, Slovenia
Nikola Vukašinović
Jože Duhovnik
Contents
1
2
Introduction to Freeform Surface Modelling . . . . . . . . . . .
1.1 The Role of Freeform Surfaces in Modern Modelling
and Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Topological Building Blocks of 3D Models . . . . . . . .
1.2.1 Curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2 Surface . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 B-spline Curves and NURBS Curves and Surfaces . . .
1.3.1 Cubic Parametric Curves . . . . . . . . . . . . . . .
1.3.2 B-splines . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.3 Increasing Curve Control—NURBS . . . . . . .
1.3.4 Describing Surfaces . . . . . . . . . . . . . . . . . . .
1.3.5 B-Spline Interpolation . . . . . . . . . . . . . . . . . .
1.4 Surface Interpolation with Boundary Curves . . . . . . . .
1.4.1 Ruled Surface . . . . . . . . . . . . . . . . . . . . . . .
1.4.2 Coons Patch . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.3 Gordon Patch . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Continuity of Curves and Surfaces . . . . . . . . . . . . . . .
1.5.1 Normal Vector and Curvature . . . . . . . . . . . .
1.5.2 Parametric Continuity . . . . . . . . . . . . . . . . . .
1.5.3 Geometric Continuity . . . . . . . . . . . . . . . . . .
1.5.4 Practical Aspect of Continuity for Designing
and Modelling . . . . . . . . . . . . . . . . . . . . . . .
1.5.5 Surface Classes . . . . . . . . . . . . . . . . . . . . . .
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
From Solid to Surface Modelling . . . . . . . . . . . . . .
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Combining Solid and Surface Modelling—Case
of a Kaplan Turbine Blade . . . . . . . . . . . . . . .
2.2.1 Importing Sets of Points from Tables .
.......
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
2
3
6
11
13
16
20
22
23
31
32
32
34
36
36
38
42
.......
.......
.......
45
47
48
............
............
49
49
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Study
............
............
51
53
vii
viii
Contents
2.2.2
2.2.3
Forming Surfaces by Inserted Curves . . . . . . . . . .
Converting a Surface Model into a Solid Model
of a Blade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.4 Filleting the Front and the Rear Edge of the Blade .
2.2.5 Base Model for Creating the Hub . . . . . . . . . . . . .
2.2.6 Creating the Kaplan Turbine’s Blade Hub . . . . . . .
2.2.7 Specifying Hub Length . . . . . . . . . . . . . . . . . . . . .
2.2.8 Creating a Spherical Cut on the Blade . . . . . . . . . .
2.2.9 Combining the Blade and the Hub . . . . . . . . . . . .
2.2.10 Creating a Transition Between the Hub
and the Blade . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.11 Coupling the Blade Hub and the Shaft with Bolted
Joints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
4
...
54
.
.
.
.
.
.
.
.
.
.
.
.
.
.
55
56
57
58
58
59
60
...
61
...
...
61
64
From Hand Sketches to Freeform CAD Surface Models . . . . . . .
3.1 From Hand Sketches to Freeform CAD Surface Models—Wall
Lamp Shade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Importing a Sketch Picture into a Modeller Sketch . .
3.1.2 Generating a Surface from the Edges . . . . . . . . . . . .
3.1.3 Modifying Freeform Surfaces—Searching
for a New, More Acceptable Shape . . . . . . . . . . . . .
3.1.4 Mirroring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.5 Creating the Light’s Surface with Larger Details . . .
3.1.6 Creating a Solid Model of a Lamp—Preparing a
Model for Injecting Plastics, Glass or Pressure
Die-Casting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.7 Shape Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.8 Opening for Mounting the Lamp’s Framework . . . . .
3.1.9 Refining the Design by Splitting the Surfaces . . . . .
3.2 Consolidation Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 Refining the Wall-Lamp Design . . . . . . . . . . . . . . .
3.2.2 Creating a Bicycle Seat . . . . . . . . . . . . . . . . . . . . .
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating Complex CAD Models with Freeform Surfaces . . . . . .
4.1 Hand-Blender Casing . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 Importing the Blender Sketch into the Modeller’s
Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.2 Creating the Edges of a Freeform Surface . . . . . . . .
4.1.3 Casing’s Freeform Surface, Generated from the Basic
Edges’ Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.4 Free-Forming . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.5 Trimming Surfaces Due to the Blending Functions
of the Product’s Element . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
..
65
..
..
..
65
66
67
..
..
..
69
71
72
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
72
73
73
75
76
76
77
79
..
..
81
82
..
..
82
82
..
..
86
86
..
88
Contents
4.1.6 Surface Extrude . . . . . . . . . . . . . . . . . . . . . . .
4.1.7 Creating Curves in 3D Space . . . . . . . . . . . . .
4.1.8 Surface Trim Along a 3D Curve . . . . . . . . . . .
4.1.9 Creating the Grip Surface . . . . . . . . . . . . . . . .
4.1.10 Forming a Full Casing (Mirroring) . . . . . . . . .
4.1.11 Converting a Surface into a Solid . . . . . . . . . .
4.1.12 Creating Important Details—Fillet or Chamfer .
4.2 Refining the Handle Shape for the Blender’s Other
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Creating Tool-Release Buttons . . . . . . . . . . . .
4.3 Consolidation Tasks . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Improving the Details of the Blender . . . . . . . .
4.3.2 Electric Water Heater . . . . . . . . . . . . . . . . . . .
Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
6
ix
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
91
92
94
94
97
98
98
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
99
99
107
107
107
109
From Complex CAD Model to Mould Casts . . . . . . . . . . . . . . . .
5.1 Splitting Solid Bodies . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1 Creating a Shell . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.2 Cutting up a Solid Model into Multiple Solid Bodies
and Creating New Parts . . . . . . . . . . . . . . . . . . . . .
5.1.3 Creating the Remaining Cuts—Consolidation Task . .
5.1.4 Creating Edges and Grooves of a Shape Joint . . . . .
5.1.5 Creating Independent Models and the Assembly . . .
5.2 Mould Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1 Creating Draft Angles . . . . . . . . . . . . . . . . . . . . . . .
5.2.2 Shrinkage Compensation—Scale-up of the Product .
5.2.3 Mould-Cavity Parting Surface . . . . . . . . . . . . . . . . .
5.2.4 Creating a Single-Cavity Mould . . . . . . . . . . . . . . .
5.3 Consolidation Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1 Creating Moulds for the Remaining Elements
of the Blender’s Shell . . . . . . . . . . . . . . . . . . . . . . .
5.3.2 Making the Mould for Blow Moulding a Wall-Light
Shield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Controlling CAD Curves by Equations . . . . . . . . . . . . . . . . . . .
6.1 Defining 2D CAD Curves with Explicit Equation: Example
of Canvas Roof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.1 Deriving the Equations . . . . . . . . . . . . . . . . . . . . .
6.1.2 Sag Between Posts of the Same Height . . . . . . . . .
6.1.3 Sag Between Two Posts of Different Height . . . . .
6.1.4 Controlling the Loads on the Material’s Tensile
Strength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.5 Creating a Model . . . . . . . . . . . . . . . . . . . . . . . . .
. . 111
. . 112
. . 112
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
114
117
118
121
121
125
126
126
129
131
. . 131
. . 131
. . 132
. . . 135
.
.
.
.
.
.
.
.
.
.
.
.
137
137
138
140
. . . 141
. . . 145
x
Contents
6.2
Defining 3D CAD Curves Using a Parametric Equation:
Design of a Tensile Spring Curve . . . . . . . . . . . . . . . . .
6.2.1 Setting Equations . . . . . . . . . . . . . . . . . . . . . . .
6.2.2 Creating a Model . . . . . . . . . . . . . . . . . . . . . . .
6.3 Consolidation Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.1 Creating Wind-Turbine Blades . . . . . . . . . . . . .
6.3.2 Designing a Headlamp . . . . . . . . . . . . . . . . . . .
6.3.3 Creating a Conical Spring . . . . . . . . . . . . . . . . .
6.3.4 Creating a Compression Spring . . . . . . . . . . . . .
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
148
150
152
158
160
160
161
161
163
. . . 165
Introduction to Reverse Engineering . . . . . . . . . . . . . . . . . . . . .
7.1 Capturing Data on the Shape of Surfaces as Part
of the Development and Design Process . . . . . . . . . . . . . . .
7.2 Current Situation in the Field of 3D Body Shape Capturing
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 167
. . . 170
. . . 175
8
Tactile 3D Geometry Measurments and CAD Application
8.1 Contact Measuring Systems . . . . . . . . . . . . . . . . . . . .
8.2 Measurement Arm . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3 Measuring a Thermostat Flange . . . . . . . . . . . . . . . . .
8.3.1 Measuring . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4 Using Data that Are Captured by a Mechanical Arm .
8.4.1 Editing Captured Data . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
179
180
181
184
185
187
187
9
Optical 3D Geometry Measurments Based on Laser
Triangulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.1 Calculating a Point by Triangulation . . . . . . . . . . . . . . . .
9.2 Laser Light . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.2.1 Wave Properties of a Laser Beam . . . . . . . . . . . .
9.2.2 Laser Speckle . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.2.3 Propagation of Laser Light . . . . . . . . . . . . . . . . .
9.2.4 Effect of Multiple Reflections . . . . . . . . . . . . . . .
9.3 Laser-Triangulation Errors . . . . . . . . . . . . . . . . . . . . . . . .
9.3.1 Differences in Surface Reflectance . . . . . . . . . . . .
9.3.2 Discontinuous Changes of Shape . . . . . . . . . . . . .
9.3.3 View Obstruction Errors . . . . . . . . . . . . . . . . . . .
9.3.4 View Accessibility . . . . . . . . . . . . . . . . . . . . . . .
9.4 Measurement-Quality Evaluation . . . . . . . . . . . . . . . . . . .
9.5 Influences on Measuring . . . . . . . . . . . . . . . . . . . . . . . . .
9.6 The Influence of Surface Reflectance on the Measurement
Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.6.1 Diffuse Reflection . . . . . . . . . . . . . . . . . . . . . . . .
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
191
191
193
193
195
197
198
201
202
205
205
206
207
209
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . 211
. . . . 214
. . . . 215
Contents
xi
10 CAD Model Creation from Dense Pointclouds . . . . . . . . . . . .
10.1 Geometric Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.1.1 Importing Points and Creating a Triangular Mesh
10.1.2 Recognition of the Surface Shape Primitives . . . .
10.1.3 Creating a CAD Model . . . . . . . . . . . . . . . . . . . .
10.2 Free-Form Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.2.1 Creating Surfaces, Using Contours . . . . . . . . . . .
10.2.2 Creating Surfaces Using Patch Meshes . . . . . . . .
10.3 Consolidation Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.3.1 Geometric Approach . . . . . . . . . . . . . . . . . . . . . .
10.3.2 Free-form Approach . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
217
218
218
220
224
226
227
228
235
235
236
11 Creation of Final Details . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.1 Improving Surface Quality of Filleted Vertices . . . . . . .
11.2 ‘Atomic Bomb’ Fillet . . . . . . . . . . . . . . . . . . . . . . . . .
11.3 Controlling Fillets Around Vertices . . . . . . . . . . . . . . .
11.4 Difference Between Full Round Fillet and Face Fillet . .
11.5 Fillets with a Constant Radius and Constant Width . . . .
11.6 Forcing Fillet Edges . . . . . . . . . . . . . . . . . . . . . . . . . .
11.7 Guidelines for Creating High-Quality Fillets on Models
11.7.1 Consolidation Tasks . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
241
242
242
245
247
249
250
252
253
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Chapter 1
Introduction to Freeform
Surface Modelling
Abstract The ability to use a variety of CAD tools is one of the most basic
competences expected of a modern engineer. It represents a language and a tool,
and is used to communicate with other engineers anywhere in the world. While the
basic CAD operations are fairly easy to learn, understanding the functioning of
CAD tools requires more detailed knowledge of mathematical and computer laws
behind the individual CAD operations. In this chapter the reader will learn about the
mathematical laws of CAD curves and surfaces that are the key to understanding
freeform modelling. It begins with a computer description of the curves in space,
which is followed by various procedures for creating freeform surfaces based on
these curves. The chapter ends with an explanation of several definitions and
descriptions of the transitions, i.e., the continuity between the curves and the surfaces. Understanding the latter is becoming increasingly important for the automotive, aerospace and consumer-goods industries, as properly executed transitions
between surfaces have a significant effect on the strength, aerodynamic, ergonomic
and aesthetic properties of a product. At the same time, these topics are often not
covered by many regular engineering curricula due to a lack of time or because their
importance is overlooked. As a result, engineers only deal with them when they
face a concrete challenge for the first time—which is often on their first job.
1.1
The Role of Freeform Surfaces in Modern
Modelling and Design
In order to represent objects or products, i.e., technical systems in general terms, a
variety of tools has been used from early times. Together with analogue records in
3D space, solutions were being explored for the best possible digital records. The
advent of the computer processor and its adapted mathematical relations brought
about an opportunity for a high-quality digital reproduction of 3D space.
Throughout the development of 3D modelling, different procedures and approaches
evolved that seemed fairly important at the time. However, only with the passage of
time did some of the methods get thoroughly tested and so were able to establish
themselves as necessary or important. This is why it is vital to understand that some
© Springer Nature Switzerland AG 2019
N. Vukašinović and J. Duhovnik, Advanced CAD Modeling,
Springer Tracts in Mechanical Engineering,
https://doi.org/10.1007/978-3-030-02399-7_1
1
2
1 Introduction to Freeform Surface Modelling
of the development concepts and models were important and necessary in order to
be able to create the clearest possible direction and the more general and intuitive
use of modellers.
Historically, development was gradual and went from a simple representation of
wire models, surface representation of 3D models and eventually to a solid model
as the most faithful way of representing realistic models in space (Fig. 1.1).
Such developments and opportunities gradually brought solutions to the user that
were comparable across different modellers. This makes sense, as modeller
developers eventually meet the users, who generally have a similar approach to
solving tasks and requirements. For this reason, the large number of providers was
gradually reduced to a small number of suppliers of general 3D modelling equipment. At the same time there are also developers for specific needs and specific
designs, and modellers include separated modules, adapted to different tasks.
The user interface is an important quality of a modeller, and it either is or should
be standardised according to the input commands, as software providers will have
to reach an agreement as to how the user can change from one modeller to another.
Geometric transformations are the next significant module. The level of their
accuracy determines the actual use of a modeller. Of course it does not include
simple transformations, but primarily the modelling of freeform surfaces that merge
into a logically re-shaped new form that can be used in most existing technologies.
This means that geometric transformations should be adapted to specific technologies in use, such as pressure casting, thermoplastic injection moulding, die
casting, glassblowing, etc.
1.2
Topological Building Blocks of 3D Models
The geometry of bodies in sophisticated 3D modelling systems is characterised by
descriptions of the individual basic geometric elements: points, straight lines, parts
of a circle, general 3D curves and surfaces of any complexity. There are also
alternative descriptions of bodies, based on the use of other elements: describing the
surface of a 3D object exclusively by triangles, describing a 3D volume by elementary volume elements (voxels), grouping 3D primitives according to their
function, etc. They will not be dealt with in this chapter.
• Points represent the coordinates of knots.
• Edges represent lines where edges are located. They are bounded by the
corresponding knots.
• Loops represent the closed connection of edges, defined by points.
• Surfaces represent a similar data structure to the loops. They are added to the
surface normal data only in order to define them in space.
• Volume represents a space, uniquely and in its entirety bounded by surfaces,
which is why it is referred to as a closed volume. Normals to the surfaces that
have been completely finished are oriented outwards.
1.2 Topological Building Blocks of 3D Models
3
Fig. 1.1 Historical development of the theory of modelling and the use of modellers [1]
The basic building blocks, such as a point, a straight line, a circle and a circular
arc, have been dealt with in the literature (e.g., [1, 2]), while this book will focus
primarily on curves and surfaces.
First, however, it must be pointed out that 3D modelling should be understood as
modelling in space and defined by coordinate systems. In everyday speech, an
incorrect term CAD: Computer Aided Design is often used. Such a term is completely wrong, as there is no programming language for the purpose of designing, it
is just for modelling. So, the correct term is 3D modeller. As of late, modelling
software providers also tend to say “3D modellers” when referring to their products.
In other words, design is much more than giving a product a shape that only serves
its own purpose. It requires understanding and a consideration of all the physical,
mathematical and other principles that define the shape and the standards, set by a
cultural or technical environment, and the use of manufacturing, application and
decomposition technologies. Design also requires that all the design solutions are
clearly supported by the corresponding calculations.
1.2.1
Curve
In general terms a curve can be defined as the shortest connection between two end
points. Curves are generally expected to be smooth, i.e., with no sharp transitions,
referred to as tangency (a first-order continuity) in mathematics. When a continuous
change of the radius of a curve curvature at each point is also expected, it requires a
second-order continuity. In mathematical terms it means that a curve should be
4
1 Introduction to Freeform Surface Modelling
differentiable twice over the required interval. High-school plane geometry provides
plenty of examples for such curves, e.g., conic sections (ellipse, hyperbola, parabola; Fig. 1.2); polynomial functions (Fig. 1.3) or rational functions. A curve can
also be presented in the form of a table of points, with the values of the coordinates
x, y, z, whereas in between the points it is possible to use linear, parabolic or any
other interpolation with a higher-order polynomial.
Curves can also be given parametrically. In this form, each point coordinate on a
curve also depends separately on one coordinate more than the degree of the used
curve. A new coordinate can then be introduced by adding another parameter,
denoted as t, for example. Its value must be chosen over an interval between 0 and 1.
For a more detailed numerical analysis, both extreme values are of special interest.
They are the beginning t ¼ 0 and the end t ¼ 1. The parameter t ¼ 0 is not necessarily used at the beginning of the curve. Figure 1.4 shows an example of a
parametric curve, where the x and y coordinates are given separately with their
polynomial of the type that depends only on the parameter t. The equation shows that
such a curve will turn randomly across the space, i.e., it has no boundaries, similar to
those in explicitly given functions of the y ¼ f ð xÞ type (the multivalue problem). For
this reason it is vital to be careful with the selection of functions. They need to be
single-valued over the whole interval under consideration.
xðtÞ ¼ an tn þ an1 tn1 þ þ a1 t þ a0
ð1:1Þ
Over the past 20 years, B-splines and their upgraded NURBS (Non-Uniform
Rational B-spline) have emerged as the most common way of describing curves.
These are curves consisting of individual cubic parametric space polynomials, and
Fig. 1.2 Parabolas and hyperbolas as an example of curves [1]
1.2 Topological Building Blocks of 3D Models
5
Fig. 1.3 A polynomial as an example of using curves [1]
Fig. 1.4 A parametric curve,
determined by two
third-degree polynomials [1]
they are also determined by control points (Fig. 1.5). Their key advantages over
other types of curves are as follows:
• they are defined by means of a relatively small number of control points,
• they are very flexible and have an excellent ability to approximate the frequently
used curves, such as circles, conic sections and polynomials,
• when interpolated through given points, they intuitively “bend” and do not “run
far away” from the polyline, connecting the interpolation points,
• they are independent of the position in the coordinate system, which makes
them easy to rotate into any position in space,
• if necessary, they exhibit locality, which means that modifying the position of
one interpolation point affects only a limited curve area.
6
1 Introduction to Freeform Surface Modelling
Fig. 1.5 B-spline, determined by control points [1]
Parametric curves, expressed in a mathematical form as B-splines or NURBS,
are further discussed in Sect. 1.3.
1.2.2
Surface
Surfaces are shapes that are usually defined in 3D space. Because describing a
surface can be a rather complex job, there are several approaches available to model
objects using surfaces. Examples of highly complex surfaces can include modelling
the organic parts of living organisms, such as the human skeleton or brain. Our
focus will be on describing surfaces that can be created with conventional procedures and involving sensible effort and acceptable accuracy. The following are the
most frequent types of describing surfaces:
•
•
•
•
surfaces as parts of curved surfaces of regular geometric bodies,
parametric surfaces,
interpolate surfaces,
polygon meshes (mostly triangles and quadrilaterals).
Modelling bodies in space often involves a surface that is a planar polygon, such
as a rectangle. We also often deal with surfaces that are in part or in entirety parts of
curved surfaces of regular geometric bodies, e.g., a cylinder, a triangle, a sphere or a
torus. Such surfaces are relatively easy to describe with analytic equations, particularly in a parametric form (Figs. 1.6 and 1.7).
1.2 Topological Building Blocks of 3D Models
7
Fig. 1.6 Cylinder and cone surfaces [1]
Fig. 1.7 Sphere and torus surfaces [1]
The equation of a cylinder can be parametrically written as:
8
9 8
9
< xðs; tÞ = < R cosðsÞ =
Pðs; tÞ ¼ yðs; tÞ ¼ R sinðsÞ
:
; :
;
zðs; tÞ
t
ð1:2Þ
where R is the radius of the cylinder, s is a parameter, interpreted geometrically as
an angle over an interval ½0; . . .; 360, and t is a parameter over an interval
½0; . . .; H , where H is the height of the cylinder.
A possible equation for the lateral surface of a cone can be parametrically written
as:
8
9 8 9
< xðs; tÞ = < R 1 Ht cosðsÞ =
Pðs; tÞ ¼ yðs; tÞ ¼ R 1 Ht sinðsÞ
ð1:3Þ
:
; :
;
zðs; tÞ
t
8
1 Introduction to Freeform Surface Modelling
where R is the radius of a cone, s is a parameter, interpreted geometrically as an
angle over an interval ½0; . . .; 360, and t is a parameter over an interval ½0; . . .; H ,
where H is the height of the cone.
The equation of a sphere can be parametrically written as:
8
9 8
9
< xðs; tÞ = < R cosðsÞ cosðtÞ =
Pðs; tÞ ¼ yðs; tÞ ¼ R sinðsÞ cosðtÞ
ð1:4Þ
:
; :
;
zðs; tÞ
t sinðsÞ
where R is the radius of a sphere, s is a parameter, interpreted geometrically as an
angle over an interval ½0; . . .; 360, and t is a parameter, interpreted geometrically as
an angle over an interval ½0; . . .; 360, and is orthogonal to the parameter s.
The equation of a torus can be parametrically written as:
8
9 8
9
< xðs; tÞ = < cosðsÞ ðR þ r sinðtÞÞ =
Pðs; tÞ ¼ yðs; tÞ ¼ sinðsÞ ðR þ r sinðtÞÞ
ð1:5Þ
:
; :
;
zðs; tÞ
r sinðsÞ
where R is the major radius, r is the minor radius of the torus, and s is the
parameter, interpreted geometrically as an angle over an interval ½0; . . .; 360, and t
is a parameter, interpreted geometrically as an angle over an interval ½0; . . .; 360,
and is orthogonal to the parameter s.
It should be noted that the presented shapes (a cylinder, a cone, a sphere and a
torus) can be mathematically defined separately for each coordinate by defining the
pitch for the coordinate s, e.g., 0.002 mm, which allows the tool travel via the
controller using the same pitch. This means that inside an NC machine’s controller,
a mathematical operation, following the equation of a geometric body, can take
place, and that the calculated coordinates are directly written into the command
instructions in charge of moving the tool across, for example, a Cartesian coordinate system.
Interpolate surfaces can be designed by supposing a limited number of known
points (edges), through which a surface runs. On the remaining part of the surface—
that could be referred to as freeform surfaces—let us suppose a smooth, calm and
intuitively foreseeable course (Fig. 1.8). Our description will focus on surface
patches with four edges. Each of these edges can represent any curve. Such cases
are typical of managing freeform surfaces when working on products. Some typical
examples of interpolate surfaces include:
• linear interpolation between two opposite boundary curves,
• bilinear interpolation of the interior, when all four boundary curves are known,
• bi-polynomial interpolation, when an n m mesh of orthogonal curves is
available.
A more detailed description of the individual approaches can be found in
Sect. 1.4.
1.2 Topological Building Blocks of 3D Models
9
Fig. 1.8 Interpolate surface
defined by two boundary
curves [1]
Freeform parametric surfaces are a generalised form of parametric curves.
In Sect. 1.2.1 an individual coordinate of a 2D or 3D polynomial curve was defined
as xðtÞ ¼ an tn þ an1 tn1 þ þ a1 t1 þ a0 , while parametric surfaces represent the tensor product of the individual coordinates in the direction of the
parameter t and in the direction of the parameter s. In engineering graphics,
third-degree parametric surfaces (i.e., cubic parametric surfaces) in particular have
become established. Replacing a set of the so-called basis parametric functions
t3 ; t2 ; t; 1 by basis functions will result in the so-called Bézier cubic parametric
surface patch. Like with expanding the usability area of the parametric curves,
Bézier’s formulation of the surface patch can also be extended to surface splines
and NURBS surfaces. This will be discussed in detail in Sect. 1.3. Using a relatively small number of available control points, this type of surface (Fig. 1.9) can
result in the efficient shaping of randomly curved surfaces.
Polygon meshes are used to describe surfaces when they are too complex for an
analytical description. A typical example from everyday use is capturing data on
surfaces by means of the optical or mechanical contact scanning of 3D objects.
Optical scanners usually capture from several thousand to several million dots in
space. Using appropriate software, these dots are then filtered, reduced if necessary,
and connected into a polygon mesh, usually consisting of triangles, as shown in
Fig. 1.10. In special cases it is also possible to generate a quadrilateral mesh. Using
a mechanical contact scanner yields significantly fewer contact dots; however, it
improves the possibility of modifying the surfaces between the dots. Using one or
the other measuring method is a question for the engineer and depends on the
method of work and the approach to product development.
Another example of using polygon meshes is running computer simulations in
the area of strength, heat transfer, fluid dynamics or injection moulding. In this
simulation it is a reverse process. A computer modeller starts with an analytically
10
1 Introduction to Freeform Surface Modelling
Fig. 1.9 Freeform parametric surface described with 16 control points [1]
Fig. 1.10 Point cloud of a scanned surface (left) and a triangle mesh (right)
described geometry. In the second step, a special pre-simulation part of the software
divides the described surface geometry into a large number of triangles or
quadrilaterals. The resulting elementary parts are then used to define the
matrix-simulation equation, which is used to calculate the distributions, such as
stress, deformation, temperature, pressure, etc.
1.3 B-spline Curves and NURBS Curves and Surfaces
1.3
11
B-spline Curves and NURBS Curves and Surfaces
The basic elements used for creating freeform surfaces are linear elements, generally referred to as curves. They represent an edge or a connection between two
points. A surface can be formed by linear elements related to one another in some
relationship. In the Cartesian coordinate system we normally use orthogonality at
the intersections between linear elements (curves). The interpenetration of
orthogonally connected linear elements (curves) is used to present a surface.
Let us first take a look at how a linear element (i.e., curve) is defined. From the
curves used in space modelling the following properties are expected:
• zeroth-, first- and second-order continuity,
• good deformability; local and global control is possible,
• maintaining the shape when subject to geometric transformations (especially
complex transformations, such as rotation in space),
• tendency to reduced variation,
• the simplest possible mathematical description,
• universality of the mathematical description for all types of standard shapes
(straight lines, parts of circles, parabolas, ellipses, polynomials, etc., as well as
flat faces, and cylindrical, spherical and interpolate surfaces).
A Bézier curve satisfies all these properties. Pierre Bézier was a French engineer
(Fig. 1.11) who worked for the Renault car manufacturer between 1933 and 1975,
where he dealt with the problem of transferring the prototype geometry of a car
body (which was made out of wood or another material) to the drawing board, or
accurately defining it in a mathematical form. In 1966 he published an article in the
Automatisme journal, where he defined a novel method for describing parametric
cubic curves, which earned him lasting fame, as his description became the basis for
the mathematical description of curves and surfaces for all subsequent computer
modellers. Paul de Casteljau, an engineer at Citroën, had detailed such a description
before Bézier, but he only published it in the company’s internal newsletter.
Because the information was not accessible, Casteljau’s notation passed into
oblivion. Today, Bézier’s description is established and B-curves are named after
him.
Interpolation has been used for a long time to create new shapes. In our case, the
problem is about guiding a smooth and ‘appealing’ curve through a set of given
points. In the past, craftsmen and designers made use of thin wooden or metal
splines. These metal splines were firmly tied together, which made them deformable, like a pile of boards, resting on two supports. Engineers used them for the
purpose of flexible curves as late as 1990. They fixed the tied metal splines at
support points (Fig. 1.12), and, if necessary, further weighted them with lead
(Fig. 1.13). We can attempt to represent the shape y ¼ yð xÞ of such a wooden or
metal spline using a differential equation:
12
1 Introduction to Freeform Surface Modelling
Fig. 1.11 Pierre Bézier, French engineer and mathematician
Fig. 1.12 An example of using a metal spline (left) and modern commercial bend ruler (right)
M ð xÞ ¼ E I y00
3
ð1 þ y02 Þ2
ð1:6Þ
The product E I represents the stiffness coefficient. It is constant if the material
is homogenous and the spline has a constant cross-section. In the absence of any
other outside forces between the support points and weights, the torque of the
internal forces M ð xÞ linearly depends on the distance x.
When the deformations are small y0 1, the term y0 is negligible, and Eq. 1.6 can
be approximated by E I y00 ¼ M ð xÞ or y4 ¼ 0. Due to the linearity of the torque
M ð xÞ, the shape y ¼ yð xÞ is piecewise cubic and continuous. The first and second
derivatives are continuous, too. The shapes of the curves that had for a long time been
used for designing and shaping new products therefore originate in mechanics and are
based on the deflection line of the loaded (and therefore deformed) spline or profile.
1.3 B-spline Curves and NURBS Curves and Surfaces
13
Fig. 1.13 Wooden spline, weighted with lead, set to outline a ship’s hull
1.3.1
Cubic Parametric Curves
Three-dimensional space modelling requires a description of the space curves that
need to be numerically manageable and not subject to the problems of numerical
solutions. We also do not want oscillating curves, which happens with the use of
higher-order polynomial curves. The simplest, non-problematically continuous
curves are polynomials. If at least second-order continuity is required, parametric
cubic polynomials will be sufficient.
x ð t Þ ¼ a1 t 3 þ b1 t 2 þ c 1 t þ d1
y ð t Þ ¼ a2 t 3 þ b2 t 2 þ c 2 t þ d2
z ð t Þ ¼ a3 t 3 þ b3 t 2 þ c 3 t þ d3
ð1:7Þ
The parameter t can generally have a value over any interval. In our case, when
the parameter t is used as part of a uniform space, the value over an interval
½0; . . .; 1 is used. The curve can be written in matrix form as:
2
3
2
xð t Þ
a1
P ð t Þ ¼ 4 y ð t Þ 5 ¼ 4 a2
zðtÞ
a3
b1
b2
b3
c1
c2
c3
8 9
3 > t3 >
>
d1
=
< 2>
t
5
d2 t>
>
>
d3
;
: >
1
ð1:8Þ
14
1 Introduction to Freeform Surface Modelling
If the coefficients a1 ; a2 ; a3 are combined into the vector A and the coefficients
b1 ; b2 ; b3 into B and so on, it can be written as:
8 9
t3 >
>
>
=
< 2>
t
ð1:9Þ
PðtÞ ¼ ½ f Ag fBg fCg fDg t>
>
>
;
: >
1
We can opt for different shapes by choosing parametric cubic polynomials.
Different authors were looking for the most suitable examples.
Among all the parametric cubic polynomials, the most appropriate are those
2
where simple functions ðt3 ; t
; t; 1Þ (also referred to as basis functions)
are replaced
by Bernstein polynomials
ð1tÞ3 ; 3 t ð1 tÞ2 ; 3 t2 ð1 tÞ; t3
(Fig. 1.14).
Using Bernstein polynomials, Eq. 1.9 can be written as:
PðtÞ ¼ ½ fP0 g
fP 1 g
fP2 g
9
8
>
ð1 t Þ3 >
>
>
=
< 2
3t ð1 tÞ2
fP 3 g >
>
> 3tð1 tÞ >
;
:
1
ð1:10Þ
Equation 1.10 defines the Bézier cubic parametric polynomial and is a genius
reformulation of the (Hermitian) shape of the cubic polynomial 1.8. It turns out that
the vectors fP0 g; fP1 g; fP2 g; fP3 g can be interpreted as fx; y; zg coordinates and
termed control points, and a combination of the four points P0 P1 P2 P3
should be termed the control polyline (polygon) of the cubic parametric curve PðtÞ.
Such an interpretation allows an intuitive determination of the shape of the entire
curve if the position of only four control points is known.
Fig. 1.14 Bernstein polynomial basis [1]
1.3 B-spline Curves and NURBS Curves and Surfaces
15
Such a defined curve has the following connection with the control points:
• the curve starts at the point P0 and ends at the point P3 ; it is parametric and
defined for the parameter t over an interval ½0; . . .; 1; at the point P0 , the
parameter value is t ¼ 0, at the point P3 the parameter value is t ¼ 1;
• the curve at the point P0 and Pðt ¼ 0Þ is tangential to the control polygon and
the straight line P0 P1 ; analogously, at the point P3 and Pðt ¼ 1Þ it is tangential to the line P2 P3 ;
• the curve only approaches the points P2 and P3 .
A Bézier curve has other favourable properties:
• a plane convex control polygon results in a convex Bézier curve,
• using a Bernstein polynomial reduces the variations,
• with special geometric planning it is possible to reconstruct the shape of a curve
from just the shape of the control polygon.
In geometric transformations, when describing curves using control points, it is
possible to determine the curve in a transformed position as soon as you transform
the control points.
The set of four Bernstein polynomials is a special case of a set of n-order
blending functions. It can be written as:
ð1:11Þ
Bi;n ðtÞ ¼ Cðn; iÞ ti ð1 tÞn i
n!
where the binomial coefficient is C ðn; iÞ ¼ i!ðn1
Þ!.
Bézier curves can also be defined by higher-order polynomials. It allows there to
be any increase in the number of control points. Unfortunately, it turns out that
increasing the order of polynomials also results in more complexity of the mathematical operations, taking place during operations among the geometric building
blocks of computer models (e.g., calculating surface intersections). As a compromise between complexity and efficiency, cubic polynomials appeared in 3D modelling. A Bézier curve can also finally be formulated as:
PðtÞ ¼
n
P
Pi Bi;n
ð1:12Þ
i¼0
A third-order Bézier curve in parametric form is expressed as:
P ðt Þ ¼
3
X
Pi Bi;3
ð1:13Þ
i¼0
3
2
¼ P0 ð1 tÞ þ P1 3tð1 tÞ þ P2 3t ð1 tÞ þ P3 t
2
3
Example Let us determine the course of a Bézier curve, where a set of four points is
known or we select them. In order to make the example simple, let all the points lie
in the xy plane. The control points are:
16
1 Introduction to Freeform Surface Modelling
P0 ¼ f0; 0; 0gT
P1 ¼ f1; 1; 0gT
P2 ¼ f2; 0; 0gT
P3 ¼ f3; 1; 0gT
Let us, for example, calculate 11 consecutive points on the curve at the
parameter value t ¼ f0:0; 0:1; 0:2; 1:0g:
Pð0:0Þ ¼ P0 ¼ f0; 0; 0gT
Pð0:1Þ ¼ P0 ð1 tÞ3 þ P1 3tð1 tÞ2 þ P2 3t2 ð1 tÞ þ P3 t3
¼ f0; 0; 0g ð1 0:1Þ3 þ f1; 1; 0g 3 0:1 ð1 0:1Þ2
þ f2; 0; 0g 3 0:12 ð1 0:1Þ þ f3; 1; 0g 0:13
¼ f0:30; 0:24; 0gT
Pð0:2Þ ¼ f0:60; 0:39; 0gT
Pð0:3Þ ¼ f0:90; 0:47; 0gT
Pð0:4Þ ¼ f1:20; 0:50; 0gT
Pð0:5Þ ¼ f1:50; 0:50; 0gT
Pð0:6Þ ¼ f1:80; 0:50; 0gT
Pð0:7Þ ¼ f2:10; 0:53; 0gT
Pð0:8Þ ¼ f2:40; 0:61; 0gT
Pð0:9Þ ¼ f2:70; 0:67; 0gT
Pð1:0Þ ¼ P3 ¼ f3; 1; 0gT
The control points, polyline and calculated points on a Bézier curve are shown in
Fig. 1.15.
1.3.2
B-splines
Bézier curves are not suitable for direct use in 3D modelling. A Bézier curve has
two major deficiencies: globality (poor definition of localities) and too few control
points. If one control point moves, it to some extent affects the entire curve. Bézier
curves can generally also not be drawn through an arbitrary number n of points
without merging several segments, each described separately.
You can overcome both deficiencies by defining the B-splines. Like with a
Bézier curve, a B-spline is also determined by a control polyline and only
approaches the control points, despite now having an unlimited number of points.
A B-spline is piecewise cubic on some interval of the parameter t. When t exceeds
the interval boundary, the coefficients change accordingly.
1.3 B-spline Curves and NURBS Curves and Surfaces
17
Fig. 1.15 Determining points on a Bézier curve
A B-spline can be expressed in a similar way to a Bézier curve with blending
functions:
PðtÞ ¼
n
P
Pi Ni;k
ð1:14Þ
i¼0
Equation 1.14 includes a curve with ðn þ 1Þ control points Pi , whereas the
blending functions Ni;k are of ðk 1Þ order. In this case, the order (or degree) of the
blending function is completely independent of the number of control points.
Instead of Bézier (Bernstein) blending functions a slightly different basis was used.
The key novelty is that it is possible to increase the number of control points in the
B-spline’s blending functions without increasing the order of the blending function.
The blending functions for a B-spline can be defined by means of a recursive
algorithm (Eqs. 1.15 and 1.16), published by C. de Boor in 1972 [3, 4]:
Ni;1 ðtÞ ¼
1;
0;
ti t\ti þ 1
elsewhere
ð1:15Þ
ti þ k t
ti þ k ti þ 1
ð1:16Þ
And, when k [ 1:
i
Ni;k ðtÞ ¼ ti þtt
Ni;k1 ðtÞ þ
k1 ti
Ni þ 1;k1 ðtÞ
The variable t is a coordinate in the curve’s parametric space, and ti are the values
of the knot vector T [5]. You can now imagine the curve as a set of polynomial
sections (segments) with different values of the variable t. The point where the two
segments merge is referred to as knot ti , and a set of knots as a knot vector:
18
1 Introduction to Freeform Surface Modelling
T ¼ ft0 ; t1 ; . . .; ti ; . . .; tn þ k g
ð1:17Þ
Formulating a Bézier curve, the variable t was assigned a value over the interval
½0; . . .; 1. Formulating a B-spline, the knots can in principle assume any value, the
only condition being that they increase monotonically. The shape of the curve
depends slightly on the selection of the value for the knot vector.
Some knots can even be repeated several times. When two knots coincide to
form one, it is referred to as a knot having twofoldness.
A particularly interesting example of a B-spline is a knot vector where the first k
and the last k knots are repeated. A k-order B-spline can have up to k1 continuous
derivatives. Each knot repetition reduces the number of possible continuous
derivatives by 1. In the case of a k-fold repetition of knots, the curve begins at the
first and ends at the last control point, whereas at these two points the curve is
tangential to the control polyline (analogous to a Bézier curve). In the case of a
cubic spline ðk ¼ 4Þ the first four and the last four values of the knot vector are
repeated. In such cases, when (only) the first k and the last k knots of the knot vector
are repeated (Eq. 1.8), this is referred to as the knot vector being clamped.
8
9
<
=
T ¼ t0 ; t1 ; . . .; tk1 ; tk ; tk þ 1 . . .; tn1 ; tn ; tn þ 1 ; . . .; tn þ k
ð1:18Þ
:|fflfflfflfflfflfflfflfflffl{zfflfflfflfflfflfflfflfflffl} |fflfflfflfflfflfflfflfflfflfflfflfflffl{zfflfflfflfflfflfflfflfflfflfflfflfflffl} |fflfflfflfflfflfflfflfflfflffl{zfflfflfflfflfflfflfflfflfflffl} ;
where
t0 ¼ t1 ¼ ¼ tk1
tk ; tk þ 1 ; . . .; tn1 ; tn
tn þ 1 ¼ tn þ 2 ¼ ¼ tn þ k
k identical knots
nk þ 1 internal knots
k identical knots
Clamped B-splines are a special example of curves that are very often used in
computer graphics and modellers. Their practical value lies in the fact that the curve
begins at the first and ends at the last control point (Fig. 1.16), and that the curve at
these two points is tangential to the control polygon (analogous to a Bézier curve).
When a different knot vector is used, the ends of the curve do not coincide with the first
and the last control points. When knots are repeated, it yields a quotient 0=0 in the de
Boor algorithm. In programming the expression 0=0 should be equalised with 0.
Example Let us take the control polygon in Fig. 1.16, where ðn þ 1Þ ¼ 7 control
points are given. The blending functions of the B-spline are cubic, i.e., third-order,
and k ¼ 4. Therefore, there are 7 blending functions in total N0;4 ðtÞ; N1;4 ðtÞ;
. . .; N6;4 ðtÞ, and the number of knots is n þ 1 þ k ¼ 11. The curve shown for the
clamped B-spline therefore consists of 4 segments of cubic blending functions. The
clamped-knot vector is therefore expressed as:
T ¼ f0; 0; 0; 0; 1; 2; 3; 4; 4; 4; 4g
ð1:19Þ
Figure 1.17 shows the blending functions N1;4 ðtÞ, for a cubic k ¼ 4 B-spline,
defined by means of the knot vector 1.19.
1.3 B-spline Curves and NURBS Curves and Surfaces
19
Fig. 1.16 A B-spline with seven control points, clamped to the first and last control points
Fig. 1.17 Blending functions
T ¼ f0; 0; 0; 0; 1; 2; 3; 4; 4; 4; 4g
of
a
cubic
B-spline
defined
by
the
knot
vector
All the examples of B-splines presented above had knots over an interval
½0; n þ k. It is nevertheless advisable to normalise the knot vector so that it involves
the interval ½0; 1. This improves the accuracy of numerical calculations with a
floating point due to the higher density of decimal places over this interval [6].
20
1 Introduction to Freeform Surface Modelling
When knots divide the whole parametric space of the curve PðtÞ into uniform
intervals (e.g., the one in Eq. 1.19 or another vector written in a normal form:
T ¼ f0; 0; 0; 0; 0:2; 0:4; 0:6; 0:8; 1; 1; 1; 1g), this is referred to as the curve being a
uniform B-spline. Generally, these intervals do not need to be uniform; knots can be
distributed unequally across the parametric space of the curve. The only important
thing is that the order of knots is not falling, i.e., that the next knot is higher or equal
to the preceding one.
It has been explained above what happens when knots at the beginning and the
end of the knot vector are repeated k-times. A special example of non-uniform
B-splines is the curves where multiple internal knots appear (e.g.,
T ¼ f0; 0; 0; 0; 0:2; 0:2; 0:2; 0:8; 1; 1; 1; 1g). Increasing the multiplicity s of internal
knots decreases the continuity level of the curve in a given knot as a result of the
decreasing number of blending curves that do not equal 0 in this knot. When the
multiplicity of internal knots is s ¼ k 1 (e.g., three repetitions of the internal knot
in a k ¼ 4 -order cubic spline), it leaves only one influential blending function,
which means that only one control point affects that particular knot. This results in
the curve passing through this particular control point; however, its transition from
the left to the right of this point is no longer smooth (tangential), due to C k1s ¼
C 0 (see Sect. 1.5). A further increase in the multiplicity of internal knots to the
value k s makes no sense, as this would remove the last remaining blending
function at a given control point, which would eliminate any effect of the control
point on the curve.
Some interesting properties can be achieved by increasing the multiplicity of
internal knots. These include special tangent conditions or even sharp edges on the
shape of the curve. Figure 1.18 shows a B-spline defined on the same set of control
points. In the first case the multiplicity (repeatability of the same point of a spline)
of the third control point equals one, in the second case it is two and three in the
third case. The knot vectors for all three cases are as follows:
T1 ¼ f0; 0; 0; 0; 1; 2; 3; 4; 4; 4; 4g
T2 ¼ f0; 0; 0; 0; 1; 2; 2; 3; 4; 4; 4; 4g
T3 ¼ f0; 0; 0; 0; 1; 2; 2; 2; 3; 4; 4; 4; 4g
1.3.3
Increasing Curve Control—NURBS
Ordinary B-splines, as discussed above, are a powerful tool in computer geometry
in their own right; however, they lack further flexibility due to the B-splines being
unable to exactly describe the curves in the family of conic sections (i.e., parts of
circles, ellipses, parabolas or hyperbolas). For this reason, the need arose to
rationalise B-splines by adding to each control point of a B-spline a new parameter
wi (the fourth coordinate), referred to as the weight. It allows an accurate determination of the effect of the control point. In the Cartesian coordinate system, such
an enriched control point can be written as:
1.3 B-spline Curves and NURBS Curves and Surfaces
21
Fig. 1.18 Effect of n-multiplicity of control points on the shape of a B-spline. Above: t3 ¼ 3;
Centre: t3 ¼ t4 ¼ 3; Below: t3 ¼ t4 ¼ t5 ¼ 3. Knot vectors have a different number of knots in
each case, but they are all over an interval ½0; 4
9
8 9 8
wi xi >
xi >
>
>
>
>
>
>
=
< = <
yi
wi yi
¼
Pwi ¼ wi Pi ¼ wi
>
> w i zi >
> >
>
> zi >
:
;
;
:
1
wi
ð1:20Þ
A rational form of a non-uniform B-spline (NURBS) that introduces
control-point weights is defined as:
Pn
Pi wi Ni;k ðtÞ
PðtÞ ¼ Pi¼0
or
ð1:21Þ
n
i¼0 wi Ni;k ðt Þ
PðtÞ ¼
n
X
i¼0
wi Ni;k ðtÞ
Pi Ri;k ðtÞ where : Ri;k ðtÞ ¼ Pn
j¼0 wj Nj;k ðt Þ
ð1:22Þ
It turns out that the weight wi affects the curve only locally, around the point Pi .
Increasing the value of the weight wi pulls the curve closer to the control point,
whereas decreasing it pushes it away from the control point. If all the weights are
assigned a value of 1, it yields an ordinary non-rational B-spline. Another special
case is when the value wi ¼ 0. In this case the control point Pi has no effect on the
22
1 Introduction to Freeform Surface Modelling
curve. The effects of the value wi are shown in Figs. 1.19 and 1.20. The latter shows
how the different values of the weight wi define different types of conic sections.
1.3.4
Describing Surfaces
Describing the curves from the previous sections can be simply generalised into two
dimensions: a point on the surface Pðs; tÞ is given by a biparametric function of the
parameters s and t. It consists of blending functions for each parameter.
Hence, a cubic Bézier surface is defined as:
Pðs; tÞ ¼
3 P
3
P
Pij Bi;3 ðsÞ Bj;3 ðtÞ
ð1:23Þ
i¼0 j¼0
Fig. 1.19 Effect of the parameter wi at the point Pi on the course of a NURBS curve [1]
Fig. 1.20 Adjusting the parameter wi allows an accurate description of different types of conic
sections by means of NURBS. The circle consists of three circular arcs [1]
1.3 B-spline Curves and NURBS Curves and Surfaces
23
Fig. 1.21 Bézier surface
with control points
A total of 16 control points make up a control polyhedron, as shown in
Fig. 1.21.
Analogously to curves, the above definition can be extended to B-splines or
NURBS, where a control polyhedron from ðn þ 1Þ ðm þ 1Þ control points takes
part:
Pðs; tÞ ¼
n P
m
P
Pij Ri;k ðsÞ Rj;l ðtÞ
ð1:24Þ
i¼0 j¼0
1.3.5
B-spline Interpolation
When modelling complex curves or surfaces, presenting surfaces by means of
B-spline interpolations is particularly interesting if we are given a set of points over
which the finest possible curves or surfaces are to be stretched. Such a smooth
surface is sought when we record or scan a surface that is to be used for further
developments.
In the case of B-spline interpolations, the interpolation problem will be solved
when a set of given points can serve as a basis for the calculation or determining
such a set of control points that a B-spline will pass through. For cubic splines,
however, the problem is not uniquely solvable. This is discussed in more detail in
[4] and [7]. In our case we will only focus on some of the most useful examples.
The simplest option is for the knots to appear at exactly the same positions as
the interpolation points X i . In this case we need to choose a value of the
parameter t at the knots—a procedure usually referred to as parameterisation. The
method of parameterisation slightly defines the shape of the curve between the
knots. For example, we can choose a uniform parameterisation (an example of a
knot vector: T ¼ f0; 0; 0; 0; 1; 2; . . .; 6; 6; 6; 6g). However, it turns out that such a
24
1 Introduction to Freeform Surface Modelling
parameterisation will not yield an intuitively expected course of the curve. The
reason lies in the fact that such a method takes no account of the spatial distribution of the points. Significantly better results are obtained if the parameterisation takes account of the distances between the points. One such method is
cord-length parameterisation, where the differences between the values of the
parameter of consecutive knots are proportional to the distance between the
points.
Di
Di þ 1
kDX i k
¼ kDX
i þ 1k
ð1:25Þ
The difference between two adjacent values of the parameter t1 þ 1 ti in the
knot vector is written as Di , whereas kDXi þ 1 DX i k represents the chord length
(‘air distance’) between two consecutive knots on the curve.
In some special cases a centripetal parameterisation yields even better results.
This can be written using the following equation:
Di
Di þ 1
¼
h
i1=2
kDXi k
kDX i þ 1 k
ð1:26Þ
Figure 1.22 shows B-splines that interpolate the same data set. Three different
types of parameterisation were used. We can see that the choice of parameterisation
has a major effect on the shape of the curve between the interpolation points.
Our interpolation problem will be defined as follows. There is a given set of
space (interpolation) points X0 ; . . .; X L and a corresponding parameterisation (a set
of parameter t values in the knots t0 ; . . .; tL ), and the number of control points is
larger than the number of interpolation points. Let us find the cubic B-spline PðtÞ,
defined by the same set of knots and unknown control points P1 ; . . .; PL þ 1 so that
the following is true Pðti Þ ¼ X i .
It turns out that the set of control points can be defined by solving the following
(tri-diagonal) system of equations:
Fig. 1.22 Effect of parameterisation on the shape of a curve
1.3 B-spline Curves and NURBS Curves and Surfaces
2
1
0
6 ai
b
i
6
6 0 ai þ 1
6
6...
6
4
0
ci
bi þ 1
...
0
ci þ 1
...
25
3 2
...
0
...
0
...
an1
0
bn1
0
3 2
3
P0
r0
7 6 P 1 7 6 r1 7
7 6
7 6
7
7 6 ... 7 6 ... 7
76
7¼6
7
7 6 ... 7 6 ... 7
7 6
7 6
7
cn1 5 4 PL1 5 4 rL1 5
1
PL
rL
ð1:27Þ
where the coefficients ai ; bi ; ci are expressed with the following equations:
2
Þ
ai ¼ Di2 þðDDii1
þ Di
bi ¼
Di ðDi2 þ Di1 Þ
Di2 þ Di1 þ Di
þ
ð1:28aÞ
Di1 ðDi þ Di þ 1 Þ
Di1 þ Di þ Di þ 1
2
ci ¼ Di1 ðþDDi1i þÞ Di þ 1
ð1:28bÞ
ð1:28cÞ
In Eq. 1.28 it is necessary to take into account that the initial and the final
differences are D1 ¼ DL ¼ 0. The values appearing on the right-hand side of the
1.27 system of equations have the following connection with the interpolation
points:
r0 ¼ P0 … point chosen according to the required tangent at the start of the
curve,
ri ¼ ðDi1 þ Di ÞX i ,
rL ¼ PL … point chosen according to the required tangent at the end of the
curve.
The first and last control points are determined by the interpolation points, and
thus present no problem.
Pi ¼ X0 ; PL þ 1 ¼ XL
ð1:29Þ
A question arises—how to define the second and the second-to-last points? To
do this requires the use of the so-called Bessel boundary condition, as it proved to
be the most useful. These particular points (the second and the second to last) are
defined by assuming a parabolic course of the curve through the first and the last
three points that make the parabolic function possible [4, 8]. With such a boundary
condition (Bessel boundary condition), the point P0 is determined as follows:
P0 ¼
d0 þ 1
X0 þ
3
1
3d0
e2
X 1 3d00 X 2
ð1:30Þ
26
1 Introduction to Freeform Surface Modelling
where d0 and e0 are defined by the equations:
1
d0 ¼ tt22 t
t0 ; and e0 ¼ 1:0 d0
ð1:31Þ
The second-to-last control point PL is determined by an analogous rearrangement of Eqs. 1.30 and 1.31: (Fig. 1.23)
PL ¼
d
L
þ1
3
XL þ
1
3dL
e2
X L1 3dLL XL2
ð1:32Þ
where dL and eL are defined by the equations:
1
dL ¼ tt22 t
t0 ; and eL ¼ 1:0 dL
ð1:33Þ
An example of parameterizing a curve and defining control points: As an
example, let’s take the following (planar) set of points, through which a curve shall
pass (Fig. 1.23):
X0 ¼ f0; 0; 0gT X1 ¼ f1; 1; 0gT
X4 ¼ f4; 2; 0gT
X2 ¼ f2; 1; 0gT
X3 ¼ f2:5; 0:5; 0gT
With such defined and selected points we can approach parameterization. For this
purpose, let’s calculate the distance between the points:
d1 ¼ 1:4142;
d2 ¼ 1:0000;
d3 ¼ 0:7071;
d4 ¼ 2:1213:
The sum of distances is 5.2426. If the parameter t is to have value 0 at the
beginning of the curve and value 1 at its end, the distances should be normalized.
Fig. 1.23 Example of B-spline interpolation
1.3 B-spline Curves and NURBS Curves and Surfaces
27
This can be achieved by dividing them with the cumulative length. Parameterization
now corresponds to the cumulative normalized distance:
t0 ¼ 0:0000;
t1 ¼ 0:2698;
t2 ¼ 0:6405;
t3 ¼ 0:5954
t4 ¼ 1:0000
Let’s calculate the differences Di :
D1 ¼ 0; D0 ¼ 0:2698;
D4 ¼ 0:0
D1 ¼ 0:1907;
D2 ¼ 0:1349;
D3 ¼ 0:4046;
Let’s calculate the coefficients ai ; bi ; ci for an index of choice, e.g. i = 2:
ðD2 Þ2
¼ 0:0306
D0 þ D1 þ D2
D2 ðD0 þ D1 Þ
D1 ðD2 þ D3 Þ
b2 ¼
þ
¼ 0:2452
D0 þ D1 þ D2
D1 þ D2 þ D3
a2 ¼
c2 ¼
ðD1 Þ2
¼ 0:0498:
D1 þ D2 þ D3
ð1:34aÞ
ð1:34bÞ
ð1:34cÞ
The system of equations now reads:
2
1
6 0:0790
6
6 0
6
4 0
0
0
0
0:2593 0:1222
0:0306 0:2452
0
0:2242
0
0
0
0
0:0498
0:2816
0
28
93
< 0:25 =
6 0:53 7
6:
;7
7
6
68 0 97
6 < 0:46 = 7
7
6
6 0:46 7
6
3 2 3 6:
;7
7
0
P0
68 0 97
6
7
6 7
0 7
< 0:65 = 7
7 6 P1 7 6
6
7
6 7
0:33 7
0 7
7 6 P2 7 ¼ 6
:
;
6
7
0:0337 5 4 P3 5 6 8 0 9 7
6
7
0
P4
6 < 1:35 = 7
6
7
6 0:27 7
6:
7
;
6
0 97
68
7
6 < 3:50 = 7
6
7
4 0:75 5
:
;
0
ð1:35Þ
28
1 Introduction to Freeform Surface Modelling
The point P0 was defined by means of Bessel boundary condition 1.30:
d¼
t2 t1 0:4605 0:2698
¼ 0:4141; and ¼ 1:0 d ¼ 0:5859
¼
t2 t0 0:4605 0:0000
P0 ¼ 04714 X0 þ 0:8049 X1 0:2763 X 2
¼ 0:4714 f0; 0; 0g þ 0:8049 f1; 1; 0gT 0:2763 f2; 1; 0gT
ð1:36Þ
Analogously, the second to last point P4 is added:
The solution of the system of equations:
P0 ¼ f0:2525; 0:5286; 0gT
P1 ¼ f0:7583; 0:0405; 0gT
P2 ¼ f1:9959; 1:2189; 0gT
P3 ¼ f2:7816; 0:1024; 0gT
P0 ¼ f3:500; 0:7500; 0gT
An example of surface interpolation as a bicubic B-spline: Similarly to
defining curve interpolation through space points, surface interpolation can be
defined as a bicubic B-spline (tensor product of a B-spline). The interpolation
problem can be formulated similarly to what we did for curves.
A set of space points Xij is given. They are organized in a rectangular
(orthogonal) scheme with dimensions (K + 1) (L + 1). Also given is a corresponding parameterization (a set of the parameter s values at knots s0,…,sK, and the
parameter t with knots t0,…,tL). The objective is to find the B-spline P(s,t), defined
by the same set of knots and unknown control points Pij, so that:
Pðsi ; tj Þ ¼ X ij
ð1:37Þ
Our algorithm is shown in Fig. 1.24. For each line of the data points Xi, two
boundary conditions shall be prescribed (Bessel, for example) and the interpolation
problem shall be solved, as was done for individual curves. This is followed by
solving the interpolation problem by columns, where additional points appear,
defining boundary conditions from the preceding phase. The resulting rectangular
scheme of control points defines the B-spline that interpolates the data set Xij.
The B-spline is defined by means of parameterization in the s- and t-direction.
Each line (s-direction) therefore requires the same parameterization. When interpolation points in individual lines (columns) in space are very unevenly distributed,
it is difficult to define the parameterization that would yield a satisfactory form of
interpolation in all parts of the bicubic spline.
1.3 B-spline Curves and NURBS Curves and Surfaces
29
Fig. 1.24 Diagram of the algorithm for defining a bi-cubic B-spline
Table 1.1 Interpolation points X ij
Index
i=0
i=1
i=2
i=3
i=4
j=0
0.0
0.0
0.0
0.0
0.5
2.0
0.0
0.0
4.0
1.0
1.0
0.0
0.9
2.5
2.0
1.0
0.8
4.0
2.0
1.0
0.0
1.8
2.0
2.0
2.0
1.0
4.0
2.5
0.5
0.0
2.5
1.5
2.0
3.0
0.7
4.0
4.0
2.0
0.0
3.7
2.0
2.0
4.0
0.0
4.0
j=1
j=2
As an example, let’s take a (space) set of points (Table 1.1), through which a
surface shall pass (Fig. 1.25).
Define the first-phase parameterisation. The procedure is similar to that for a curve:
1. Calculating the distance between the points in lines;
2. Normalising the distances so that the parameter t assumes the value 0 at the
beginning of the curve and the value 1 at the end;
3. Calculating the mean value of the parameterisation according to the columns.
The results of the first-phase parameterisation are collected in Table 1.2.
Continue by following the scheme in Fig. 1.24. Calculate the control points for
three curves in the s-direction following the procedure described in the previous
example. The control points are given in Table 1.3.
The calculated control points are used as the input data for the algorithm used to
define the control points in the t-direction. The parameterisation in the second phase
is defined by the numerical values given in Table 1.4.
30
1 Introduction to Freeform Surface Modelling
Fig. 1.25 Example of interpolation with a bi-cubic B-spline (surface)
Table 1.2 Parameterisation of a bi-cubic B-spline in the s-direction, first phase
Index
i=0
i=1
i=2
i=3
i=4
j=0
j=1
j=2
Average
0.000
0.000
0.000
0.000
0.270
0.407
0.281
0.319
0.460
0.599
0.504
0.521
0.595
0.758
0.733
0.695
1.000
1.000
1.000
1.000
Table 1.3 Control points Pi;j after the first phase
Index
i=0
i=1
i=2
i=3
i=4
i=5
i=6
j=0
0.000
0.000
0.000
0.000
0.668
2.079
0.000
0.000
4.000
0.214
0.538
0.000
0.186
2.164
2.079
0.214
0.365
4.000
0.660
1.020
0.000
0.622
3.625
2.079
0.760
0.751
4.000
2.107
1.207
0.000
1.723
2.299
2.079
1.903
1.130
4.000
2.495
0.042
0.000
2.589
1.559
2.079
3.347
0.588
4.000
3.367
0.997
0.000
3.216
1.833
2.079
3.825
0.271
4.000
4.000
2.000
0.000
3.599
2.296
2.079
4.000
0.000
4.000
j=1
j=2
1.3 B-spline Curves and NURBS Curves and Surfaces
31
Table 1.4 Parameterisation of a bi-cubic B-spline in the t-direction, second phase
Index
j=0
j=1
j=2
i=0
i=1
i=2
i=3
i=4
i=5
i=6
Average:
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.500
0.490
0.483
0.499
0.514
0.461
0.416
0.480
1.000
1.000
1.000
1.000
1.000
1.000
1.000
1.000
Table 1.5 Control points Pi;j after the second phase
Index
i=0
i=1
i=2
i=3
i=4
i=5
i=6
j=0
0.000
0.000
0.000
0.000
0.321
0.691
0.000
0.668
2.079
0.000
0.347
3.362
0.000
0.000
4.000
0.214
0.538
0.000
0.201
1.332
0.691
0.186
2.164
2.079
0.200
1.285
3.362
0.214
0.365
4.000
0.660
1.020
0.000
0.634
2.291
0.691
0.622
3.625
2.079
0.698
2.220
3.362
0.760
0.751
4.000
2.107
1.207
0.000
1.938
1.737
0.691
1.723
2.299
2.079
1.792
1.731
3.362
1.903
1.130
4.000
2.495
0.042
0.000
2.474
0.729
0.691
2.589
1.559
2.079
3.030
1.142
3.362
3.347
0.588
4.000
3.367
0.997
0.000
3.259
1.454
0.691
3.216
1.833
2.079
3.550
1.017
3.362
3.825
0.271
4.000
4.000
2.000
0.000
3.808
2.296
0.691
3.599
2.296
2.079
3.792
1.103
3.362
4.000
0.000
4.000
j=1
j=2
j=3
j=4
At the end you will obtain the control points that are defined after the second
phase of the algorithm and given in Table 1.5. Figure 1.25 shows the data, the
calculated control points and the course of the surface in three-dimensional space.
1.4
Surface Interpolation with Boundary Curves
We have explained one of the methods for creating curves and surfaces, useful for
3D modelling. Below, a slightly different method will be presented. Instead of
describing the surfaces using control polygons, the definitions will fill the space
between the boundary curves. The techniques used in this process are named after
their authors, S. Coons and W. Gordon. Before describing them we shall introduce
an important part of their definition. In both cases it is based on a ruled surface.
32
1.4.1
1 Introduction to Freeform Surface Modelling
Ruled Surface
Ruled surfaces are simple and form the basis for creating surface models. Their
boundary curves C1 ðsÞ and C2 ðsÞ are given in advance (Fig. 1.26). Let both be
defined over the same interval of the parameter s 2 ½0; . . .; 1. The surface Pðs; tÞ
should be found such that the following is true:
Pðs; t ¼ 0Þ ¼ C1 ðsÞ; Pðs; t ¼ 1Þ ¼ C2 ðsÞ
ð1:38Þ
Of course the problem has many solutions. Let us try a linear interpolation
between both curves:
Pðs; tÞ ¼ ð1 tÞ C1 ðsÞ þ t C2 ðsÞ
ð1:39Þ
To do this, linear blending functions f1 ¼ t and f2 ¼ 1 t were used. The
interpolation was performed by taking into account the whole space between the
entire C1 and C2 curves, not only the space between the discrete points. Some
authors call this process transfinite interpolation. It is also important that this
definition does not restrict the type of boundary curves. The first one can be a
B-spline, for example, and the other one a polyline or a section of an analytically
presented function. The shape of a ruled surface depends on the parameterisation of
both curves (Sect. 1.4).
1.4.2
Coons Patch
A ruled surface can only define an interpolation with two boundary curves, which
places a major restriction on defining freeform surfaces, which are usually defined
by four edges. For this reason we will expand our problem to four boundary curves,
as follows: C1 ðsÞ; C2 ðsÞ; C3 ðsÞ and C4 ðsÞ (Fig. 1.27).
Fig. 1.26 Ruled surface
1.4 Surface Interpolation with Boundary Curves
33
Fig. 1.27 Coons patch
Let all of them be defined over the same interval of the parameters s 2 ½0; . . .; 1
and t 2 ½0; . . .; 1. The surface Pðs; tÞ should be found so that the following is true:
Pðs; t ¼ 0Þ ¼ C1 ðsÞ; Pðs; t ¼ 1Þ ¼ C2 ðsÞ
ð1:40Þ
Pðs ¼ 0; tÞ ¼ C3 ðtÞ; Pðs ¼ 1; tÞ ¼ C4 ðtÞ
ð1:41Þ
Ruled surfaces were introduced in Sect. 1.4.1. Let us now try to use them as a
constituent part of a new definition:
Pruled; direction t ðs; tÞ ¼ ð1 tÞ Pðs; 0Þ þ t Pðs; 1Þ
ð1:42Þ
Pruled; direction s ðs; tÞ ¼ ð1 sÞ Pð0; tÞ þ s Pð1; tÞ
ð1:43Þ
However, it turns out that simply adding up two interpolate surfaces, defined by
two opposite curves, is not sufficient and wrong. Subtracted from the sum should be
the bilinear interpolation Pbiv ðs; tÞ, defined by the corners of the surface under
consideration:
Pð0; 0Þ
Pbiv ðs; tÞ ¼ ½1 s; s
Pð1; 0Þ
Pð0; 1Þ
Pð1; 1Þ
1t
t
ð1:44Þ
Finally, a Coons patch can be put together in the form of an equation:
Pðs; tÞ ¼ Pruled; direction t ðs; tÞ þ Pruled; direction s ðs; tÞ Pbiv ðs; tÞ
ð1:45Þ
or in expanded form:
Pðs; tÞ ¼ ½1 s; s
Pð0; tÞ
Pð1; tÞ
Pð0; 0Þ
½1 s; s
Pð1; 0Þ
þ ½ Pðs; 0Þ
Pð0; 1Þ
Pð1; 1Þ
Pðs; 1Þ 1t
t
1t
t
ð1:46Þ
34
1 Introduction to Freeform Surface Modelling
Fig. 1.28 Adjacent Coons
patches using: a set of linear
blending functions (above),
and a set of cubic blending
functions (below)
To create a ruled surface we used one of the simplest sets of blending functions.
These are linear functions f2 ¼ t and f2 ¼ 1 t. Other sets could also be used; the
cubic one, for example, f1 ¼ ð1 tÞ3 þ 3tð1 tÞ2 and f2 ¼ 3t2 ð1 tÞ þ t3 . The
advantage of the latter is shown in Fig. 1.28. Despite the curves C1a and C1b having
a continuous derivative to the point D, this is not true of the adjacent Coons
patches, when a set of linear blending functions is used (Fig. 1.28a). Figure 1.28b
shows adjacent Coons patches with this cubic set of blending functions.
1.4.3
Gordon Patch
A Gordon patch is a generalisation of a Coons patch. Its concept was developed by
William J. Gordon around 1970, while working for General Motors Research Labs.
He was dealing with the problem that often not only four boundary curves are
given, but also a mesh ðn þ 1Þ ðm þ 1Þ of curves. Such a mesh can usually be
obtained by means of 3D-recording or mechanical measuring with the use of
contact or non-contact measuring devices (Fig. 1.29).
A Gordon patch is therefore aimed at defining freeform surfaces when a data
structure with the ðn þ 1Þ ðm þ 1Þ system of curves is given. The problem can be
formulated with given curves:
Cs;0 ðsÞ; Cs;1 ðsÞ; . . .; Cs;n ðsÞand Ct;0 ðtÞ; Ct;1 ðtÞ; . . .; Ct;m ðtÞ
Let both sets be defined over the same interval of the parameter s 2 ½0; . . .; 1
and t 2 ½0; . . .; 1. The surface Pðs; tÞ should be found such that the following is
true:
1.4 Surface Interpolation with Boundary Curves
35
Fig. 1.29 Gordon patch interpolating a mesh of curves
Pðs; ti Þ ¼ Cs;i ðsÞ where i ¼ 0; . . .; n
ð1:47Þ
Pðsi ; tÞ ¼ Ct;i ðtÞ where i ¼ 0; . . .; m
ð1:48Þ
The idea is similar to that for a Coons patch: first, find the constituent part
Pdirectt ðs; tÞ that allows the interpolation of one family of iso-parametric curves in
the direction t. This is followed by finding the other constituent part Pdirects ðs; tÞ. At
the end, add the two parts together and subtract the interpolant that includes the
corners Piv ðs; tÞ.
To define a ruled surface, linear blending functions f1 ¼ t and f2 ¼ 1t were
used. With more edges, a higher-order polynomial interpolation such as a Lagrange
polynomial can be used:
Qm
ðssj Þ
m
Q
Li ðsÞ ¼ mj¼0j6¼0
ð1:49Þ
s sj Þ
ð
j¼0j6¼0 i
The first and the second constituent parts can now be generalised into:
Pdirection s ðs; tÞ ¼
m
P
Pðsi ; tÞLm
i ðsÞ
ð1:50aÞ
n
P
P s; tj Lnj ðsÞ
ð1:50bÞ
i¼0
Pdirection t ðs; tÞ ¼
j¼0
The third constituent part is:
Piv ðs; tÞ ¼
m P
n
P
n
P si ; tj Lm
i ðsÞLj ðtÞ
i¼0 j¼0
ð1:51Þ
36
1 Introduction to Freeform Surface Modelling
And finally, the Gordon patch is:
Pðs; tÞ ¼ Psmers ðs; tÞ þ Psmert ðs; tÞ Piv ðs; tÞ
ð1:52Þ
The Gordon patch concludes the presentation of mathematical formulations that
present a significant basis for the modelling of bodies in space. A detailed study of
special surfaces and the shapes of bodies requires additional skills in advanced
mathematics. Below, we would like to present the application of the
above-presented modelling and designing knowledge in practical use, as top
designing and shaping can only be achieved through a simultaneous understanding
of the mathematical background of modelling, physical, technological and ergonomic properties, and the rules of materials and the environment.
1.5
Continuity of Curves and Surfaces
So far, enough knowledge has been acquired to explain a few examples, referring to
the continuity of curves and geometries in engineering graphics (modellers). An
accurate description of the continuity of curves and surfaces is important not only
for the reasons of how a surface or a curve looks, but also because of the design
requirements. We have seen that curves follow certain laws of physics (load, torque,
fluid flow, etc.). If our products are to successfully perform their function on the
basis of the selected physical conditions, such curves should be selected so that they
correspond to the relevant laws of physics. It is of utmost importance to provide
adequate transitions between the curves and the surfaces. In connection with
transitions, we will come across several terms that can cause considerable confusion
among the users of modellers with no prior theoretical knowledge. In this part of the
chapter we will come across a variety of definitions, such as curve curvature,
parametric continuity and the geometric continuity of curves.
1.5.1
Normal Vector and Curvature
Understanding the definitions of the normal vector and curve curvature is essential
for an understanding of curve continuity.
Normal vector: Let us suppose a fixed point PðtÞ, a variable point T on its left,
and a variable point Q on its right. All of them are on a parametric curve and they
uniquely define a plane. When T and Q are approaching PðtÞ, the plane approaches
its final position, where it becomes a tangent plane to the curve at the point PðtÞ. On
the tangent plane at point PðtÞ also lies the curve tangent at this point. The tangent
plane is the plane that passes through PðtÞ and involves both P0 ðtÞ and P00 ðtÞ. In
general terms, it can be said that the following equation is true for a given point on
this plane, where p and q are parameters.
1.5 Continuity of Curves and Surfaces
37
PðtÞ þ pP0 ðtÞ þ qP00 ðtÞ
ð1:53Þ
A bi-normal vector BðtÞ is a unit vector obtained from the vector product P0 ðtÞ
and P00 ðtÞ:
0
00
ðtÞ
BðtÞ ¼ jPP0 ððttÞP
ÞP00 ðtÞj
ð1:54Þ
The equation above makes it clear that the bi-normal vector BðtÞ is orthogonal to
both P0 ðtÞ and P00 ðtÞ and consequently also orthogonal to the tangent plane. The line
where the points PðtÞ þ tBðtÞ lie is therefore a bi-normal line at point PðtÞ.
A normal vector is a vector that is orthogonal to both the tangent and the
bi-normal vector. Its direction can be defined by the right-handed system. The unit
normal vector N ðtÞ can be defined with the following equation:
0
ðt Þ
N ðtÞ ¼ jBBððttÞP
ÞP0 ðtÞj
ð1:55Þ
The mutual positions of the tangent, bi-normal and normal vectors at a given
point on the curve are shown in Fig. 1.30. It should be pointed out that the tangent,
normal and P00 ðtÞ vectors all lie on the same plane.
Curvature: The easiest way to explain the notion of the curvature of a curve is
with the following interpretation: Let us suppose that PðtÞ is any fixed point on a
curve and the points T and Q are variable points to the left and to the right of PðtÞ
on the curve. These three points uniquely define a circle as long as they are lying on
the same line (i.e., they are not collinear). When the points T and Q get close to the
point PðtÞ, the circle defined by these three points reaches its final radius r and the
centre position S (Fig. 1.31, dotted line). Such a circle is referred to as the circle of
curvature at point PðtÞ. Consequently, the more the curve is bent—the larger the
curvature and the smaller the radius of the circle of curvature at the point PðtÞ.
Mathematically this is written as:
Fig. 1.30 Mutual positions
of the tangent, bi-normal and
normal vectors at a given
point on the curve
38
1 Introduction to Freeform Surface Modelling
Fig. 1.31 When the points T
and Q move close to the point
PðtÞ, the circle that is
uniquely defined by the points
approaches its final size and
position, the circle of
curvature, defined by its
centre S and radius r
jPðtÞ ¼ rP1ðtÞ
ð1:56Þ
Analogously, the larger the radius of curvature at the point PðtÞ the smaller the
curvature. Hence, you can imagine a straight line (line segment) as a curve with an
infinitely large radius of the circle of curvature.
Since three non-collinear points in space uniquely define a plane in space, the
circle of curvature at the point PðtÞ also lies on this plane. It is also true that this
plane is tangential to the curve at the point PðtÞ. As we know from the definition of
the tangent plane, the circle of curvature lies on the tangent plane. Because the
circle of curvature is tangent to the curve and as such also to the curve tangent, it
means that the centre of the circle of curvature is in the direction of the normal to
the curve.
Hence, the curvature j at the parameter t on the curve PðtÞ can be calculated
using the equation:
0
00
ðtÞj
jðtÞ ¼ jP ðjPtÞf
0 ðt Þj3
1.5.2
ð1:57Þ
Parametric Continuity
Parametric continuity refers to parametric curves and describes the smoothness of a
parameter along the curve.
A curve has the parametric continuity C n when the n-th derivative of the
function describing the curve is continuous along the entire curve.
d n PðtÞ
dtn
ð1:58Þ
1.5 Continuity of Curves and Surfaces
39
The most characteristic orders of parametric continuity are:
•
•
•
•
•
C 1 Curves are discontinuous
C 0 Curves are continuous—they share common end-start points
C 1 First derivatives are continuous.
C 2 First and second derivatives are continuous
C n First through n-th derivatives are continuous
Problems with parametric continuity: Parametric continuity Cn generally
allows an excellent definition of the continuity of two curves at a contact point, but
not in all cases. Let us take an example of the two straight lines in Fig. 1.32,
described by the Eq. 1.55, where T 1 , T 2 and T 3 are collinear points in space.
f ð uÞ ¼ T 1 þ uð T 2 T 1 Þ
ð1:59aÞ
gð v Þ ¼ T 2 þ v ð T 3 T 2 Þ
ð1:59bÞ
When a normalized parameter u (and analogously v) travels from 0 to 1 it is
obvious that the curves have continuity C 0 (they are in contact at the point T 2 ). The
question arises whether the curves also provide continuity C 1 :
f 0 ð uÞ ¼ T 2 T 1
ð1:60aÞ
g0 ð v Þ ¼ T 3 T 2
ð1:60bÞ
Consequently, f 0 ðuÞ ¼ T 2 T 1 generally does not equal g0 ðvÞ ¼ T 3 T 2 . As a
result, these two curves do not provide C 1 continuity at the point T 2 ; however,
Fig. 1.32 can raise doubts that this is not true in this case. A solution is possible if
the direction vectors T1 − T2 and T2 − T3 are replaced by their unit vectors and
change the area of the parameters u and v. It results in the following two equations:
2 T 1 Þ
FðuÞ ¼ T 1 þ u ðT
jT 2 T 1 j
ð1:61aÞ
3 T 2 Þ
GðvÞ ¼ T 2 þ v ðT
jT 3 T 2 j
ð1:61bÞ
where the parameter u runs over an interval 0 to jT 2 T 1 j and the parameter v over
an interval 0 to jT 3 T 2 j. Because F0 ðuÞ ¼ G0 ðvÞ ¼ unitvector in the direction
Fig. 1.32 Continuity of two coaxial lines. In order to prove their C 1 and C 2 continuity at the
common point, the equations of the lines should be re-parameterised accordingly
40
1 Introduction to Freeform Surface Modelling
from T 1 to T 3 , it means that the curves are C 1 continuous. The process of
parameterisation that was used, therefore makes solving this problem possible.
Let us take a look at another example where the parameters u and v (Eq. 1.58)
run over an interval ½0; 1 as shown in Fig. 1.33.
f ðuÞ ¼ cos u2 p2 ; sin u2 p2 ; 0
ð1:62aÞ
gðvÞ ¼ sin v2 p2 ; cos v2 p2 ; 0
ð1:62bÞ
The function f ðuÞ over an interval 0 to 1 describes the left part of the circular arc
in Fig. 1.33. Similarly, the function gðvÞ over an interval from 0 to 1 describes the
right part of the circular arc. The curves are in contact at the point
T 1 ¼ ð0; 1; 0Þ ¼ f ð1Þ ¼ gð0Þ. The calculation follows:
p
p f 0 ðuÞ ¼ pu sin u2 ; pu cos u2 ; 0
2
2 p
p 00
2 2
2
2 2
f ðuÞ ¼ p u cos u
; p u sin u2 ; 0
2
2
f 0 ðuÞ f 00 ðuÞ ¼ 0; 0; p3 u3
jf 0 ðuÞj ¼ pu
jf 0 ðuÞ f 00 ðuÞj ¼ p3 u3
jðuÞ ¼ 1
p
p g0 ðvÞ ¼ pv cos v2 ; pv sin v2 ; 0
2
2 p 00
2 2
2p
2 2
g ðvÞ ¼ p v sin v
; p v cos v2 ; 0
2 2
g0 ðvÞ g00 ðvÞ ¼ 0; 0; p3 v3
jg0 ðvÞj ¼ pv
jg0 ðvÞ g00 ðvÞj ¼ p3 v3
jðvÞ ¼ 1
Fig. 1.33 Continuity of two sections of a circular arc
1.5 Continuity of Curves and Surfaces
41
It should be noted here that both g0 ð0Þ and g00 ð0Þ are zero vectors, and as such
their direction at this point is not clearly defined. Consequently, it is not possible to
make conclusions about the curve’s continuity properties at the point of contact,
although Fig. 1.33 makes it seem that there is some continuity between both curves
at the point of contact, and that they obviously have a common tangent.
Let us try to solve the problem again by means of parameterisation, i.e., by
modifying their parametric equations, without changing their forms, the same as we
did in the previous case. In the equation f ðuÞ replace u2 ¼ p, and in the equation
gðvÞ replace v2 ¼ q. This results in:
p
p f ð pÞ ¼ cos p ; sin p ; 0
p2 p2 gðqÞ ¼ sin q ; cos q ; 0
2
2
Their derivatives are as follows:
p p p sin p ; cos p ; 0
2 2 2 2
p 2
p
p 2 p
00
cos p ; sin p ; 0
f ð pÞ ¼
2
2
2
2
p p p p cos q ; sin q ; 0
g0 ðqÞ ¼
2
2 2 2 p
2
2
p
p
p
g00 ðqÞ ¼ sin q ; cos q ; 0
2
2
2
2
p3
0
00
0
00
f ð pÞ f ð pÞ ¼ g ðqÞ g ðqÞ ¼ 0; 0; 2
p3
jf 0 ð pÞ f 00 ð pÞj ¼ jg0 ðqÞ g00 ðqÞj ¼
2
p
0
0
jf ð pÞj ¼ jg ðqÞj ¼
2
jð pÞ ¼ jðqÞ ¼ 1
f 0 ð pÞ ¼
p
After changing the variables, the following is true f 0 ð1Þ ¼ g0 ð0Þ ¼ ðp=2; 0; 0Þ.
And so it can be said that the curves have continuity C 1 . Let us take a look at their
other derivatives: f 00 ð1Þ ¼ g00 ð0Þ ¼ ð0; ðp=2Þ2; 0Þ, which means that they also
provide continuity C2 . What is more, due to the continuity along the entire curve 1,
it is possible to claim that the curves also have a continuous curvature (which makes
sense as they are part of a circle).
These two examples have shown that the choice of parameterisation
(re-parameterisation or changing the variables) has a significant effect on the continuity of curves. Consequently, a mathematical determination of the continuity can
42
1 Introduction to Freeform Surface Modelling
always throw the calculated results into doubt. The solution, shown in previous
subchapters, is to use the arc length.
Let a curve have an arc length s. The curve can be so parameterised that the point
f ðuÞ is on the curve that is separated by the arc length u from the initial point of the
curve f ð0Þ, with u lying in the interval from 0 to s. By means of parameterisation
using the arc length, where u travels from 0 to s, f ðuÞ travels along the curve from
f ð0Þ to f ðsÞ at the same ‘speed’. As a result, the tangent vector measuring the speed
is of unit-length. Many equations can be simplified in this manner.
Despite re-parameterisation by the arc length (an alternative term is natural
parameterisation) looking, at least in theory, a simple and elegant method, it is
often demanding and unpractical because defining arc lengths requires the integration of functions and the use of square roots.
1.5.3
Geometric Continuity
It has been shown that in some cases it is difficult to determine the parametric
continuity of curves. Many of the C1 continuous curves have continuous curvature,
but lack C2 continuity at the point of contact, and some of them are not double
differentiable. However, these curves appear smooth at the points of contact and
also at the transitions from one section to another. After changing a variable, some
of these curves even become C 2 continuous at the points of contact, as shown
earlier in this chapter. The problem is that it is sometimes difficult to find an
appropriate re-parameterisation procedure that makes this possible. This was the
reason for defining the geometric continuity, as it slightly relaxes the requirements
for C 2 :
Two sections of naturally parameterised curves are Gk geometric continuous at the joining
point if and only if all the left and right i-th derivatives match for each i k.
Although the above definition requires parameterisation by the arc length, the
one below, which is an equivalent definition, does not require it.
Two sections of curves are Gk geometric continuous at the joining point if and only if two
parametrisations exists, one for each curve segment that all the left and right i-th derivatives
match for each i k.
This definition is already better,
know how to find an appropriate
modelling is mainly only about the
Let us first define the continuity
but still not good enough, as we often do not
parameterisation. Fortunately, designing and
cases when k ¼ 1 and k ¼ 2.
G1 :
Two G0 continuous curve sections are G1 geometric continuous if and only if the vectors
f 0 ðuÞ and g0 ðvÞ have the same direction at the joining point, and f 0 ðuÞ and g0 ðvÞ are
evaluated at the joining point.
1.5 Continuity of Curves and Surfaces
43
Fig. 1.34 Curves with a
common tangent, but tangent
vectors in the opposite
direction, which makes the
curve not G1 continuous
Let us point out again here that it is not enough if the curve sections share the
same tangent at their common point; their tangent vectors also need to have the
same direction. To be more precise, two curve sections sharing a common tangent
are not yet G1 continuous at a common point. For a better understanding, let us take
a look at Fig. 1.34.
In Fig. 1.34 the curves f ðuÞ and gðvÞ are in contact at the common point f ð1Þ ¼
gð0Þ and share a common tangent. However, the tangent vectors of both curves
point to the opposite direction and, consequently, the curves are not G1 continuous
at this point. In contrast to that, the examples in Fig. 1.32 and 1.33—according to
the same definition—exhibit G1 continuity at the points of contact, despite the
initial calculations not showing C1 continuity.
Gregory Nielson gave a simple definition of G2 continuity:
Two C 1 continuous curve sections are G2 geometric continuous at the joining point if and
only if the vector f 00 ðuÞg00 ðvÞ is parallel to the tangent vector at the joining point, and
f 00 ðuÞ and g00 ðvÞ are evaluated at the point of contact.
An advantage of such a definition of G2 continuity is its independence from the
selected parameterisation; it is only necessary to verify the C1 continuity in
advance.
Let us take a look at another example of Nielson’s definition: Let us take two
parabolas with a joining point at ð0; 1; 0Þ. The parabolas are described by the
following equations as shown on Fig. 1.35:
f ðuÞ ¼ 1 þ u2 ; 2u u2 ; 0
gðvÞ ¼ 2u u2 ; 1 u2 ; 0
Both curves are within the normalized interval ½0; 1, while the joining point is
f ð1Þ ¼ gð0Þ ¼ ð0; 1; 0Þ.
44
1 Introduction to Freeform Surface Modelling
Fig. 1.35 Continuity of two
parabolas with joining point at
ð0; 1; 0Þ
The basic calculations follow:
f 0 ðuÞ ¼ ð2u; 2 2u; 0Þ
f 00 ðuÞ ¼ ð2; 2; 0Þ
f 0 ðuÞ f 00 ðuÞ ¼ ð0; 0; 4Þ
pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
jf 0 ðuÞj ¼ 2 1 2u þ 2u2
jðuÞ ¼
jf 0 ðuÞ f 00 ðuÞj ¼ 4
1
2ð1 2u þ 2u2 Þ1:5
g0 ðvÞ ¼ ð2 2v; 2v; 0Þ
g00 ðvÞ ¼ ð2; 2; 0Þ
g0 ðvÞ g00 ðvÞ ¼ ð0; 0; 4Þ
pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
jg0 ðvÞj ¼ 2 1 2v þ 2v2
jg0 ðvÞ g00 ðvÞj ¼ 4
1
jðvÞ ¼
2ð1 2v þ 2v2 Þ1:5
Calculating f 0 ð1Þ ¼ g0 ð0Þ ¼ ð2; 0; 0Þ shows that the curves are C 1 continuous at
the joining point. Since f 00 ð1Þ ¼ ð2; 2; 0Þ is not equal to g00 ð0Þ ¼ ð2; 2; 0Þ,
they are not C2 continuous; however, as the values of both curves’ functions of
curvature at the point of contact are identical kf ðuÞ ¼ kg ðvÞ ¼ 1, we can see that
they have continuous curvature at the said point.
Let us verify now G2 : with C 1 continuity at the joining point having been
confirmed, we can move on. Let us first calculate f 00 ð1Þ g00 ð0Þ ¼ ð4; 0; 0Þ. The
tangent vector can be calculated from f 0 ð1Þ ¼ ð2; 0; 0Þ. We can see that both vectors
are parallel at the joining point and referring to Nielson’s definition the said curves
are G2 continuous at this point.
1.5 Continuity of Curves and Surfaces
45
According to the definition of the Gk order of continuity, explained above, it
would be possible to find two such parameterisations of both curves for which C 2
continuity could be proved.
Due to all the above-described characteristics, geometrical continuity is very
suitable for defining the continuity of implicit functions, such as conic sections (i.e.,
the curves generated when a plane cuts through a cone: a circle, an ellipse, a
parabola, a hyperbola), and the continuity of other curve shapes that cannot be or
are difficult to differentiate several times, such as a line (which can also be referred
to as a circle with an indefinite radius).
To sum up some of the most characteristic orders of the geometric continuity of curves that we come across in design and modelling:
• G0 curves meet at the point of contact
• G1 curves have the same tangent direction at the point of contact
• G2 curves have the same tangent direction and centre of curvature at the point of
contact.
1.5.4
Practical Aspect of Continuity for Designing
and Modelling
It should be clear by now that continuous, smooth transitions require at least G1
continuity. For practical, physical and aesthetic reasons—for example, in aeronautical, car and nautical industries, and elsewhere—higher-order continuities
should be provided. General command settings for edge blending between different
CAD model surfaces, e.g., fillets, provide G1 continuity. In order to have G2
continuity, it usually needs to be explicitly specified in the settings. G2 transitions
can be edited later and they are usually based on cubic curves, explained earlier in
this chapter.
Visual control can be of great assistance in the CAD modelling of suitable
transitions. The surface of a car body, for example, will not look smooth without
having at least G2 continuous transitions. This makes the visual control of surface
transitions in modellers an important part of providing appropriate continuity of
transitions, and as such, it is supported in modellers by a variety of visualisation
tools for a better impression. Throughout this book, the reader will be made familiar
with these tools. The most typical ones are shown in Fig. 1.36. For curve curvature
control, curvature combs are used. By means of line segments, orthogonal to a
curve, they visualize the relative value of the curvature k at individual points on the
curve. Also by means of visualisation tools, it is possible to define the position of
the inflection point, as well as the point on a curve with the smallest circle of
curvature.
Visual inspection of surface continuity of CAD objects can be performed in the
first step by inspecting the model itself, especially its edges and the transitions
46
1 Introduction to Freeform Surface Modelling
Fig. 1.36 Visualisation tools for curve curvature and curve continuity control in the SolidWorks
modeller: a showing the inflection point, b position and size of the largest curvature, c curvature
combs
between surfaces. Creating high-resolution renders can also be of some assistance.
Figure 1.37 shows a model with three different transitions between three surfaces.
On the left you can see a model where only surfaces meet, i.e., at a G0 continuity.
At the centre there is a model with a constant radius blending, i.e., at a G1 continuity between the blending and the nearby upper surfaces. On the right is a model
where the transition between two surfaces is achieved by the cubic function that
allows G2 curvature continuity between two surfaces. Although a screen image in
the modeller displays almost no difference between the models at the centre and on
the right, the difference—especially with objects from nature with smooth reflecting
surfaces—can be very obvious. For this reason, advanced modellers feature tools
that simulate reflections of different, usually zebra patterns from the environment.
Figure 1.37 shows different reflections of the same zebra pattern for different
transitions. Zebra stripes on the surfaces of G0 transitions do not meet at the contact
between two surfaces. In G1 transitions the stripes meet; however, they form sharp
transitions. Only G2 transitions provide smooth transitions from one surface to the
other. This tool allows an excellent overview of surface continuity on the edges;
however, it provides no information about the size of curvature at any point on the
surface. When such information is required, the tool for colour mapping of the
radius of curvature on the surface should be applied. Using a colour scale, it colours
the CAD model’s surfaces according to their radius of curvature at a given point.
Figure 1.37 shows that flat surfaces are coloured black, whereas other parts are
coloured according to their respective curvatures. Hence, constant radius blendings
(centre below) are coloured evenly with one colour, whereas the blendings with
continuous curvature are shading from the colour of the first adjacent surface via a
variety of green intensities into the colour of the next surface. Besides pattern- and
colour-mapping of the curvature, modern modellers also allow collecting information on the curvature j and the radius of curvature r at any given discrete point
on the surface.
1.5 Continuity of Curves and Surfaces
47
Fig. 1.37 CAD model with G0 , G1 and G2 transitions between a model’s upper surfaces.
Transitions can be analysed by means of projecting patterns or colour mapping the surfaces
1.5.5
Surface Classes
Any engineer or experienced CAD modeller user will sooner or later come across
the terms Class A, Class B and Class C surfaces. The term originated in the car
industry and different car manufacturers’ internal standards. Consequently, there is
no standard definition of the classes; instead, there are several different
interpretations.
In the broadest sense, the definition says:
• Class A: Visible surfaces of a product, requiring the highest aesthetic level, such
as a car bonnet, headlight glass, etc.
48
1 Introduction to Freeform Surface Modelling
• Class B: Visible surfaces of a product, not requiring the highest aesthetic level,
such as car wheel nut holes, door openings, etc.
• Class C: Non-visible surfaces and parts of a product, such as a car seat
mounting, spare wheel space, etc.
This allows industrial and mechanical designers to define what surfaces need to
remain unchanged during detailed design and which ones can be adjusted in order
for the product to achieve its full functionality and visual appeal. This is particularly
important when a parent company leaves a product or a subassembly to a subcontractor for final development and manufacturing. Companies can of course lay
out additional details and define, by prescribed tolerances, various surface classes,
so that they are in accordance with their aesthetic, design and technological
standards.
Because of the inconsistent classification of surface classes it is recommended to
use the terms Class A, Class B and Class C only for communication within a
company and under the condition that everyone involved is familiar with the
internal standardization of surfaces inside the particular company. When outsourcing development, it is recommended to set out in advance the common rules
that apply to individual surfaces.
For general use, it is strongly discouraged to use surface classes. Instead, it
is recommended to define surfaces by referring to parametric C k or geometric
Gk continuities, as they are mathematically accurately defined.
References
1. Duhovnik J, Kljajin M, Opalić M (2009) Inženirska grafika, Fakulteta za strojništvo, Ljubljana
2. Duhovnik J, Demšar I, Drešar P (2015) Space modeling with SolidWorks and NX. Springer,
Heidelberg. https://doi.org/10.1007/978-3-319-03862-9
3. Watt A (1990) Fundamentals of three-dimensionals computer graphics. Addison Wesley,
Boston
4. Farin GE (2002) Curves and surfaces for computer-aided geometric design. Academic Press,
Cambridge
5. Jankauskas K (2010) Time-efficient nurbs curve evaluation algorithms. In: Proceedings of the
16th international conference on Information and Software Technologies, pp 60–69
6. Patrikalakis NM, Maekawa T (2002) Intersection problems. In: Farin GE, Kim M-S
(eds) Handbook of computer aided geometric design. Elsevier, New York. https://doi.org/10.
1016/b978-044451104-1/50026-5
7. Bu-Qing S, Ding-Yuan L (1989) Computational geometry: curve and surface modeling.
Academic Press, Cambridge
8. Petrišič J (1999) Interpolacija. Fakulteta za strojništvo, Ljubljana
Chapter 2
From Solid to Surface Modelling
Abstract As a rule any CAD modelling should eventually result in a solid model
or a system of solid models with all their functional and aesthetic details. Achieving
this goal requires the user to understand modelling with features, solid models and
the basic principles of the Boolean algebra of solid CAD bodies. As such, this is an
essential part of surface modelling, too. Surface modelling is a valuable tool,
providing an experienced CAD designer with a faster and better execution of
complex CAD shapes. However, experienced CAD designers will not abandon
working with features and solid bodies. Instead, based on their own knowledge,
experience and the expected results, they will choose the most appropriate approach
—the best tool for creating individual steps and details, while navigating through all
their skills. This chapter presents the importance of such navigation for the example
of a Kaplan turbine blade. This is an example of a product where one part has a
fairly complex but very important surface, defining the efficiency of the hydro
power plant, while the other end has a geometrically regular shape, allowing
accurate and flexible assembly with the turbine rotor. The fastest possible,
good-quality results require concurrent decisions about whether to execute individual steps by means of features or surfaces. This chapter explains the process of
creating surfaces, creating solid bodies from surfaces, and combining solid bodies
in order to come to the end product.
2.1
Introduction
During the introductory lessons, students are acquainted with all the details and
procedures about approaching the exercises, the system server and acquiring all the
necessary information about a particular exercise. Since systems and work vary
from one university to another, supplementary material with all the details should
be presented in the first part of the introductory exercise. The supplementary
material is intended for dealing with the exercises and provides unrestricted access
to a particular server.
© Springer Nature Switzerland AG 2019
N. Vukašinović and J. Duhovnik, Advanced CAD Modeling,
Springer Tracts in Mechanical Engineering,
https://doi.org/10.1007/978-3-030-02399-7_2
49
50
2 From Solid to Surface Modelling
Modelling complex shapes is an upgrade of the basic modelling in space. The
objective is for the students to recognise the techniques and abilities of freeform
surface modelling. Any process of digitising freeform surfaces is so processed that
first a global and then a local coordinate system is defined. The freeform surface of
an object is always generated in a local coordinate system. For reasons of simplicity, the Cartesian coordinate system is used to describe free forms.
Consequently, the position of any point on a surface is specified by three coordinates: x, y, and z. The points can be specified by writing them into a table, by
calculating and entering them into a similar table, or by measuring individual points
on the object and writing them into a table with an appropriate form. During the first
lesson, the points will be presented in a table. The points can be randomly changed,
but under the condition that a particular physical law is obeyed.
Once the points have been inserted into a local coordinate system, they should be
connected to one another. This connection should be performed in a physically
appropriate manner:
• Connecting points with a second-order curve—a natural phenomenon, described
by a second-order function (e.g., a cable car’s wire rope sag, a bullet’s trajectory
after firing, etc.)
• Connecting points with a third-order curve—a natural phenomenon, described
by a third-degree function (e.g., deformation of sheet metal when shaped, or a
holder when bent, etc.)
• Connecting points with a fourth-order curve—a natural phenomenon, described
by a fourth-degree function (e.g., a hull, an aircraft wing, shapes of hydraulic
elements, blades, etc.).
When points are connected with an inappropriate curve, it will not yield quality
results that follow a natural phenomenon. However, if this is an objective, it can
generally be compensated by a larger set of points, referred to as control points that
are calculated or experimentally defined. Control points in this context are only
used to determine the digital geometry of a product and are generally not identical
to the control points of measured points or those of a Bézier spline or NURBS.
It is important to be aware of the quality difference between a model using a
curve of such an order that matches the description of a corresponding physical
phenomenon and a model using a curve of an unsuitable, usually lower order.
Lower-order curves can only be used as an approximation to higher-order curves at
some section of the curve as a whole. The more we want to approach the exact
curve the shorter these segments are and the more control parameters/points are
required. It makes a modeller that besides NURBS allows the use of second- and
fourth-order curves a better choice.
An example of a Kaplan blade was chosen with the aim to make the student
familiar with the physical and functional importance of surface modelling, as the
shape of the blade does not serve its own purpose. Instead, it follows physical laws
of fluid flow through a turbine. These laws can be written with different degrees of
accuracy and in different ways. In this exercise we will use the records of
2.1 Introduction
51
blade-profile curves that were previously determined by numerical calculations and
given in the form of sets of points written in a discrete form.
In the following chapters there will be other, more accurate, variations where
writing in exact physical equations is the priority (e.g., with a fourth-order curve
that allows the use of Bernoulli’s equation to determine the hydraulic flow along the
blade), or a more accurate (dense) surface discretisation with point clouds. The
Kaplan-blade example is also interesting because it represents an excellent example
of advanced modelling, requiring surface modelling, where the geometry of complex surfaces needs to be written, and because of modelling with features where
geometry can be described using simple geometric shapes (e.g., extrusion and
revolving). To this end we will also present the use of functions for combining 3D
CAD bodies according to the principles of Boolean algebra.
Prior to each case-study, the end result will be presented in order to give the
student a feeling for the basic geometry of the product. In some cases we will try to
present the product in its broader operating environment. A Kaplan turbine blade is
part of the turbine rotor drive—the heart of Kaplan turbine in the inflow shaft of the
water tract, shown with a technical drawing in Fig. 2.1.
2.2
Combining Solid and Surface Modelling—Case Study
of a Kaplan Turbine Blade
Below is an example of combining solid and freeform surface modelling using the
example of a Kaplan turbine blade with dimensions, as shown in Fig. 2.2. In the
following example the blade’s pressure and suction surfaces will be defined by six
sets of coordinate points in space. They were obtained from a numerical calculation
of the optimum shape of the blade. The set of points for each curve is shown in
Fig. 2.3. The shape of the blade is obtained by—using mathematical methods
described in Sects. 1.4.1 Ruled surface, 1.4.2 Coons patch or 1.4.3 Gordon patch—
stretching a surface across the curves at intersections. It is of course not necessary to
programme these mathematical methods each time, as they are integrated in most
quality modellers that allow working with freeform surfaces. Surfaces can then be
joined into a solid 3D model, whereas parts of the blade assembly can be assembled
or cut out in the manner in which they have been shaped so far.
Data are imported with text files.txt, where lines and tabs clearly define the order
of points on a curve and the points’ coordinates. Consistency and ordering are vital
in data preparation. Contour lines on land-surveying maps can be entered in a similar
way. The map is on paper, where the x and y coordinates are marked for individual
points, and the contour line presents the z coordinate for a particular point.
52
2 From Solid to Surface Modelling
Fig. 2.1 Kaplan turbine with an adjustable blade in an enclosed pipe, shown in cross-section.
Courtesy of Litostroj Power d.o.o.
2.2 Combining Solid and Surface Modelling—Case Study …
53
Fig. 2.2 CAD model of a Kaplan turbine blade 1100 mm 678 mm ;500 mm
Fig. 2.3 Set of points in a
tabular form defining the first
curve of the blade’s suction
side. The curve is shown in
Fig. 2.4
2.2.1
Importing Sets of Points from Tables
For the purpose of this case study the data on the geometry of a Kaplan turbine
blade are accessible at1:
http://www.lecad.fs.uni-lj.si/nmodeliranje/blade.zip.
First, import the sets of points from the table for each suction and pressure side
by using the data input sesN.txt for the suction side and tlaN.txt for the pressure
side. Note that N is the curve number and must be identical for both the suction side
and the pressure side of the blade.
1
The content at this web address is intellectual property and can be used exclusively for educational purposes in order to follow the case studies described in this book.
54
2 From Solid to Surface Modelling
Fig. 2.4 Curves that will determine the surfaces and were imported into the modeller using a
description in the form of sets of points
• Insert, Curve, Curve through XYZ points, Browse, ‘ses1.txt’, ‘ses2.txt’, ‘ses3.
txt’; analogously ‘tla1.txt’, ‘tla2.txt’, ‘tla3.txt’.
Figure 2.4 shows the curves described by selected and inserted curves. The
curves can be visually assessed in 3D space in order to assess whether their position
is sensible.
2.2.2
Forming Surfaces by Inserted Curves
Forming surfaces should be repeated until there are enough surfaces to yield a
completely enclosed surface model. Commands follow in the order Insert, Surface,
Loft … where the curves to be included in the surface are determined. Pay attention
to the order of the selected curves, as the algorithm will use this order to stretch the
surface, according to the rules explained in the introductory chapter. It is the
software that selects the appropriate surface interpolation (Ruled surface—
Sect. 1.4.1, Coons patch—Sect. 1.4.2 or Gordon patch—Sect. 1.4.3), according to
the number, shape and position of the selected curves. The procedure should be
performed separately for the suction and pressure sides of the blade. The result is
shown in Fig. 2.5.
Fig. 2.5 Surface of a blade, stretched over the inserted curves and representing a surface model of
a blade for both the pressure and suction sides
2.2 Combining Solid and Surface Modelling—Case Study …
55
It is also necessary to create the surfaces that make up the narrow side of the
blade and connect their suction and pressure sides. To do this, use again Insert,
Surface, Loft … separately for each side:
• Insert, Surface, Loft … Select the initial curve, the middle one, if necessary, the
guiding and the end curve. Repeat six times, for the suction and pressure sides
of the blade, and for all four edges.
2.2.3
Converting a Surface Model into a Solid Model
of a Blade
The final goal of any surface modelling is to create a solid model. To achieve this
we need to (1) create such a combination of surfaces (Surface patches) that fully
(watertight) and unambiguously enclose an arbitrary space volume; (2) define all
the surface edge-pairs as joint edges; (3) define (and fill) the interior side of the
model, which is done by orienting the normals of all the model’s surfaces outwards.
Such a model can already be used to generate meshes for numerical analyses with
the finite-element method. Conversion can be performed by joining (in the form of
knitting) the surfaces that meet at the edges into an enclosed or filled unit, which
opens the commands for forming a solid model of a blade or a product in general. In
mathematical terms it means that two congruent curves, each defining their
respective surfaces, are replaced by one, common curve, defining the border of both
adjacent surfaces.
Commands are executed in the following order:
• Insert, Surface, Knit, select ‘Try to form solid’.
The resulting solid model (Fig. 2.6) is bounded by the suction and pressure
surfaces of the blade. They are linked by the narrow flat sides of the blade on all
four sides. The sides have sharp edges that can be either chamfered or filleted. The
sides that are to remain sharp should be left as they are. A Kaplan turbine blade
should have a flat side on the outside to provide sealing between the pressure and
the suction sides when the blade is rotating. In the radial direction, the front, i.e., the
inlet side, should be filleted. The same applies to the rear, i.e., the outlet side.
Fig. 2.6 Solid model of a blade made from the given points, curves and surfaces
56
2 From Solid to Surface Modelling
Filleting is required in order to reduce the hydraulic resistance on the inlet and
outlet sides of the blade in the water flow. Filleting can be executed by means of
radii or a specially designed parabolic transition, but you still need to create it.
Because filleting is not part of the main objective of this exercise, the edges in the
radial direction will be filleted by radii, which is a simple function of edge
chamfering.
2.2.4
Filleting the Front and the Rear Edge of the Blade
As the filleting function should be applied to the entire height, mark the edges of the
upper and lower surfaces and link them by radii so that they are tangent to the
surface at each point. This defines their size relative to the distance from both
surfaces:
• Insert, Features, Fillet, select ‘Full round fillet’ and ‘Full Preview’ (Fig. 2.7),
• repeat for the other face,
• save the solid model as blade.sldprt.
The blade is mounted to the rotating shaft using a special hub. The shaft is
controlled from the inside of the head through the rotor axis. The connection is
shown in Fig. 2.8. The main purpose of such a mounting is to allow the blade to
rotate about the axis, which allows its setting to a position that completely blocks
the flow in the turbine cross-section to the open flow. It results in such a pitch at the
inlet part of the blade that best suits the flow speed of the medium.
In order to create the hub in an appropriate hydraulic form, account should be
taken of the hub’s mounting on the shaft, rotating in the Kaplan turbine’s rotor
head. For the purpose of simpler and easier modelling, the hub should be modelled
separately from the blade that was already created as an independent model. Once
the complete hub is in a 3D model it can be joined with the blade model. The key
feature of this procedure is to model the individual pieces as elements of the entire
model, followed at the end by using a combine command, based on the principles
of Boolean algebra [1–3].
Fig. 2.7 Full filleting of the blade’s radial edges, the front and the rear edge
2.2 Combining Solid and Surface Modelling—Case Study …
57
Fig. 2.8 Cross-section of the Kaplan turbine with a rotor having an adjustable blade pitch
2.2.5
Base Model for Creating the Hub
Create a sphere with a diameter of 860 mm by using the Insert, Boss/Base, Revolve
… command and generate a new element at the origin of the coordinate system. The
sphere is based on a sketch, created on a basic plane, properly dimensioned and
completely defined. The result is shown in Fig. 2.9.
Save the generated sphere model as a copy, named sphere.sldprt, using the
Save As Copy command. The saved model will be used for the detailed blade
design on the inner radius, i.e., at the contact between the blade’s working surface
and the blade mounting on the Kaplan turbine’s rotor head.
Fig. 2.9 Sphere with a
diameter of 860 mm is the
base for modelling a blade
hub
58
2.2.6
2 From Solid to Surface Modelling
Creating the Kaplan Turbine’s Blade Hub
Once a copy of the sphere has been saved, reshape the open sphere model by
trimming it into a cylinder with a diameter of 500 mm, as shown in Fig. 2.10.
Begin creating the cylinder by preparing a sketch with a diameter of 500 mm on
a top-view plane. Announce the cutting function with the (Extruded cut) command,
requiring the cutting of the sphere on the outside of the circle through the entire
sphere model (Through all). Because all features (including cutting) always run
from the selected sketch in one direction, cutting in the other direction should be
specifically required by ticking Direction 2.
2.2.7
Specifying Hub Length
Make the cylinder into a hub by placing—at a distance of 270 mm in the y direction
from the origin of the created cylinder with spherical ends (Fig. 2.10), (the length,
defined by the hub length)—a plane and deleting the section of the cylinder that
remained under the plane. Use the following sequence of commands Insert,
Reference Geometry, Plane and, using the command for splitting models Insert,
Features, Split, and cut the bottom of the cylinder (Fig. 2.11). It produces a hub,
geometrically limited by the cylinder’s side surface area. It is closed on one side by
a spherical surface and a flat surface on the other side (Fig. 2.12).
Save the created hub as hub.sldprt.
Fig. 2.10 Cylindrical cut
from a sphere model is the
next step in modelling a blade
hub
2.2 Combining Solid and Surface Modelling—Case Study …
59
Fig. 2.11 Forming a cylindrical hub with one surface spherically cut and the other one straight cut
Fig. 2.12 Shape of the hub disc
2.2.8
Creating a Spherical Cut on the Blade
The inside radial side of the blade should be so designed that it is able to rotate
along the outer surface of the Kaplan turbine’s spherical part of the rotor. Due to
this, the inside radial side of the blade should also be spherical, described by the
surface, consistent with the spherical surface of the Kaplan turbine’s rotor. As this
side of the blade was created according to the ruled surface or Coons patch method
60
2 From Solid to Surface Modelling
Fig. 2.13 Both models: the
blade and the sphere, before
removing the volume—
covered by the sphere—from
the blade
(using the Surface Loft function), it is clear that it is mathematically described in a
completely different way, as if defined as the surface of an ideal spherical shape.
Hence, the easiest way to make the transformation is by cutting the inside radial
side of the blade with the ideal shape of a sphere that is used to create the hub. The
dimensions of the spherical part are identical to the original sphere diameter that
had been saved (see Sect. 2.2.5). The sphere has a diameter of 860 mm. Perform
the procedure by first presenting the model blade.sldprt and importing the model
sphere.sldprt, using the Insert, Part, From file commands. If the modelling and
designing rules, as well as the above-described procedure, were closely observed,
inserting the sphere can be simply confirmed, without placing the sphere in a
coordinate system, because the coordinate origins and the blade’s and the sphere’s
orientations must be compatible (Fig. 2.13). Subtracting a sphere model from a
blade model follows the rules of the basic Boolean subtract operation, shown in
Space Modeling with SolidWorks and NX [4].
It should be noted that the sphere model is subtracted from the blade model
using the following sequence of commands: Insert, Features, Combine, Subtract.
2.2.9
Combining the Blade and the Hub
The section above described a blade that followed the spherical shape of the Kaplan
turbine’s rotor on the inside.
Such a designed blade should now be added the hub model. Import it with the
sequence Insert, Part, From file, and address the corresponding model, hub.sldprt
in our case.
When there is problem with a detailed spatial layout or orientation, the following
sequence of orders can be used, if necessary, Insert, Features, Move/Copy.
However, this is not necessary if the above instructions have been closely observed
and the sketches and features have been properly oriented in space (Fig. 2.14).
When the layout is satisfactory, combine both models with the Insert, Features,
Combine, Add command.
2.2 Combining Solid and Surface Modelling—Case Study …
61
Fig. 2.14 Blade and hub models after combining
2.2.10 Creating a Transition Between the Hub
and the Blade
Creating geometric transitions—fillets in our case—between the hub and the blade
begins by marking the transition method (radius), followed by the transitioning
method, which can be constant or variable (Variable Radius). Perform the procedure using the following sequence of commands Insert, Features, Fillet, option
Variable Radius, where the following set of values in millimetres (0, 60, 80, 60, 0)
is distributed at each point (Fig. 2.15).
2.2.11 Coupling the Blade Hub and the Shaft
with Bolted Joints
The blade hub is attached to the control system shaft in order for the blade to be
able to rotate about its axis via the shaft and bolted joints. The blade rotation is
Fig. 2.15 End result of creating a tangential geometric transition between the hub and the blade
with a fillet, changing from the initial to the middle point and then again to the other side
62
2 From Solid to Surface Modelling
required to respond to changes in the hydraulic flow and to achieve the highest
possible efficiency of the turbine at any moment. Each blade is subject to pressure
loads in the form of the Kaplan turbine’s rotor torque. Torque transfer is performed
by means of bolted joints (force on a lever). For this reason, the bolted joints should
be properly dimensioned. At this point we will not deal with dimensioning; instead,
default dimensions can be used as a suitable input parameter. The blade hub is
attached to the control shaft using M64 bolts. They require holes with a diameter of
70 mm. Despite the fact that modelling usually takes place in the same order as
manufacturing, in this case the blind hole should be created first from the bottom
face of the hub, 80 mm deep, where the head of the bolt will start. The bottom of
this blind hole will serve as the basic sketch plane for cutting the space for the head
of the bolt. This will reduce the modelling time and the number of steps for
modelling through holes. If the modelling followed the manufacturing process, it
would require a system of auxiliary geometries (planes and points).
Position the first hole at a diameter of 350 mm, with the starting location of the
first through hole located at an angle of 45° to the horizontal line. In other words,
from the original axis x of the coordinate system, as shown in Fig. 2.16.
In order to provide space for the head of the bolt, a hole will be drilled on the
access side. It should have a diameter that is approximately 5 mm larger than the
head of the bolt, i.e., 110 mm (Fig. 2.17).
Next, draw a sketch on the bottom face of the bolt hole, which lies 80 mm from
the bottom face of the hub. The through hole should be created in both the basic
hub model and in the fillets. To do so, use the Through all command or, even
better, the Up to next command.
For the attachment use seven bolts, which need to be properly distributed. The
number seven is used because this number has been calculated using an equation,
and it is our job to distribute the bolts properly on a pre-set positioning circle. The
number of rotational pattern elements should be set to 9 in order to distribute the 7
Fig. 2.16 Through hole for an M64 bolt with a diameter of 70 mm and a depth of 80 mm to fix
the blade onto the turbine’s rotor
2.2 Combining Solid and Surface Modelling—Case Study …
63
Fig. 2.17 Upper part of the
through hole for the blade
attachment
holes correctly and so to obtain access to the heads of the bolts (Fig. 2.18). Two of
the pattern holes lying on the hub under the blade will not be created, whereas at the
same time it will result in even distances between the other mounting holes. If an
even number of mounting holes was used, their manufacturing according to a
standard-distribution procedure would be easier. However, having nine pattern
elements, they are located with a radial distribution of 40 degrees. This is a major
advantage of a digitally written geometric model, because the distribution procedure as a mathematical value is written numerically, whereas manual drawing on a
through-hole distribution plane would take significantly more time.
Fig. 2.18 Example of using
a circular pattern for locating
the fastening holes
64
2 From Solid to Surface Modelling
To create through holes according to a specific dividing procedure, use the
following sequence of commands Insert, Pattern/Mirror, Circular pattern (by
entering the main parameters 360° and 9 pattern elements).
Exclude the through holes that interfere with the blade model by using the
Instances to Skip, option, which yields seven through holes that are distributed
along the rim of the hub.
References
1. Boole G (2003) An investigation of the laws of thought. Prometheus Books, USA
2. Foley JD (1996) Computer graphics: principles and practice. Addison-Wesley Professional,
Boston
3. Bloomenthal J, Bajaj C (1997) Introduction to implicit surfaces. Morgan Kaufmann,
Burlington
4. Duhovnik J, Demšar I, Drešar P (2015) Space modeling with solid works and NX. Springer,
Heidelberg. https://doi.org/10.1007/978-3-319-03862-9
Chapter 3
From Hand Sketches to Freeform
CAD Surface Models
Abstract The objective of this chapter is to present the use of 2D graphics
(sketches, drawings, photographs, 2D documents) for the creation of 3D models.
The application of 2D graphics is common and also immensely useful for reconstructing existing technical products, as well as for the development of new
products in cooperation with industrial designers. This chapter also shows how to
modify surfaces freely—creating freeform surfaces in order to achieve specific
design effects. Although the free forming of surfaces is not related exclusively to
surface modelling—planes, as well as solid bodies can be free formed, too—and for
the reasons of presenting the procedure and the technological work clearly, free
transformation is explained on a surface body in this case. In the example, shown
here, a 2D designer sketch is used to create a lamp shade, i.e., a shell element that
can be created most easily by means of surface modelling. This chapter also shows
how to uniformly divide a continuous plane or surface into several separate surface
segments, while preserving their geometric continuity. The suggested procedure can
be used for different purposes in design and engineering, including modifying the
visual surface properties of a product, or in order to set limited stress areas in
numerical simulations.
3.1
From Hand Sketches to Freeform CAD Surface
Models—Wall Lamp Shade
Most freeform models have been and will probably continue to be made from sketches
and drawings prepared by a human hand on paper or some other medium (hereinafter,
such works will be referred to as a graphic picture/drawing, and the term sketch will
be used exclusively for the linear basic building blocks/curves of computer graphics,
generally used to define the edges of surfaces and bodies on a 2D plane). Such
drawings are ready to be scanned or digitised by other means in order for the user to
obtain two coordinates on a specific third coordinate. The objective of this exercise is
to show how the coordinates can be captured from a drawing and then modified. In
modelling this is referred to as manipulation of the freeform surfaces.
© Springer Nature Switzerland AG 2019
N. Vukašinović and J. Duhovnik, Advanced CAD Modeling,
Springer Tracts in Mechanical Engineering,
https://doi.org/10.1007/978-3-030-02399-7_3
65
66
3 From Hand Sketches to Freeform CAD Surface Models
This will teach students to use a drawing on a 2D plane in a way that will allow
them to use it as a basis for the first 3D model. A surface model can then be
upgraded with curves from 2D space directly to 3D space. This will make students
familiar with the practical application of B-splines [1], and most importantly, the
role of boundary conditions for creating freeform surfaces.
The case study described in this section will show how to create a wall light
shade, as depicted in Fig. 3.1. The procedure for creating freeform surfaces, based
on sketches and drawings will be presented. We will prepare 2D curves for their
transfer into 3D space. The reader will be made familiar with freeform surface
editing commands, tools and typical steps for editing and controlling surface
editing, as well as how to properly trim a surface.
The objective of modelling any product that is to perform a function is a solid body,
i.e., a model whose material volume and mass can be determined. This exercise will
show how to use a special command to make a surface body into a solid body, even if
the surface body is not knitted (closed) along all the edges. This is performed by
assigning a definite material thickness to each face of the surface body.
Prior to any modelling it is important to think carefully or even work out a
strategy, a modelling plan. This modelling plan should predict any details that need
to be fulfilled during the process of creating a model. It is also necessary to make a
judgement during which phase of modelling it would make the most sense to
include a particular detail in order to keep the model logical, feasible and adaptable
for later modifications. From the very beginning of model development and design,
it is vital to take account of the product’s manufacturing technology. It is not
unusual for three models to be developed and designed simultaneously: for prototype manufacturing, small-batch manufacturing and mass production.
The basic data on the shade are shown in Fig. 3.1. For study purposes they are
available at1:
http://www.lecad.fs.uni-lj.si/nmodeliranje/wall_lamp.png.
The modelling will be performed by preparing a base shape on a plane that will
make it possible to present only one half of the shade. In the end, the half of the shade
will be mirrored to the other side of the plane. This will be followed by equipping the
model with all the aesthetic, functional and technological details. Only once 3D
models have been equipped with all the necessary details and supported by analyses
and calculations will they be referred to as engineering designs, not just models.
3.1.1
Importing a Sketch Picture into a Modeller Sketch
Before sketching in a modeller, select one of the main sketching planes and open a
sketch. Into the open sketch, insert the selected graphic picture with the following
1
The content at this web address is intellectual property and can be used exclusively for educational purposes in order to follow the case studies, described in this book.
3.1 From Hand Sketches to Freeform CAD Surface Models—Wall Lamp Shade
67
Fig. 3.1 Graphic picture of a
wall lamp shade as it is
usually provided to an
engineer by an industrial
designer
sequence of command (Tools, Sketch Tools, Sketch Picture). Enlarge or reduce the
graphic picture by clicking on its edge and adjusting the size, while paying attention
to keeping the width-to-height ratio of the original sketch, unless there are reasons
to alter this ratio. In this case the ratio should be noted in the corrections, in order to
be able to use the same ratio for new imports or corrections, if necessary.
Using construction lines, define the size of the lamp, as shown in Fig. 3.2.
Because in this case the width-to-length ratio will be preserved, only one dimension
is enough, as shown in the figure.
Close the sketch in the modeller’s basic plane into which the graphic picture was
imported. It will serve later as the basis for all other activities, and as such, it should
always be visible.
3.1.2
Generating a Surface from the Edges
As mentioned before, a proper modelling plan should be made at the beginning. In
the case of a simple conceptual design of a lamp that would provide axial symmetry, modelling should be fairly easy and manageable with a basic knowledge of
modelling with features. It is unfortunately not possible in this case because a close
look at the picture of the lamp reveals that the upper profile of the shell is described
by a projected curve with no concave areas, whereas its lower profile is described
by an S-shaped curve, i.e., a third-order curve, with both a convex and a concave
68
3 From Hand Sketches to Freeform CAD Surface Models
Fig. 3.2 Placing a graphic picture on the basic plane in the modeller. The size is determined by
the auxiliary lines and the dimensions
area and an inflection point between them. Mathematically speaking, the function’s
second derivative at this point on the curve should be equal to zero. In order to achieve
this at least a third-order curve should be used, or, alternatively, a geometrical discontinuity should be introduced into the model at the very beginning. On a model it
results in a broken or segmented curve and consequently also in a broken surface. Over
these curves a surface should be stretched, describing the outer shell of the lamp. In
order to provide a suitable round shape of the opening and the upper part of the shell,
two circular arcs will have to be created and they will connect both free ends of the two
curves. The strategy, chosen for this chapter, predicts the initial modelling of only
one-half of the shell, because the lamp is symmetric across the basic front-view plane.
Such an approach will later provide a better control of the free (Gordon or Coons)
surfaces with the use of the Freeform function, compared to transitions (Loft)
between two or three closed profiles (e.g., circles).
Hence, the first thing to do is to create curve sketches, defining four edges of a
freeform surface; each curve is lying on its own surface and provides the constraints
of the shade’s surface shape. The first and second sketches are placed into the basic
plane. The third and fourth sketches are on planes 1 (marked as Plane1 in the
figure) and 2 (Plane2), orthogonal to the basic plane. Using the Spline command,
draw the side curves on the basic plane. They represent edges 1 and 2 (Fig. 3.3).
Be careful not to misunderstand the terms sketch and curve: as we already know, a
3.1 From Hand Sketches to Freeform CAD Surface Models—Wall Lamp Shade
69
Fig. 3.3 Positions of all four sketches in the modelling space. Highlighted is the basic plane for
sketching the first and second edges, as well as planes 1 and 2 for creating the third and fourth
edges. To make things clearer the curves have been highlighted in pink, despite the default colour
in the modeller being black (in an active cell) or grey (in a closed cell)
sketch is a complete set of curves in 2D or 3D space, determining the profile of a
particular feature.
The shade’s opening and its reflecting tube (the lamp’s casing is located here and
usually represents the main fixing point for the shade) should be sketched by
forming two planes, orthogonal to the basic plane. Due to the physical conditions
and the reflector’s blending functions, the third and fourth edges should be presented as a semi-circular sector.
In a defined space, determined by all four sketches, any surface can be formed in the
direction of the third coordinate. Determine the third coordinate at the extreme locations
of edges with a sketch on planes 1 and 2. The third coordinate can be later logically
modified according to the design conditions and the physical properties of light.
• Stretch a surface through such defined sketches (Insert, Surface, Loft).
When stretching a surface, be careful how and which curves to select as the
starting and/or ending ones (Start/End Constraints), and which ones as the guide
curves (Guide Curves). In our case it is vital to provide the orthogonality of the
selected curves at all points lying on the basic plane (see Fig. 3.4). It provides, in
advance, smooth transitions (tangency and continuity) on the surfaces, when they
are mirrored across the basic plane.
3.1.3
Modifying Freeform Surfaces—Searching for a New,
More Acceptable Shape
Having finished the basic modelling, once all the points have been digitised, you
can start to modify the shape. Generally, engineers look for the technological
70
3 From Hand Sketches to Freeform CAD Surface Models
Fig. 3.4 Model of a stretched surface formed between two curves on the basic plane by means of
semi-circular guide curves, positioned on the transverse, auxiliary plane 1 and 2. The auxiliary
curves will define the tangent surface transition after mirroring
feasibility of shapes and the physical properties of a product. Additionally,
industrial designers look for pronounced aesthetics, user experience, emotionality in
the product. Examples can be found using keywords, such as emotional engineering
[2] or Kansei engineering [3]. Both concepts are characterised by emphasising
synergy to improve the value and usefulness of the product.
For this reason the basic shape should be modified. To do so, use the commands
that allow the creation of freeform surfaces (Insert, Surface, Freeform).
• Select a surface to modify.
• Determine a type of continuity (Continuity) at the contact.
• Assess the curvature of surfaces, using the functions Zebra Stripes and
Curvature Combs in the menu on the left Display.
• At the places where a modification is required, add control curves and points
(menus on the left Control Curves and Control Points).
• Perform the transformation by manually shifting the control points or control
(Bézier) polynomials, theoretically explained in Chap. 1.
When making modifications be careful about the conditions of identical radii of
curvature along the curve or their continuous changing. Take account of the
technological manufacturing conditions by not changing the radii values from a
positive to a negative radius, as this would result in concave or even overhanging
areas on the product. So, make sure that the values of the radii of curvature are
positive everywhere. A useful tool to continuously supervise the radius of curvature
at any point on the curve or a surface includes curvature-value visualisation (1=r)
3.1 From Hand Sketches to Freeform CAD Surface Models—Wall Lamp Shade
71
Fig. 3.5 Freeform modelling of a surface by means of a simultaneous calculation of the radii of
curvature and their changing along the new curves, using the Curvature combs command
by means of displaying the correct length and orientation of teeth, i.e., curvature
combs. An example of their use is shown in Fig. 3.5. It also yields a steady, more
continuous light reflection from the surface, which provides a fullness of shape and,
most of all, the quality manufacturing of such shapes. Several tools are available to
monitor light reflection and optical effects. A variety of patterns on the surface can
be used, such as colour gradients and patterns (View, Display, Curvature or View,
Display, Zebra Stripes), or using the method of virtual photographing—rendering
with the use of ray-tracing functions, as shown at the end of this chapter in
Fig. 3.14. It is recommended to test it immediately after the next presented step, in
order to assess whether the required light effects have been achieved. Relatively
large changes in the value of the radii of curvature will generate increased reject
rates in advance, as material shrinkage after injection is more noticeable when
changes are big, compared to small ones. For regular materials with surface meshes
between 1 and 2 mm, an acceptable difference between two adjacent radii is usually
between 1.5 and 2.5%.
3.1.4
Mirroring
The surface that has so far been modelled in one half can be mirrored across the
basic plane and merged into the complete surface model of a light. The mirroring
and knitting operation can be performed by the (Mirror) command and selecting
Knit Surfaces in Options (Fig. 3.6).
72
3 From Hand Sketches to Freeform CAD Surface Models
Fig. 3.6 Mirroring a surface across the basic plane
3.1.5
Creating the Light’s Surface with Larger Details
The lamp’s tube, holding the bulb socket and the light’s framework, should be
properly designed. This can be performed by closing the rear opening of the shell
with a flat surface, into which additional details will be inserted later. First, attach a
full surface with the sequence of commands (Insert, Surface, Fill), as shown in
Fig. 3.7. A similar effect can be achieved by the commands (Insert, Surface,
Planar).
3.1.6
Creating a Solid Model of a Lamp—Preparing
a Model for Injecting Plastics, Glass or Pressure
Die-Casting
Technologically, the result is always a surface-based design concept. However, as
such products are usually injected from glass, plastics or by means of pressure
die-casting, surfaces should be assigned a thickness in order to make them tangible.
Mathematically, this operation is very similar to shelling (creating shell objects out
of solid objects), described in more detail in Chap. 5. The modeller’s mathematical
algorithms perform thickening by finding, for each point on a surface, a point that is
located by a predefined thickness and orientation from the surface, and filling the
space between these two points. All technologies, i.e., blow moulding, pulling and
vacuuming of products, initially have a constant wall thickness. It makes this
3.1 From Hand Sketches to Freeform CAD Surface Models—Wall Lamp Shade
73
Fig. 3.7 Using the Fill function to close the surface on the lamp’s tube
function very important. Thickening of a surface is performed using the following
commands (Insert, Boss/Base, Thicken) as shown in Fig. 3.8.
3.1.7
Shape Details
As the model of the shade has sharp edges they will need to be blended wherever
the edge rounding is significant for everyday use. Rounding is for reasons of safe
use, aesthetics and the technological features of a product. To fillet the open part on
the shade, use the (Insert, Features, Fillet/Round) command, using full fillet (Full
Round Fillet, Fig. 3.9), as already explained in Sect. 2.2.4. For details on filleting,
see Chap. 11.
3.1.8
Opening for Mounting the Lamp’s Framework
The lamp’s tube requires a special detail for mounting the lamp’s framework and an
element for mounting the whole lamp on a support structure. First, the framework
itself should be designed, and inserted into an opening with the appropriate dimensions. Having checked the buying options for standard lamp frameworks, it was found
that the required lamp’s framework opening should have a diameter of 25 mm
(Fig. 3.10). The opening is round. Execute the opening by creating a new sketch of a
circle on the flat surface of the lamp’s tube. The circle should have its centre at the
centre of this surface. Cut the opening with the Insert, Cut, Extrude command.
74
3 From Hand Sketches to Freeform CAD Surface Models
Fig. 3.8 Thickening the surface and creating a solid model of a product
Fig. 3.9 Filleting the shade’s edges on the open part
3.1 From Hand Sketches to Freeform CAD Surface Models—Wall Lamp Shade
75
Fig. 3.10 Round opening
with a diameter of 25 mm for
inserting the lamp’s
framework and bulb socket
3.1.9
Refining the Design by Splitting the Surfaces
When parts of a surface need to be refined or inserted into different parts of the
mould part by part, it is vital to preserve their integrity, the second- or higher-order
continuity of the curve (the second derivative of the curve). This continuity is also
referred to as the geometric continuity. The requirement occurs mostly when a
material has changed, when adequate reliability with the same visual appearance of
the surface is required, and when an additional edge is required due to design
requirements, etc.
The design continuity of the product surfaces, consisting of several components or materials, is usually provided by creating (modelling) the entire
continuous geometry of a product as one body, and splitting it only at the end
of the design process into the required surface segments or even slicing it into
several bodies, as needed. Such cut-up bodies can be kept in one part
(Multibody Part), or exported part by part into separate files, and be used as
parts of an assembly. A practical example is shown in Chap. 4.
Figure 3.1 shows that for aesthetic reasons, the lamp shade features a strip in a
different colour. In order to visually adjust the model to the sketch, at this section of
the model you should create a strip that will be assigned different optical properties.
The easiest way to do this is by creating a sketch on any given plane. Its projection
on a specific surface will create an edge that will split it into separate segments.
For this purpose, Solid Works features a function with the sequence of commands Insert, Curve, Split Line, whose use will be shown in an example below.
To split a surface into segments, begin by creating a sketch with two straight
lines that follow the yellow edge of the sketch, as shown in Fig. 3.11. It is vital that
the lines reach at least the edge of the surface that is to be split, or even beyond it;
76
3 From Hand Sketches to Freeform CAD Surface Models
otherwise, the operation will fail. A condition for a successful operation is that an
orthogonal projection of a line onto a specific surface should intersect (split) the
surface into several parts with clearly defined boundaries. For this it is possible to
use only the curves/lines that form closed contours, or the lines that split surfaces
from one edge to the other. When a surface is overhanging, relative to the splitting
curve, this curve should be extended so that its projection also intersects in its
entirety the overhanging section of the surface. An example is shown in Fig. 3.12.
For the next step use the following command: Insert—Curve—Split Line and
define a sketch as a splitting tool, and select a surface to be split, as shown in
Fig. 3.13.
Once the command has been confirmed, the basic surface is divided into several
segments that can be used for a variety of effects, such as creating colour inserts on
the glass shell of the lamp, which should then be prepared for digital photographing
—virtual photographing—rendering (Fig. 3.14).
3.2
3.2.1
Consolidation Tasks
Refining the Wall-Lamp Design
Using the freeform surfaces and other operations explained so far, create other lamp
elements in Fig. 3.1, and combine them into a do-able and functional assembly.
Also choose a material and a colour for the individual elements. An example of a
finished product is shown in Fig. 3.15.
Fig. 3.11 Splitting a surface
into segments
3.2 Consolidation Tasks
77
Fig. 3.12 Despite the full sketch connecting the beginning and the end of the surface, it is not
possible to split it, as the projection of the sketch onto the surface does not define the split on the
overhanging part of the surface, marked with a dashed line. The splitting sketch should be
extended at least to the end of the dashed line
Fig. 3.13 Splitting a surface into several segments using the Split Line function
3.2.2
Creating a Bicycle Seat
As another challenge, find an existing bicycle seat (examples are shown in
Figs. 3.16 and 3.17): Take photographs of them from the necessary perspectives
and measure some of the main dimensions. Based on such acquired data, create its
detailed 3D structure with all the corresponding functions.
78
3 From Hand Sketches to Freeform CAD Surface Models
Fig. 3.14 Ray tracing with the main source of light inside the shade
Fig. 3.15 Finished product made according to the design sketch in Fig. 3.1
References
79
Fig. 3.16 Side view of a bicycle seat to be modelled with freeform surfaces
Fig. 3.17 Top view of a bicycle seat to be modelled with freeform surfaces
References
1. Duhovnik J, Kljajin M, Opalić M (2009) Inženirska grafika, Fakulteta za strojništvo, Ljubljana
2. Čok V, Duhovnik J (2016) Exploration of users’ cross-cultural differences by using the Kansei
Engineering approach. In: Fukuda S (ed) Emotional engineering, vol 4. Springer, Berlin,
pp 93–118. https://doi.org/10.1007/978-3-319-29433-9
3. Čok V, Duhovnik J, Dodič-Fikfak M (2015) Uvod v kansei inženiring: pomemben dejavnik pri
razvoju izdelka. LECAD Laboratory, Ljubljana
Chapter 4
Creating Complex CAD Models
with Freeform Surfaces
Abstract Using a combination of surfaces and their transformations, one advantage of surface modelling is the ability to be able to create such CAD geometries
that would not be possible only by combining the basic features of solid modelling.
Using the example of a mass-market product—a hand blender—a number of procedures for working with surfaces are presented that can lead to a final target shape.
Choosing a particular step depends on the functional and technical views, as well as
the mathematical rules of CAD surface modelling. The choice of the model is not
random, as modelling end products for mass-market products belongs to the most
demanding design tasks, as it requires fulfilling a variety of working and design
functions, many compromises, a great deal of experience and work, all at the same
time. Here, it is important to understand the logical, mathematical properties of
curves, surfaces and operations for working with them. Thus, this chapter brings the
theory from the first chapter of this book into practice.
Besides writing and voice communication (singing, talking or voice messages),
sketching is an important communication tool for human creativity. With this end in
view, this example will extend your acquired knowledge on a more complex system. The objective is to create a model, based on a 2D sketch, using freeform
surfaces. In this case study we will try to present a freehand sketch using a digital
description in 3D space, and at the same time becoming familiar with how to attach
space curves to curved surfaces. A variety of methods for trimming, separating and
assembling 3D surfaces will also be presented.
In this example you will learn the commands that significantly contribute to the
understanding of surfaces that are being digitised. We will model them with space curves
and freeform surfaces. You will be shown how to make complex geometries by combining freeform surfaces. You will be made familiar with additional tools for modifying
freeform surfaces and keeping them under control. Here, it is important to understand the
logical, mathematical properties of curves, surfaces and operations for working with
them, as explained in the book [1] and Chap. 1 of this book, not just observing the effect
of a particular command in the modeller. It is only a detailed understanding of space
curves and surfaces that can yield high-quality, complex-surface CAD models.
© Springer Nature Switzerland AG 2019
N. Vukašinović and J. Duhovnik, Advanced CAD Modeling,
Springer Tracts in Mechanical Engineering,
https://doi.org/10.1007/978-3-030-02399-7_4
81
82
4 Creating Complex CAD Models with Freeform Surfaces
All this will be demonstrated using the example of a hand blender’s motor
casing. The choice of the model is not random, as this is a mass-produced end
product that, due to harsh market conditions, requires a perfect external shape,
because the appearance and ergonomics of a product are two of the most important
functions that a product should fulfil. In order to fulfil the product’s basic function,
i.e., grinding and blending, the casing should provide space for the safe mounting of
all of the blender’s power and electronic components. Modelling end products for
the mass market belongs to the most demanding design tasks, as it requires fulfilling
a variety of working and design functions, many compromises, a great deal of
experience and work, all at the same time.
4.1
Hand-Blender Casing
The work will be based on the sketch in Fig. 4.1. For the purpose of the exercises, it
is accessible at1:
http://www.lecad.fs.uni-lj.si/nmodeliranje/blender.jpg.
4.1.1
Importing the Blender Sketch into the Modeller’s
Sketch
As with the previous exercise, import the design image into the modeller’s sketch
on the front plane, taking account of the casing’s height of 210 mm (Fig. 4.2).
Note that a proper coordinate origin should be defined when importing the
sketch.
4.1.2
Creating the Edges of a Freeform Surface
While in the first case the lamp still allowed the designer a considerable degree of
freedom to choose shapes—taking, of course, account of the properties of the
material, the physical laws of light spreading and the technological laws of making
a shade—in this case it is essential to take account of additional restrictions, brought
about by the product’s ergonomics, proper noise insulation and preventing water
and dust from entering the device. The size of the components inside the casing
(i.e., motor, electronic and mechanical components) should also be considered, as
well as the components to be attached to the casing, such as blending, chopping,
1
The image is intellectual property and can be used exclusively for educational purposes in order
to follow the exercises described in this book.
4.1 Hand-Blender Casing
Fig. 4.1 Design drawing of a
hand-blender casing (Image
courtesy of BSH Hišni aparati
d.o.o.)
Fig. 4.2 Putting the image
onto the front plane,
integration into the coordinate
origin and defining the height
of the casing
83
84
4 Creating Complex CAD Models with Freeform Surfaces
whipping attachments on one side, and the power supply cable on the other side.
All these factors should be taken account of already while creating the exterior
surface of the device, which makes it vital to accurately set the boundary curves that
define the basic shape of the surface. This includes not only the shape of individual
curves, but also their dimensions and relations, which makes the order in which the
curves are created an important issue.
As explained in Chap. 1, in order to provide the geometric stability of the CAD
surfaces, it is recommended that the surfaces should be stretched between four
edges, described by a characteristic line or vector that is changing in space. The
reason lies in the fact that the parametric curves are described by two parameters
(i.e., s and t), both in the case of Coons (Sect. 1.4.2; Fig. 1.27) and Gordon
(Sect. 1.4.3; Fig. 1.29) surface interpolation with boundary curves. When a surface
is interpolated with fewer than four edges, there are problems about calculating
these surfaces. Namely, mathematically, the missing edge is still required and thus
present; however, it is infinitely short, with the start and endpoint at the same point.
It causes problems with respect to the calculation transformations of the geometry at
such point/edge, as well as errors in the CAD model.
Hence, when a surface with more or fewer edges is required (round, triangular or
(4 + n)-gonal surface), it is recommended to create such surfaces from larger,
4-edged surfaces, trimmed by a random closed set of curves, that was created on the
surface. These curves can be either 2D—when created on flat surfaces—or 3D,
space curves, when lying on curved surfaces. Figure 4.3 shows surfaces, stretched
between two and three edges, using both methods: applying the Lofted surface or
Boundary surface function (left), and a solution, using the Filled surface function
(right). Later in this book different examples will be shown to explain the methods
of surface interpolation, and their procedures and properties will be described.
Fig. 4.3 Examples of parametric surfaces, stretched between two and three edges, using the
Lofted surface or Boundary surface function (left), and a solution, using the Filled surface
function (right)
4.1 Hand-Blender Casing
85
Whenever a symmetric product is to be designed from freeform surfaces, you
should approach the modelling by working on one half of the product only, and the
other half is created by mirroring. In this exercise we will also approach creating the
casing on one half only.
Whenever a symmetric product is to be designed from freeform surfaces, you
should approach the modelling by working on one half of the product only, and the
other half is created by mirroring. In this exercise we will also approach creating the
casing on one half only.
Create four separate sketches, as shown in Fig. 4.4:
• Use the prescribed diameters of the top and bottom parts by entering them as
radius or diameter values in mm.
• Draw the bottom part (sketch at position 1) on another, auxiliary plane (Plane
1), also using a diameter or radius of appropriate dimensions in mm.
• Draw the top part (sketch at position 3) on an auxiliary plane, parallel to the
basic plane (Top plane).
• The (Curvature Combs) command can assist you in creating curves on the basic
plane (Basic plane). Activate it by right-clicking the curve on the screen.
• Create curves at positions 2 and 4 (Fig. 4.4) by using as few control points as
possible. Define the right number of control points using a visual estimation,
depending on tolerance. It is recommended to begin with fewer control points
and adding them, if necessary, when it is not possible to define the curve
Fig. 4.4 Creating boundary curves 1 to 4 on: Top Plane, Plane 1 and Front Plane
86
4 Creating Complex CAD Models with Freeform Surfaces
properly. This can be done by right-clicking a location on the curve and
selecting Insert spline point, followed by clicking the position on the curve
where a point should be added.
4.1.3
Casing’s Freeform Surface, Generated from the Basic
Edges’ Data
Stretching a surface from predefined edges can be executed by commands, similar
to the explanation in Chap. 3.
When generating surfaces that are stretched between curves it is essential to
always take account of the natural flow of the surface. It means taking account of
the geometric and physical boundary conditions that such a surface describes.
Hence, as the basic curve-pair, always select those curves for which you would later
like to achieve a geometric and physical continuity. Connect the basic curves with
one, two or more blending/guide curves. They provide the proper physical and
geometric description of the surface along its entire length, including the boundary
conditions.
For pipelines, diffusers and flow runners, the cross-section of the tube at the
beginning and the end would be used, whereas in the case of our casing, the
objective is a tangent transition of the surface after mirroring across the basic plane.
Hence, the boundary curves lying on the basic plane should be used as the basic
curves in our case.
There are several options available to create surfaces; this time it will be Insert,
Surface, Loft.
The contact between the surfaces after mirroring is usually made as tangent
transition without any sharp edges. For this reason the curves forming a surface
should be orthogonal to the basic plane and the curves lying on it. It is only a clear
command Start/End Constraints, establishing the selected conditions, that provides
the automatic generation of the said condition. It should be emphasized that it is the
command Start/End Constraints on either side of the surface, touching the basic
plane and a properly shaped guide curve that provides the tangency of both surfaces
after mirroring.
Determine the casing’s top and bottom edges for the guide curves, lying on the
Top plane and Plane 1 (Fig. 4.5).
4.1.4
Free-Forming
A surface generated from four edges and the tangency constraints on the basic plane
can generally not be presented as properly ‘full’, but rather ‘flat’. A shape prescribed by these conditions is always presented in a similar way. In our case, too,
the generated shape in Fig. 4.5 is rather flat, which is due to the mathematics of
4.1 Hand-Blender Casing
87
Fig. 4.5 Creating the blender’s casing surface
surfaces, as a surface is determined by curves/NURBS. You can imagine them as
the mesh of straight lines in Fig. 4.5 that have been automatically arranged when
the surface was generated, but not yet having uniquely defined parameters in their
central field. Only their boundary conditions have been determined so far. Their
start and endpoints, as well as the tangency at these points have been determined by
defining the boundary curves. For this reason the surface will be immediately
corrected, which is referred to as ‘bulging’ in everyday speech. What we do in fact
is inserting into the surface our own control curves that have been assigned
intermediate control points (Fig. 4.6). For this purpose use the command in the
free-forming menu Insert, Surface, Freeform. The command is mathematically
explained in Sect. 1.3.5.
Firstly, specify on the edges’ flags (Fig. 4.6) which boundary conditions you
would like to keep, as it determines the course of the surface transformation. As in
our case we would like to keep the surface tangency during mirroring, select the
Continuity: Tangent command on the flag for the edges lying on the basic plane.
Continue by selecting two control curves on the surface in order to make it easier
to adjust the horizontal shape of the blender’s handle. To make modifying the
handle in the cross direction easier, use three control points. Adjusting the locations
of the control points on one control curve and then on the other one is designed to
find the proper ‘fullness’ or rather the minimum ‘flatness’ of the handle. When and
how the ‘fullness’ or minimum ‘flatness’ is suitable, depends on our experience in
ergonomics and intuition, proper to the designer, the industrial designer and of
88
4 Creating Complex CAD Models with Freeform Surfaces
Fig. 4.6 Free-forming of the casing surface should be performed by at least two control curves,
each having at least three control points
course an analysis of the cultural environment for which the blender is intended.
However, it is increasingly important to also take account the emotional reaction of
the user to the shape, which should be assessed and predicted within the domain of
emotional design.
Modify the surface as shown in Fig. 4.6.
4.1.5
Trimming Surfaces Due to the Blending Functions
of the Product’s Element
Any modeller allows the addition of further details to freeform surfaces. The
simplest treatment of a freeform surface model is trimming, mathematically
explained by a Boolean subtract operation. This is only used for the reasons of
modifying the shape of the surface and its edges, or due to possible further
assembling with other elements, i.e., their models. Our long-term objective is to
merge the surfaces into one surface body that will later be thickened and enclosed
into a stiff body. Both approaches lead to a suitable realistic shape of the product.
A surface with a wall thickness of 0.0000 mm is virtual, immaterial, and so our
surface will be thickened and made tangible at the end. A precondition to do it is
that the pairs of the adjacent surfaces to be merged should have compatible edges in
space. Once such a condition has been fulfilled, the software can be told via a
command that the surfaces share an edge, which will be shown on a practical
example later on.
4.1 Hand-Blender Casing
89
There are several ways of trimming the surfaces in a modeller. The simplest one
is to project a 2D sketch onto a plane, and by using a projection cut and remove the
part of the surface that is no longer required as part of the product.
Figure 4.2 shows that the upper part of the handle is trimmed sideways, and so
the sloping trimming will be made first.
Create a new sketch on the basic plane (Front Plane). Because straight trimming
is required, draw just a straight line that is following the upper edge of the casing’s
surface. Attach the line to the corresponding points and edges of the surface and
make sure not to cause the overhanging problem, as explained in Chap. 3, Fig. 3.12.
This is followed by selecting the surface-trimming command Insert, Surface,
Trim, where the Trim tool command is used to select the sketch that has been
drawn. Select the sections of the surface to be kept, using the Keep selections
option. The effect would be the same if you selected the surfaces to be removed
using the Remove selections command. It is recommended to use the option that
allows the easier and faster selection of the surfaces in terms of their accessibility on
the screen and in terms of the number of surfaces to be either trimmed or kept. The
process is visually presented in Fig. 4.7.
Repeat the same on the grip’s edge on the casing. When making the sketch, only
the basic geometric elements (line segment, circular arc) should be used for trimming and removing the existing freeform surfaces on specific sections. A rule is to
avoid curves, unless they have been determined to match the simple concept of a
freeform surface (Figs. 4.8 and 4.9).
When using freeform curves on a plane or in space it is useful for the industrial
or mechanical designer to possess a good mathematical understanding of the curves
and their representation in space. Many problems of 3D surface design are caused
by a poor understanding of the geometric laws of curves and surfaces. It is clear that
Fig. 4.7 Trimming surfaces with the Trim Surface command and defining sections of surfaces to
be kept by the Keep selections command, or sections of surfaces to be removed by the Remove
selections command
90
Fig. 4.8 Sketch for trimming
the ergonomic part of the
handle
Fig. 4.9 Casing surface is
trimmed in order to prepare it
for creating an ergonomic,
rubber part of the handle
4 Creating Complex CAD Models with Freeform Surfaces
4.1 Hand-Blender Casing
91
people are more familiar with geometric primitives than the complex shapes
described by polynomials.
The other reason lies in the fact that when using an intersection of two curves or
freeform surfaces, a set of points should be created to define a space curve. This, in
its own right, requires an increased capacity of collecting and processing the data in
the database for sophisticated shapes.
4.1.6
Surface Extrude
Developing the shape of a product is based on a prepared sketch, supplementary
details and other representations of the shape (photographs, hand-made models,
etc.). Refining a shape requires additional steps that depend on previous
shape-generating procedures. It is also vital to constantly keep a balance between
the laws of the mathematical description of geometry, the predicted technological
processes, as well as the function, aesthetics and ergonomics of the product.
When modelling solid bodies there are usually several options available to come
to the same result, and individual steps are often also consecutively independent of
one another. However, this is not the case with surface modelling. Below, you will
have to follow an exact sequence of operations.
First, open a new sketch on the basic plane (Front Plane) and, using the Convert
Entities command, create the projection of the upper trimmed edge of the handle, as
shown in Fig. 4.10a.
Then select the Insert, Surface, Extrude command to extrude the curve up to the
surface. In the menu on the left (Fig. 4.10b), select the direction of extrusion
Fig. 4.10 Preparing a sketch a and its extrusion into space c, using the Surface Extrude function b
92
4 Creating Complex CAD Models with Freeform Surfaces
(Up To Surface) and determine the exterior casing surface for the surface up to
which you would like to create the extrusion (Fig. 4.10c).
4.1.7
Creating Curves in 3D Space
All of the curves used so far for creating surfaces were created on a 2D sketch
plane. In order to make the handle, marked in the design drawing in black, you have
to stretch the surface from the lower trimmed edge of the casing up to the surface
created in the previous step. In doing so the surface should follow the curve of the
handle’s saddle and be orthogonal to the basic plane at each point of this curve,
which is a precondition for the tangential transition after mirroring across the basic
plane. The surface should be in contact with the short vertical edge created after
trimming the surface at the handle over its entire length. The curve that will form
the edge on the surface, extruded in the previous step, should—for reasons of
ergonomics and aesthetics—run in an arc from the point where the extruded surface
makes contact with the short edge of the exterior casing, and all the way to the basic
plane at the point corresponding to the beginning of the handle’s black saddle. This
curve should also pierce the basic plane orthogonally if the tangential transition of
the surface after mirroring across the basic plane is to be achieved. A fundamental
understanding of descriptive geometry suggests that a curve that is to be created is a
space curve. This means that the curve cannot be placed on a flat surface, which
requires it to be defined at each point with three space coordinates.
In general terms a curve in 3D space can be defined in several ways:
•
•
•
•
•
by space parametric equations for the nth-order curve,
by a set of control points in space,
by a set of control points and weight NURBS parameters in space,
as a mutual orthogonal projection of two 2D curves into space,
as an intersection of two freeform surfaces in space.
In our case, create the curve as follows: onto an extruded surface, previously
defined in the modeller, draw a 3D curve running as shown in Fig. 4.11. You can
use an intermediate point to help you define the course of the curve.
Now it is important to select and mark the surface onto which the 3D curve
should be drawn. Run the Insert, 3D Sketch On Plane command.
In order to create high-quality 3D models, it is vital before any refining on a
model in space takes place to always define the origin, i.e., to know which plane (or
point) serves as the starting point, and thus fixing the basic spatial orientation. To
locate a curve onto a plane, use the Tools, Sketch Entities, Spline on Surface
command. Only now, having defined this command, can you draw a curve running
from the bottom node of the active surface in contact with the casing up to the point
at the active surface’s edge, where the black handle ends according to the design
drawing. For a more precise understanding, follow Fig. 4.11. It is of utmost
4.1 Hand-Blender Casing
93
Fig. 4.11 3D curve on the
basic plane before the
boundary conditions have
been defined. The curve is
bounded on the left by the
casing’s vertex and on the
right by the edge of the
extruded surface at the point
where the handle ends
importance to use as few control points as possible when generating a curve, ideally
only the start and end point of the spline where the curve should also be assigned
boundary conditions.
Create a curve tangency on the edge of the surface for both ends of the curve. On
the left, where the curve touches the casing, set the tangency to the casing’s surface
edge. Select both curves and the relation Tangent (Fig. 4.12).
On the right the surface should be tangent after the mirroring transformation,
which requires the curve to be orthogonal to the basic plane. In order to define the
orthogonality, select an arrow for defining the direction of the curve at the point,
Fig. 4.12 Defining tangency and the radius of curvature for the space curve
94
4 Creating Complex CAD Models with Freeform Surfaces
Fig. 4.13 Defining the direction of the beginning of a space curve according to the coordinate
system
whose tangency is being determined. In the menu on the left, make it lying along
the Z-axis: Add Relations, AlongZ (Fig. 4.13, left).
If more control points are required, define them so that the changes of the curve’s
radius of curvature are as even as possible (Fig. 4.14). Check the radii of curvature,
then confirm the sketch and close it.
4.1.8
Surface Trim Along a 3D Curve
You often need to trim a surface that is defined under a curve. This procedure has
already been explained in Sect. 4.1.5 of this case study. Trim the excess part of the
surface under the 3D curve (Fig. 4.13). First, create a 3D curve, and then, using a
special command, trim the excessive surface. The whole procedure begins with the
Insert, Surface, Trim command to get the result as shown in Fig. 4.15.
4.1.9
Creating the Grip Surface
Return to the basic plane and create a sketch, representing the edge of the handle,
shown in the design drawing. The edge should be defined from the starting to the
ending node. Generally, both extreme points of the curve representing the edge
4.1 Hand-Blender Casing
95
Fig. 4.14 Finished 3D curve on the surface
Fig. 4.15 Surface
(highlighted in blue) trimmed
by a space curve
should be defined. When design (ergonomic, technological, functional) requirements permit choosing between the curves, described by splines or pure geometric
curves, the latter are the preferred choice, as they allow a unique geometry,
described by fewer parameters, and an easier task.
So in our case a circular arc will be used, as shown in Fig. 4.16.
When all the edges are ready you can stretch a surface between them with the
following sequence of commands: Insert, Surface, Boundary Surface.
96
4 Creating Complex CAD Models with Freeform Surfaces
Fig. 4.16 Creating the
missing part of the casing’s
edge
Boundary surface is a function, similar to surface loft (Surface Loft), the only
difference being that Boundary surface allows more control over the edges of the
surface that is about to be created.
For the curves in the first direction, select a sketch, created according to
Fig. 4.16, and a short edge on the surface, lying opposite it; for the other guide
direction, select the casing’s surface edges that connect the extreme points of the
selected curves in the first direction. Before finalising the surface the boundary
conditions should be defined for both ends of the surface. Do this by selecting an
appropriate command on the profile curve’s flag (Fig. 4.17). The boundary
Fig. 4.17 Specifying the hand-grip surface
4.1 Hand-Blender Casing
97
condition on the curve, lying on the basic plane, should be determined according to
the orientation of the basic plane: the surface should be orthogonal to the basic
plane (Normal To Profile). On the opposite side, on the shortest edge of the surface,
set the handle surface tangency to the exterior surface of the casing. Use the option
Tangency to face.
A rough shape of the casing has now been created. After several steps that led to
the creation of new solid or surface bodies, their feature design structure (In
SolidWorks called FeatureManager design tree) has to be verified. In our case,
open the design tree menu on the left and check the number of surface bodies
created so far. As there are several separate surface bodies, they should be merged
into one. In SolidWorks the surfaces are merged using the sequence of commands
Insert, Surface, Knit.
Using the mouse cursor in the design tree, folder Surface Bodies, select all the
surface bodies and disable the Gap control function, otherwise intended for filtering gaps between surfaces, depending on their width. When you confirm the
command, all three surface bodies will be merged into one.
Note that surface bodies should be merged according to the above-described
procedure, by selecting surface bodies in the design tree. If you merge surfaces
by clicking particular features in the design tree or even clicking individual
body surfaces on the screen, you should be extremely careful. In such cases you
no longer select entire surface bodies (that can be merged from several surfaces) but their individual parts. A wrong approach can quickly lead to some
of the common edges not merging correctly, or a selected surface and its
mutual connection can even be doubled. Later on it causes a number of
hard-to-solve problems when creating solid bodies.
4.1.10 Forming a Full Casing (Mirroring)
The casing consists of two mirrored parts. Our job is to create the entire casing. This
is achieved by mirroring the half of the casing that is placed on the basic plane
across the basic plane (Front Plane in this case) in order to create the entire surface.
Do this with the following command Insert, Pattern/Mirror, Mirror.
Before mirroring, decide what bodies you need to mirror (Bodies to Mirror). If
the surfaces have been successfully merged in the previous step, select only one
surface body.
As mirroring creates a new, symmetric surface body, both halves should be
merged using the Knit command. In order to avoid this step the Knit surfaces
option can be used while the mirroring command is still active.
98
4 Creating Complex CAD Models with Freeform Surfaces
4.1.11 Converting a Surface into a Solid
When making a solid model from a surface body, you should first check whether
the projected solid model is completely enclosed with all the surfaces, as further
steps depend on this. When a surface model is open on at least one edge, the only
option to create a solid model is to thicken the surface body to its final thickness.
However, when the objective is a completely filled space, bounded by a surface or a
surface body, this surface body should be completely enclosed and knitted along all
the edges and points. This is referred to as a watertight surface.
In the case of our handle, the space inside the surface should be completely
filled; however, the upper and lower surfaces are not yet closed at this stage and so
the transition to a solid model is not yet possible. In general, it is first necessary to
recognise all the open areas, close them by creating the missing surfaces and/or
merging (knitting) the edges into a merger of all the surfaces that make up the
closed handle model. Only then can conversion into a solid model take place.
For the upper surface use one of the following command: Insert, Surface,
Planar Surface or Insert, Surface, Fill.
Repeat the command to close the handle surfaces at the bottom. Select the option
Try to form solid. After this step a solid handle model is finished. To verify whether
this is true you can use the menu on the left, representing the tree structure of the
surfaces. If the modelling was correct, independent surface bodies (Surface bodies)
are no longer listed. Whether a solid model has been successfully created can also
be checked by looking at the model in cross-section.
4.1.12 Creating Important Details—Fillet or Chamfer
As already emphasised, detailed shapes (fillet, chamfer, etc.) should always be
executed after the main shape of the model has been determined. Details should be
refined only after a rough shape of the model has been created. A similar distinction
also applies to setting up a product’s main function, defined by its rough shape.
Supplementary functions or supplementary functional requirements yield detailed
shapes that are demanded by detailed functional requirements. It is vital to make a
clear distinction between searching for a rough shape and a detailed shape. This is
emphasised in order to better understand the sequence of product design procedures. Their shape depends on the function and the detailed functional requirements, and not at all dictated solely by their visual appearance. Nonetheless, beauty
(appearance) has its own function, related to the emotion of the user or the environment. It is expressed by describing wishes and understanding the atmosphere of
a particular environment.
In the modelling process it is important to learn that a rough shape is also
determined as a result of the possible parameterization of the main shape. This
results in a direct relation between the main parameters, executed due to the
4.1 Hand-Blender Casing
99
function, and the parameters of the details that define a product’s detailed function.
A product’s detailed function can sometimes be replaced by the term product
functionality, i.e., the function of a product, equipped and executed in all the
details, including the technological feasibility.
The key for all transitions (fillet, chamfer, etc.) is to achieve smooth transitions
between the surfaces with different mutual inclinations. Chamfers are typical of
assembled units, whereas fillets are typical of the contacts between a biological and
a solid structure. Fillets are gradually being replaced by parabolic transitions, as
using a parabolic curve makes the transition on the edges significantly softer and
more suitable for the coexistence between a biological material and a solid. In
nature, too, radius-based transitions do not usually exist; instead, there are continuous, second-, third- and higher-order curve transitions.
In our case the transitions will be made a little sooner because the locations of
the curves, created at filleting, will be required for operations to come. Start with the
command: Insert, Features, Fillet/Round.
Create fillets on the lower edge of the grip using the Face fillet option, with a
maximum fillet diameter of 15 mm.
We want to smoothen the outside of the grip’s upper edge, with a maximum
value in the central part equalling 3 mm (at the intersection with the basic plane),
and continuously, along its length, coming down to a value of zero at the edge’s
extreme points, where the grip blends with the casing. Changing the radius value is
linear, where only two values are being set. With a larger number of points having
different radius values you can define the non-linearity of the radius sizes.
Smoothening the inside of the upper edge follows the same procedure, the only
difference being that the biggest fillet radius value in this case equals 1 mm. For a
better understanding, fillets are shown in Fig. 4.18.
4.2
Refining the Handle Shape for the Blender’s
Other Functions
In the next steps we will demonstrate, using an example of a tool’s release buttons,
how good CAD planning, an understanding of the surface modelling backgrounds,
and making the correct decisions can significantly affect even small design details
with respect to the overall quality of the product.
4.2.1
Creating Tool-Release Buttons
When specifying the product’s details, you need to check whether the wishes and
volume conditions of all the elements are realistic. Such examples include the
positioning of a button. If the industrial designer puts the button’s position too high,
100
4 Creating Complex CAD Models with Freeform Surfaces
Fig. 4.18 Main parameters and commands for creating fillets between surfaces on the edges of the
handle’s dip
the ergonomic conditions are different from what is required. However, when
detailing the shape/design, you need to take account of the realistic ergonomics for
the user, and indirectly, additional space on the casing was found for the tool’s
hold-and-release mechanism.
Draw a sketch, as shown in Fig. 4.19, on a side plane (Right plane). Projecting
the sketch in two directions will install the button in the appropriate position. This
will accurately determine the location of surfaces on both sides of the casing, and
the projection will split the existing surface. To do the steps above use the following
command: Insert, Curve, Split Line.
Creating small surface segments that are otherwise mathematically part of
a larger adjacent surface is very valuable in practise:
• In the previous chapter we used it to create surface segments with different
optical properties.
• In this case it was used to limit the area within which detailed elements are
being created.
• It can also be used to create surfaces with complex contours and edges, cut
out from surfaces with four edges, which results in an improved geometrical stability and mathematical description of the surfaces.
4.2 Refining the Handle Shape for the Blender’s Other Functions
101
Fig. 4.19 Sketch in a side
orthogonal view of the model
defining the button’s position
and outline
• The same operation can also be used to define limited segments with a
surface of a finite size. The segments are attached load conditions for the
numerical (MFE) analyses and calculations.
Looking at the model (Fig. 4.20) reveals that in the area where the button will be
located, four new surfaces bounded by the button contour have been obtained. In
order to describe the button area with a unified surface, the four segments should be
merged into one. As these four segments are described by the equations of four
different surfaces, part of which they used to be, the easiest way to mathematically
describe the button area is with a new surface that is assigned boundary conditions,
i.e., tangents to the adjacent surfaces. At the same time this will simplify the model,
which improves the clarity of the steps that follow.
In order to delete the surfaces a correct sequence of commands should be used:
Insert, Face, Delete. Of the available options in the menu on the left-hand side,
select the last option Delete and Fill. It replaces the deleted surfaces with a new one
(Fig. 4.20). Repeat at both ends of the casing. The Delete and Fill option reduces
the workload, as it combines into one step the Delete Face function that deletes a
face/surface, and the Fill Surface function for stretching parametric surfaces over
the edges.
102
4 Creating Complex CAD Models with Freeform Surfaces
Fig. 4.20 Using the Delete Face function to replace four surfaces by one
Delete and patch is a similar command. To replace a deleted surface, it uses and
lengthens the adjacent surfaces.
Because the switch-off buttons should be sticking out a little so that it is easier to
press them, it is necessary to create a surface of the button that is projecting by
1 mm from the casing surface. To do this, first apply the surface offset function
(Insert, Surface, Offset) and create new surfaces that are 1 mm away from the
existing one (Fig. 4.21).
The Offset Surface function transforms any point on an existing surface
orthogonally, relative to the existing surface, to a new position. Because the slightly
projecting surface is being transformed outwards, the new surface will be larger
than the original one (Fig. 4.21). For this reason and since we want to create an
ergonomically round edge of the button, the newly created surface needs to be
trimmed in the next step, in order to be able to create the proper transition of the
button back to the level of the casing. To this end, draw a circle onto a side plane. It
needs to be concentric with the circle that was previously used for cutting the
surface of the button, as shown in Fig. 4.22.
Delete the bottom of the button surface, leaving the casing as an open surface
model and providing free edges for creating the transition into the surface of the
button.
4.2 Refining the Handle Shape for the Blender’s Other Functions
Fig. 4.21 Creating the upper surface of the button
Fig. 4.22 Trimming the button surface
103
104
4 Creating Complex CAD Models with Freeform Surfaces
The next thing to do is to merge the surface of the button with the surrounding
surface. Two functions for stretching surfaces between edges have been explained
so far (Surface Loft and Boundary Surface); however, if you try to use them in this
case, you will quickly realise that problems might occur before being able to create
a satisfactory surface. The problem with both functions is that two opposite edges
need to be selected to create a surface.
There are several ways to solve the problem. Two of them are explained and
compared below:
1. Merge all four outside consecutive edges, bordering the button opening, into a
composite curve, as shown in Fig. 4.23 (Insert, Curve, Composite). Using the
new curve, the above-mentioned surface stretching functions can be used.
Using the Surface Loft function will produce the result shown in Fig. 4.24a.
You can see that a new surface has been created, consisting of four segments.
Their edges can be edited so that they correspond to the edges leading to them:
go back to the last command, right-click the surface, select Show all connectors
and adjust them to the surrounding geometry (Fig. 4.24b).
2. A simpler and faster way is using the function for filling open segments in
surfaces (Insert, Surface, Fill). In this case the edges need not be merged into a
composite curve. Instead, you simply list all the edges over which a space
surface should extend.
Figure 4.25 shows that the software itself calculates the function of the continuous surface in space, according to the provided boundary conditions, and trims
the surface along the selected edges. As a result, the main surface of the button
remains unchanged, although the yellow preview mesh displays a different curvature of the function of the newly created surface. This approach results in a parametric surface, described by one equation, which eliminates the need for four
segments, as in the first case.
Figures 4.25, 4.26 and 4.27 show the effect of different boundary conditions on
the function, describing a surface, which also yields different results. In Fig. 4.25
Fig. 4.23 Executing some of the functions in SolidWorks requires prior merging of the edges into
a composite curve
4.2 Refining the Handle Shape for the Blender’s Other Functions
105
Fig. 4.24 a Creating a peripheral surface of the button among five surface segments, using the
Lofted Surface command, and b editing the edges of the new segments
Fig. 4.25 a A mesh representing the function of a stretched surface with no tangency required;
b end result
only a contact is required on the upper edge; in Fig. 4.26, tangency of the adjacent
surfaces was required; whereas in Fig. 4.27 continuous surface curvature on the
common edge was required together with tangency. To compare the different
transitions, it is recommended to check all three variants in Figs. 4.25, 4.26 and
4.27 by means of visualisation tools for projecting patterns and colour marking of
the curvature, explained in Sect. 1.5.4 and shown in Fig. 1.37.
The final step is to repeat the procedure on the other button, making sure that it
results in another stiff body model and no surface bodies should remain at the end.
The end result is shown in Fig. 4.28.
106
4 Creating Complex CAD Models with Freeform Surfaces
Fig. 4.26 Tangency on the upper edge; a A mesh representing the function of a stretched surface;
b end result
Fig. 4.27 Continuous curvature of the surfaces is required on the upper edge: a A mesh,
representing the function of a stretched surface; b end result
Fig. 4.28 Finished model of
the casing, including
tool-release buttons
4.3 Consolidation Tasks
4.3
4.3.1
107
Consolidation Tasks
Improving the Details of the Blender
Create cross-sections of the surfaces where the material changes. Use the sketch in
Figs. 4.29, and 4.30, showing a finished model, to help you. Use the commands
learned in this and in the previous exercise.
4.3.2
Electric Water Heater
Using freeform surfaces, create a model of a water heater, shown in the figures
below (Figs. 4.31, 4.32 and 4.33). Use your own ability of proportional imitation of
the presented shapes.
Fig. 4.29 Sketch for cutting
the surface along the contour
of the rubber handle
108
Fig. 4.30 Finished model of
a hand blender’s casing
Fig. 4.31 Water heater—
front view
Fig. 4.32 Water heater—
side view
4 Creating Complex CAD Models with Freeform Surfaces
4.3 Consolidation Tasks
109
Fig. 4.33 Water heater—top
view
Main dimensions:
• width A = 250 mm
• depth B = 160 mm
• height H = 200 mm.
Reference
1. Duhovnik J, Kljajin M, Opalić M (2009) Inženirska grafika. Fakulteta za strojništvo, Ljubljana
Chapter 5
From Complex CAD Model
to Mould Casts
Abstract Product development should begin by fulfilling the product’s primary
functions during the concept stage, whereas its auxiliary functions are added later,
during the detailed design. Nowadays, nearly all products with an external shape that
is related with the human or natural environment are developed in such a way that the
product shape is developed as a single uniform body, which is later cut/split into
individual components of the same system. In this chapter the activities will continue
on the model created in the case study started in the previous chapter. The chapter will
explain how to cut up a uniform solid CAD model into several bodies and how to
create joining edges and make a new assembly with the newly created bodies. Later,
one such created hand-blender casing’s components serves as an example of creating a
mould cavity with one tool cavity for injecting a polymer product. This case study
presents additional commands to use with surfaces, features for creating design elements that are characteristic of the products made by polymer injection moulding, and
creating parting curves and planes, up to the point of creating a tool cavity.
As mentioned on several occasions, product development should begin by fulfilling
the product’s primary functions in the concept stage, whereas its auxiliary functions
are added later, during the detailed design. Most technologically complex industrial
products where a precisely and cleverly made external shape is one of the product’s
main functions follow a development procedure where the external shape of a
product is fairly accurately defined already at the concept phase. Nowadays, nearly
all products whose external shape is related with the human or natural environment
are developed in this way. The surface of these products should always provide a
proper physical interaction with the natural environment around itself. The products
that are interacting with nature should obey the physical laws of nature, such as the
movement of liquids and gases, or force and torque transfer, whereas the products
that are often in contact with humans should take account of the physical characteristics of the human body and the permissible burdens on the body. Examples of
such products include different types of vehicles, such as cars, planes, boats, different tools and devices, such as hand electric and mechanical tools, domestic
appliances and similar. What these products share is their basic shape being
© Springer Nature Switzerland AG 2019
N. Vukašinović and J. Duhovnik, Advanced CAD Modeling,
Springer Tracts in Mechanical Engineering,
https://doi.org/10.1007/978-3-030-02399-7_5
111
112
5 From Complex CAD Model to Mould Casts
determined as a single unit (depicted as a uniform solid body in computer graphics).
During embodiment and detailed design stages it is divided, i.e., cut up into individual assemblies, while taking account of the auxiliary functional requirements,
manufacturing technologies, assembly procedures, use and maintenance.
A typical example of such an approach includes developing new aircraft and
cars. Engineers, together with industrial designers, begin the process by developing
the body of the vehicle. It should meet the requirements in terms of aerodynamics,
the useful volume for passengers, cargo and the propulsion system. During the
same step, openings for windows and doors are suggested; however, their exact
shape depends on the shape of the entire body and their contours and design are
developed later. The same applies to other structural and internal elements. Only
expert development teams of experienced engineers and designers can, of course,
properly predict the requirements for these elements. Otherwise, the product
development process should be executed over several iterations, via a larger number
of development loops, in order to achieve sufficient product excellence.
In the previous example, creating a hand-blender casing, we tried—based on our
engineering experience—to consider all the requirements for the ergonomics and
functionality of the product; however, we deliberately created the entire product’s
shape as one uniform unit. It would have been significantly more difficult to achieve
a proportional shape if we had separately created the upper part of the casing, the
handle and the lower part of the casing—design-wise part of the casing but
function-wise part of the tool, i.e., the blender’s functional attachment.
In this example the activities will continue on the model that was created in the
previous exercise. The exercise will show how to cut up a uniform solid CAD model
into several bodies. You will learn how to create joining edges and make a new
assembly with the newly created bodies. In this way we will make parts, i.e., products,
for which a suitable manufacturing (technological) process will later be chosen. Since
in our case this is polymer injection into a tool, Sect. 5.2 Mould creation deals in more
detail with injection-moulding technology and making an injection-moulding tool.
Later, one such created hand blender casing’s components will serve as an
example of how to create a mould cavity with one tool cavity for injecting a
polymer product. In this case study the reader will become familiar with additional
commands to use with surfaces, features for creating design elements that are
characteristic of the products made by means of polymer injection moulding, and
creating parting curves and planes, up to creating a negative.
5.1
5.1.1
Splitting Solid Bodies
Creating a Shell
Taking the model from the previous exercise shows that a full solid model was
created. And so, the first step is to create a shell (Insert, Features, Shell). As this
5.1 Splitting Solid Bodies
113
Fig. 5.1 Problem of creating a shell thicker than the radius of surface curvature can be explained
as overlapping material (shown as fibres perpendicular to the surface and with their length that
equals required shell thickness), or the overlapping of new offset surfaces
command has already been explained in the book Modeliranje z značilkami
(Modelling with Features), we will simply point out that shells can be only created
when the required shell thickness is less than the minimum radius of the surface
curvature. Otherwise, the newly created shell can overlap with itself, which leads to
errors that are not allowed by the software. For a clearer picture, the problem is
shown in Fig. 5.1.
While it used to be normal until a few years ago that modellers were unable to
cope with the presented problem, advanced modellers of the latest generation have
overcome the problem by including into thickening the entire volume that could be
in any way included between the basic and the parallel surface that defines the
thickening width. Such a volume is shown in Fig. 5.2. The easiest way to understand it is to see it as a whole space, covered by fibres in any way, as shown in
Fig. 5.1. Figure 5.2 shows that the internal surfaces can no longer be described only
as scaled basic surfaces. Instead, this is a new surface, consisting of a different
number and types of features than the basic scale. As any compromise requires
sacrifice, the G1 and G2 surface continuity has been lost in this case, which needs to
be taken into consideration for the rest of the work.
In our case a shell with a thickness of 1.5 mm was created. If it turns out that this
is not possible, check the location of the smallest radius of curvature (Tools, Check,
select Minimum radius of curvature and confirm) and adjust the geometry at that
point, using the commands explained above. If the product’s design allows it you
can overcome the problem by reducing (Scale) the model to the appropriate size
and creating the shell in the opposite direction (e.g., outwards).
Fig. 5.2 Creating a shell of a thickness, larger than the minimum radius of curvature. The volume
is no longer bounded by two identical, parallel surfaces, but by the basic surface and the new
surface that limits all the points whose distance from the basic surface exceeds the shell’s thickness
114
5.1.2
5 From Complex CAD Model to Mould Casts
Cutting up a Solid Model into Multiple Solid Bodies
and Creating New Parts
When modelling sophisticated products it is usual to begin by defining the shape of
the entire product, followed by cutting it up into its individual parts. This is particularly useful when a freeform surface of one model smoothly continues into the
surface of another one. As an example, you can take the model from the previous
example, where creating an identical shape—but modelling the parts separately one
by one—would have taken significantly more time and energy to eliminate any
problems. Consequently, the shape was designed first, and now, we will cut up the
model into several pieces.
Sketch-based cutting:
To begin with, the easiest way to cut up a model is cutting it on the basis of a 2D
sketch. Using a straight line, we will cut off the lower part of the casing, belonging
already to the blender’s detachable tool (Fig. 5.3).
• Next, use the Insert, Features, Split command for cutting bodies.
• Under the Trim Tools option, select the sketch that you have just created for the
purpose of cutting and execute the Cut Part command.
Fig. 5.3 Sketch for cutting
the upper and lower parts
5.1 Splitting Solid Bodies
115
Fig. 5.4 Cutting up a model into multiple bodies
• Select the parts that you wish to keep and confirm (Fig. 5.4). In this step you can
already choose file names for new models and save them; however, we will skip
this step here. First, we will execute all the cuttings.
Split with surface:
Figure 4.29 from the previous chapter shows that the product’s surface is planned
to be made of two different materials. Consequently, the contact between the two
materials requires cutting, which produces new bodies of the basic model.
Since the edge between the materials follows a space curve, you will need to cut
along this curve, which is not possible simply by projecting a 2D sketch onto the
object. Therefore, you will need to create a surface that follows this curve and runs
orthogonally to the surface.
For this purpose use the Ruled surface command (Fig. 5.5). It leads the new
curve along the edge of the existing objects. The function is very similar to the
Sweep command, however, it has additional functionalities for working with
existing models and surfaces, as this function is attached exclusively to the existing
edges of the bodies.
116
5 From Complex CAD Model to Mould Casts
Fig. 5.5 Ruled surface on the model’s existing edges
Let us start with the handle: Select Insert, Surface, Ruled Surface. Define a
surface running orthogonally to the existing surfaces (Normal to Surface). The
distance should slightly exceed the shell length, e.g., 3 mm and oriented
towards the inside of the model to make sure that the surface will cut the handle out.
Select the edges along which the surface will run, as shown in Fig. 5.5, and
confirm.
If you try cutting the model with the created surface, using the Split function,
immediately after this step you will see that the cutting is not yet possible. The
reason lies in the fact that the created surface does not intersect the external surface
of the model. As it only touches it from the inside, you need to extend the created
surface slightly outwards in order for it to completely break through the surface. Do
this by creating another ruled surface along the same curve, but in this case oriented
outwards. After that, combine/knit all the created surfaces into one. Alternatively,
you can try to extend the surface using the Extend surface command.
Use again the Split command and use the surface that you have just created as
the cutting tool (Fig. 5.6).
5.1 Splitting Solid Bodies
117
Fig. 5.6 Splitting a model with a surface
5.1.3
Creating the Remaining Cuts—Consolidation Task
Apply the same procedure for cutting the round buttons and the rear of the rubber
casing. For assembly reasons and manufacturing technology—pressure plastics
injection moulding, where draft angles need to be considered—the red casing
should be split into two parts along the line of symmetry (the basic plane).
• Create a 2D sketch on the basic plane to cut out the buttons. The sketch should
follow the contour of the button (Convert Entities). Use it for cutting.
• For the rear of the rubber casing, use the surfaces for cutting. Because the ruled
surface ends before the edge of the casing (Fig. 5.7), due to the geometry of the
body, it should be extended by a millimetre or two, to make it intersect the body
completely. Do this on both ends of the surface.
• Split the red casing along the line of symmetry by means of a straight vertical
line, which you draw into a new sketch on the basic plane. Before that, hide all
the other bodies to make way for the cutting.
118
5 From Complex CAD Model to Mould Casts
Fig. 5.7 The surface needs to be extended by a few mm, so that it extends over the stiff body.
Otherwise, it will not cut the body due to the problems on the edge (dashed line)
5.1.4
Creating Edges and Grooves of a Shape Joint
When casings consist of multiple parts there is often a question as to how to join
two parts in such a way that it makes the edge joint functional, solid and attractive.
For this, the joint should be so designed that it is easy to join one part of the casing
with the other, while also carrying some shear stress, and providing adequate
insulation against water and dust. The most common design solution to this
problem is to create properly shaped lips and grooves: accurately designed lips will
shorten the assembly time, as they allow a precise joint between two parts, and at
the same time also the proper positions of the other joining elements, e.g., snap-fit
or screw joints. They should also allow proper load transfer from one element to
another. An example of such a joint is in Fig. 5.8, showing an electric programmable switch clock, assembled and disassembled.
A lip-and-groove shape joint is fairly easy to create by means of the basic
operations and modeller features. You only need to cut a groove on one side
(Extruded Cut), and a short extrusion, representing the edge, on the matching side
of the other part (Extruded Boss/Base).
In order to preserve the original flow of the external surface, the
lip-and-groove shape joint is usually made by modifying the inside edge of the
casing, because an additionally created edge sweep on sophisticated shape
designs does not follow the functions describing the original surface.
To facilitate creating this type of joint in simple products, good-quality CAD
design and modelling tools have special features and commands to create joints
more quickly and in fewer steps. The SolidWorks modeller has a special
edge-design feature, where you can set all the main parameters at a single location.
5.1 Splitting Solid Bodies
119
Fig. 5.8 A lip-and-groove shape joint of a two-part casing of an electric programmable switch
clock
You can find it at Insert, Fastening Feature, Lip/Groove. However, it is necessary
to emphasise that the same result can be achieved by implementing a series of
well-known commands for feature modelling.
In the input fields on the left, enter the following under Body/Part Selection
(Fig. 5.9):
Fig. 5.9 Creating lips and grooves of a shape joint
120
5 From Complex CAD Model to Mould Casts
• the first body in the joint,
• the second body in the joint,
• a plane, defining the direction of creating a lip or a groove. In most cases you
can simply select one of the surfaces in the joint, where a shape joint is to be
created, and is orthogonal to the direction of the sweep.
In the input fields on the left, specify the following under Groove Selection:
• surfaces where a shape joint’s groove should be,
• edges where a shape joint’s groove should be (the inside edge is a common
choice).
In the input fields on the left, specify the following under Lip Selection:
• surfaces where a shape joint’s lip should be,
• edges where a shape joint’s lip should be (a less visible edge is a common
choice).
Finally, set appropriate dimensions in the parameter fields. You need to set the lip
and groove width, lip height and groove depth, the distance between them and the
angle of the edge’s common wall (Fig. 5.10).
As can be seen in Fig. 5.10 you can also set a gap between both bodies on the
internal or external wall. Such gaps are normally used for the casings made of
artificial materials, for aesthetic reasons, as it removes the need for too strict
dimensional tolerances, which makes manufacturing easier and cheaper. Due to
their specific manufacturing technology, polymer products are subject to minor
Fig. 5.10 Geometric
parameters of a
lip-and-groove shape joint
5.1 Splitting Solid Bodies
121
shrinkage and deformation while cooling down and solidifying, which makes both
parts of the casing difficult to match perfectly. Consequently, a larger gap is usually
created on the outside, visible side, and both parts of the casing are in contact on the
internal, unnoticeable side (Fig. 5.8). You can do a similar thing when you want as
tight a joint as possible on the outside of the casing. In this case, create the gap on
the inside of the casing.
5.1.5
Creating Independent Models and the Assembly
Creating independent models out of all the individual bodies so far created in this
case study is a precondition for creating the hand-blender assembly. As we can see,
many of the operations are easier to execute when all the bodies are within one
model, and for this reason you should always think in advance about in what phase
to split a body into different models to prevent problems in the future, when
realising that another feature or joint is still missing on the product.
When you want to create an assembly out of several bodies, created within one
file (Multibody Part), you should first export individual bodies and save them in
separate files. Only then can you use them to create an assembly.
The easiest way to do it is as follows: Right-click Solid Bodies in the feature
management design tree and select Save bodies. In the table on the left, in the File
column, assign file names to each element/body with a double-click. Similarly, you
can assign file names by double-clicking the flags, showing individual elements of
the model (Fig. 5.11). Repeat for all solid bodies.
In the same step you can already create the assembly. You only need to assign
the assembly’s file name. Do this in the Create Assembly field by selecting the file
and folder search option Browse… and typing the assembly file name. Close the
field and confirm your selections by clicking the green tick at the top of the menu
on the left-hand side (Fig. 5.11).
5.2
Mould Creation
When creating and developing products, it is necessary to predict the technological
processes that the product will be subject to during manufacturing and assembling,
and take this into account during the development. This is because any manufacturing technology requires specific design solutions. Domestic appliances, like the
one in our case, are manufactured and sold in batches of tens of thousands in order
to achieve the economic feasibility of development and manufacturing. With this in
view, a suitable manufacturing technology is chosen. For electrical devices such as
the hand blender, the casing is usually manufactured by polymer injection
moulding. There are several reasons for choosing this technology: low product cost
during mass production, little after-treatment of injection moulded products into
122
5 From Complex CAD Model to Mould Casts
Fig. 5.11 Exporting bodies into their own files and creating the assembly
finished products, adequate electric, water and dust insulation properties of the
material. It makes it vital to understand more precisely the composition and
functioning of a polymer injection-moulding machine and tool. Shown in Fig. 5.12,
the machine consists of a heated injection cylinder, a feeding screw, a container
with moisture- and granule-content control, and a motor drive. Machines for larger
pieces often also include hydraulic mechanisms to hold the tool in a closed position
for the entire duration of the injection moulding and solidifying process. As
mentioned, the other vital part is the injection-moulding tool. This is also a fairly
sophisticated assembly of serial and unique elements. Serial elements include
guards, centring pins and bushes, ejectors and different spreading mechanisms,
whereas the unique elements are all parts of the tool that need to be built and
refined, following the shape of the part that is to be manufactured with this tool.
Unique tool elements include the fixed and the moving parts of the mould, as well
as different inserts and cores for making cavities, overhanging angles or they are
needed for multi-component injection moulding. Because terms for the same tool
parts vary, we will strictly use the above terms.
All technologies for the mass production of identical products share a common
feature—they are based on the use of forming tools, custom-made for each product,
as making a specific tool becomes economically justified only with large quantities
of a single product. The most important technologies for the manufacture of large
quantities of products include closed-die forging and the stamping of metal products, die casting and the injection moulding of hot metals, injection moulding and
the blowing of polymer (plastic) products, and the sintering of ceramic products.
5.2 Mould Creation
123
Fig. 5.12 Polymer injection-moulding machine and tool
Another common issue with all these technologies is the requirement for the fastest
possible duty cycle of the tool and material mass flow through the tool. What makes
it interesting is that despite very different technologies and materials, there are very
similar design recommendations regarding the geometry of products in order to
make the manufacturing cycle smooth and of acceptable quality. Another reason
lies in the requirement to remove the products from the tool immediately after the
technological process, and that deformation and shrinkage of the product, coming
from the technological process, should be predictable and even. Both requirements
can be satisfied by taking into account the basic physical and geometric laws (e.g.,
elasticity or thermal expansion of material), which otherwise applies to any manufacturing technology. This makes the guidelines for making tools similar: such
draft angles should be applied that a free flow of material is provided and the most
uniform possible distribution (thickness) of material across the entire product is
provided, in order to achieve a steady cool-down and shrinkage of the product.
The basic requirement for casting and injecting into moulds is for the geometry
of the product that is being moulded to allow quick and easy removal of the product
from the tool. It means that the product’s walls should have no negative angles,
relative to the tool’s removal. Even more important, angles should be positive
enough to allow the effortless removal of the product after it has solidified and
cooled down. The minimum required angle depends on the length of removal, the
casting technology and the material, the wall thickness, the product geometry and
the cool-down shrinkage. Recommended rough values of the draft (mould) angles
for the various casting and injection technologies are in Table 5.1. The table
124
5 From Complex CAD Model to Mould Casts
Table 5.1 Recommended values of draft angles for different materials and casting technologies
Material
Product’s
internal walls
angle
Product’s
external walls
angle
Shrinkage after
cool-down [%]
Polymers: PET, ABS, PS,
PVC, PP + glass fibre
Polymers: PP
Polymers: PE
Aluminium alloys
Magnesium alloys
Zink alloys
Steel
Manganese steel
Grey cast iron
Bronze
3.0°
1.0°–3.0°
0.4–0.9
3.0°
3.0°
2.0°–5.0°
2.0°–5.0°
1.0°–4.0°
5.0°–7.0°
5.0°–7.0°
5.0°–7.0°
2.0°–5.0°
1.0°–3.0°
1.0°–3.0°
1.0°–4.0°
1.0°–4.0°
0.5°–2.0°
1.0°–6.0°
1.0°–6.0°
1.0°–6.0°
1.0°–4.0°
1.0–2.5
2.0–3.5
1.3–1.6
1.8
2.5
2.0
2.6
0.7–1.1
1.1–2.1
represents only the basic design guidelines for making castings; for a perfect product in all its details it is recommended to consult a technician and perform the
appropriate injection and casting simulations. It is the complex interactions between
many parameters that determine the final decision on the required draft angles. They
include wall length, wall thickness, prescribed surface texture, properties of the
casting material and tool, etc. As a product usually shrinks in the direction of its
centre of mass, its external walls shrink away from the mould walls, and the internal
walls generally shrink towards the mould walls. It makes the draft angles of the
product’s interior walls a vital issue in order to prevent a casting from shrinking
onto the mould. For the reasons of steady mould filling and product shrinking it is
recommended that the product’s internal and external surfaces are parallel, which is
particularly important for high walls. For this reason the wall’s external surfaces are
usually made at the same angle as the interior ones. Regardless of this, plastic
products should be designed with the walls having a uniform thickness; and most of
all, there should be no areas on the product where significantly more material has
collected than in their surroundings. In such cases, uneven cool-down and
shrinkage occur, causing local shrinkages and uncontrollable wrapping of the
product. Prior to your first polymer product design it is recommended to refer to
some of the abundance of specialist literature, such as [1–7].
As mentioned before, it was decided already during the concept phase that the
product’s casing will be manufactured by means of polymer injection moulding.
Therefore, the required wall angle will be set at 3°.
Because all the bodies have been saved individually, you should also edit them
and prepare the moulds individually. The basic procedure for preparing a mould in
a modeller will be shown for the example of the rear rubber handle. Open the file
into which the model was exported.
5.2 Mould Creation
5.2.1
125
Creating Draft Angles
The first step before creating a mould is to check the product’s mould angles. By
doing so, you can assess the course of the parting line and the plane separating the
two parts of the mould. If the draft (ejection) angles of the surfaces are below 3°,
relative to the direction of the tool’s travel, the proper angles should be taken care of
during this phase.
Check the angles using the following command: View, Display, Draft Analysis.
In the blue field (Fig. 5.13) set the direction in which the tool opens. You can do
so by selecting a plane or other flat surface, lying orthogonally to the direction of
opening, or by selecting a horizontal edge of the model, pointing in the direction of
the opening. Set the analysis angle to 3° and confirm. To switch off the surface
colouring, click again Draft Analysis for the analysis of the draft angles.
Figure 5.13 reveals that the angle of the wall’s through hole and the straight cut
on the casing’s edge also require attention. The latter will not be changed as the
angle on the other side of the casing is large enough and the shape of the product
will allow the designing of a tool where no ejection problems should occur. The
only thing is to prevent the product from jamming at the through hole. It could
cause problems, as the product cools down and shrinks after injection, which could
result in a shrink fit with the part of the tool that defines the opening. To avoid this
the through hole will be so adjusted such that it will widen at an angle of 3° towards
the interior of the housing.
The software is able to automatically create the prescribed draft angles according
to the selected reference planes. For this reason you should select a plane that is
lying as close as possible to the plane where you want the angle. Create a reference
plane on the upper edge of the through hole, and make it parallel to the basic plane,
as shown in Fig. 5.14. Select the command: Insert, Features, Draft…
Fig. 5.13 Analysing a product’s draft angles
126
5 From Complex CAD Model to Mould Casts
Fig. 5.14 Creating the product’s draft angles
5.2.2
Shrinkage Compensation—Scale-up of the Product
When creating products by means of injection moulding or casting you should
always take into consideration the shrinkage due to cooling down. This means that
the tool mould for a product should be enlarged by as much as the product will
shrink during cooling. A rough shrinkage value can be calculated from the material’s thermal expansion coefficient, the temperature difference and the product
dimensions, or it can be precisely defined by a numerical analysis and an
injection-moulding simulation. Polymer products usually shrink by a few per cent
(Table 5.1), depending on the material used and the casting technology. In artificial
(polymer) materials in particular, the shrinkage factor can vary in different directions, which is caused by the orientation of molecules (and reinforcing fibres). This
difference is particularly significant between polymers and glass-fibre-reinforced
polymers (see, for example, PP polypropylene properties in Table 5.1). When
making a casting tool you should therefore know which material the product will be
made of and adjust the tool accordingly. To do so, enlarge the product by the
calculated shrinkage value, using the Insert, Features, Scale command. You can
use the same shrinkage factor in all directions, but in more sophisticated cases you
can adjust the model enlargement to product shrinkage in different directions.
5.2.3
Mould-Cavity Parting Surface
The parting plane or the parting surface, to be precise, is a surface separating the
tool mould into two or more parts in order to allow the product’s extraction after
5.2 Mould Creation
127
injection and cooling. The contact between the parting surface and the mould (tool)
cavity is referred to as the parting line. It is defined as the border between the
positive and the negative angle of the product’s wall for a given direction of
ejection, i.e., tool opening.
Accurate positioning of the parting surface and precise manufacturing are the
keys for the successful and high-quality injection moulding of products. It is vital to
provide parallelism and precise alignment of the adjacent surfaces for both parts of
the tool, especially at their contact with the mould cavity. There, the gap between
both parts of the tool should not exceed 1/5 of the size of a molecule or should not
be larger than 30–50 lm to prevent spilling the melt on the parting surface and the
formation of burrs. Due to the allowance requirements after the tool has been made,
the parting surface should be straight if the product’s geometry allows it. Curved
and broken parting surfaces should also have no negative angles.
Since the parting line can be very noticeable on injected products, which
diminishes their (aesthetic) value, experienced designers and toolmakers place it on
the product’s less visible surfaces or edges.
Therefore, the first step in the design of an injection moulding tool is to define
the parting line and plane of the mould cavity. First, define the parting line, using
the command Insert, Molds, Parting Line. As the direction of injection (tool
opening), select the plane, orthogonal to the line, or find an edge, pointing in the
same direction. In our case, you can select the basic plane or the reference plane,
created during previous steps, when creating a hole and its draft angle.
Select Draft Analysis and check whether the suggested edges match the desired
course of the parting line and confirm (Fig. 5.15).
The software will also warn you if the parting line has been created, but not the
planes to close the through holes, before the tool and the mould cavity can be made.
Close the through hole with the plane, created by the command Insert, Molds,
Shut-Off Surfaces.
When the closing solution is unique, the software itself will successfully select
the edges along which runs the openings’ parting surface. Otherwise, you can
modify the edges in the field on the left Edges. Confirm your selection.
If the parting surfaces have been created successfully, two surfaces will appear
under the Surface Bodies folder: Cavity Surface Bodies and Core Surface Bodies.
The next step is creating the parting surface using the Insert, Molds, Parting
Surface command. The command works in the same way as Ruled Surface,
explained at the beginning of this chapter, but adjusted for the creation of parting
surfaces.
Figure 5.16 shows that the software itself recognised the parting line and
extruded a parting surface from it. In the Mold Parameters field you can modify the
surfaces’ geometric parameters. In our case leave it orthogonal to the direction of
the tool’s opening. Set the width of the new plane and confirm.
128
Fig. 5.15 Setting the parting line
Fig. 5.16 Creating the parting surface
5 From Complex CAD Model to Mould Casts
5.2 Mould Creation
5.2.4
129
Creating a Single-Cavity Mould
In injection-moulding machines the mould cavity is a unique part of the tool that
gives the polymer products their shape. Through the sprue and runner system, the
machine injects at a pressure of several megapascals a molten polymer material and
keeps it there until it cools down and solidifies properly. Most of the components
for polymer injection-moulding machines can be chosen from the catalogues of
various producers, which allows you to customise the configuration to your needs.
Only then will toolmakers carve a cavity into the mould plates. For this purpose,
CNC milling and electrical discharge machining are normally used. Depending on
the intended number of injection cycles, a cavity surface should undergo an
appropriate surface treatment to improve the mechanical properties of the tool.
Since making polymer-injection tools is cost-, time- and technology-wise a
demanding project, they become economically justified only for large batches,
sometimes reaching tens of thousands of pieces. To justify the costs of the machine
for smaller batches (but still hundreds or thousands of pieces), it often makes sense
to invest in a tool with a replaceable mould cavity. In this case the same machine
can be used for several different products, including its use for prototype parts, as it
allows the creation of different cavities/moulds, replaceable on the same
injection-moulding machine. Prototype moulds are often made out of aluminium
alloys, as they allow easier and faster CNC machining; however, such moulds do
not allow manufacturing in large batches due to rapid wear of the material.
To make a plastic-injection mould, start with a reference plane, parallel to the
basic plane, as shown in Fig. 5.17. On the plane draw a sketch representing the
mould’s outside edge, as shown in Fig. 5.18.
Everything is now prepared for creating a mould model. Select the drawn sketch
and find the Insert, Molds, Tooling Split command. Set the height of the upper and
lower parts of the mould and select Interlock surface, which connects the parting
surface of the mould cavity and the tool’s parting surface, i.e., the plane that you
used to draw the sketch (Fig. 5.19).
In case you want to show the inside of the mould, use the Insert, Features,
Move/Copy command to separate both plates (Fig. 5.20), and then save.
Fig. 5.17 Setting up a
reference plane for creating a
single-cavity mould
130
5 From Complex CAD Model to Mould Casts
Fig. 5.18 Sketch defining the mould’s outside edge
Fig. 5.19 Interface for creating a single-cavity mould
5.3 Consolidation Tasks
131
Fig. 5.20 Product model
with its corresponding cavity
for manufacturing products
from artificial materials
5.3
5.3.1
Consolidation Tasks
Creating Moulds for the Remaining Elements
of the Blender’s Shell
• Create tools also for other parts of the hand blender’s casing, created in the first
part of this case study.
• Create the shape-joint edges for any pair of elements from the first part of this
case study.
• Try independently also other tools for creating joints between elements (for
example, Snap Hook and Snap Hook Groove).
5.3.2
Making the Mould for Blow Moulding
a Wall-Light Shield
Thin-walled products from glass and plastic materials are usually produced by
blowing a heated preform into a mould. This is the most common way of making
glass and plastic bottles. In most cases the preform injection and blowing are part of
a continuous production process, which saves considerable amounts of energy, as
the preform is blown into its final shape as soon as it has been injected and the
material begins to solidify. Figure 5.21 shows how the procedure looks in practice.
For this procedure a machine with a combined nozzle is used, i.e., for the pressure
injection of the plastic materials used to make the preform and the gas blowing for
reshaping the preform into the final shape of the plastic bottle by means of air
blowing. A plastic-bottle manufacturing process usually involves the nozzle itself
moving the injected preform from the injection cavity into the cavity that gives the
132
5 From Complex CAD Model to Mould Casts
Fig. 5.21 Injecting and blowing a plastic bottle
Fig. 5.22 Half of the mould
for blowing a glass lamp
shield
plastic bottle its final shape by means of blowing. The nozzle allows both plastics
injection and gas blowing for the pressure formation of a plastic bottle in the mould.
Task:
For the lamp model in Chap. 3, make a tool mould for machine glass blowing,
using the above-explained commands for creating the moulds (Fig. 5.22).
References
1. Ashby MF (2013) Materials and the environment. Butterworth-Heinemann, New York
2. Bonenberger PR (2005) The first snap-fit handbook. Carl Hanser Verlag, Munich. https://doi.
org/10.3139/9783446412910
3. Ehrenstein GW (2007) Mit Kunststoffen konstruiren. Carl Hanser Verlag, Munich
References
133
4. Erhard G (2008) Konstruiren mit Kunststoffen. Carl Hanser Verlag. https://doi.org/10.3139/
9783446417502
5. Harper CA (2001) Handbook of materials for product design. McGraw-Hill, New York
6. Reuter M (2007) Metodik der Werkstoffauswahl. Carl Hanser Verlag, Munich
7. Rotheiser J (2009) Joining of Plastics. Carl Hanser Verlag, Munich. https://doi.org/10.3139/
9783446445956
Chapter 6
Controlling CAD Curves by Equations
Abstract A few control points of a B-spline are not enough for an accurate
description of the geometry between the selected points that is supposed to follow
physical laws. With a good understanding of the physical laws that you want to
describe, and by reducing the distances between the interpolation points, it is
possible to approach closely to the exact curve; however, at the expense of
increasing the volume of the required data and computation time, while this will
still be only an approximation of the exact function. Thus, in many cases it is faster,
easier and most of all, more accurate, with less required data, to describe a curve
using an exact physical or mathematical equation. This is possible with modern
modellers. In this chapter we demonstrate how to describe the geometry with exact
physical equations. Two case studies show how to control 2D and 3D curves, both
in explicit and parametric forms. Furthermore, modern modellers allow the
attachment of equation parameters and variables to the existing CAD geometry or
dimensions.
Already in the Chap. 1.3.5 Introduction—B-spline interpolation (Fig. 1.22) it was
shown that a couple of control points for a B-spline are not enough for an accurate
description of the geometry between the selected points that is supposed to follow
physical laws. Namely, drawing 2D and 3D curves based on an interpolation
between points also involves predicting, even guessing, what happens with the
geometry between these points. With a good understanding of the physical laws that
you want to describe, and by reducing the distances between the interpolation
points, it is possible to approach closely the exact curve; however, this is at the
expense of increasing the volume of the required data and the length of the computation time, and this will still only be an approximation of the exact function.
Let us take as an example a curve of a fluid streamline, described by a
fourth-order Bernoulli polynomial, over a normed interval from 0 to 1 (Eq. 6.1).
You can see that an exact polynomial description would require 8 pieces of
information, i.e., 4 values of the polynomial degrees and 4 coefficients.
© Springer Nature Switzerland AG 2019
N. Vukašinović and J. Duhovnik, Advanced CAD Modeling,
Springer Tracts in Mechanical Engineering,
https://doi.org/10.1007/978-3-030-02399-7_6
135
136
6 Controlling CAD Curves by Equations
B4 ð xÞ ¼ x4 2x3 þ x2 1
30
ð6:1Þ
In order to create a B-spline, i.e., an approximation of the curve, described by
Eq. 6.1, it would take a B-spline with at least three nodes. It was explained in
Sect. 1.3.2 that a spline with three nodes requires at least 5 different control points.
For a 2D curve this means 10 different pieces of information! A node vector of such
a B-spline would consist of 9 nodes, because the first and the last node repeat
themselves four times, which means it is described by no less than 18 pieces of
information.
Looking at Fig. 6.1, where both curves are shown together in a coordinate
system, reveals that a B-spline with three nodes is not yet enough for a reliable
description of a fourth-order Bernoulli polynomial. For a better approximation we
need:
• to either introduce and properly set the weights of the control points (switching
to NURBS), which for a curve with 5 control points means 5 additional pieces
of information, which in our case of a 2D curve means 15 required pieces of
information to describe the curve;
• or to increase the number of nodes, which requires 2 or 3 more pieces of
information for each additional node.
Despite the considerable effort to use B-splines to describe a reliable approximation
of an exact mathematical function that describes a natural phenomenon, you should
always be aware that you are still dealing with approximations, and you should
always compare the shape with the shape of the exact function. And so in many
cases it is faster, easier and most of all, more accurate, with less required data, to
describe a curve with an exact physical or mathematical equation. This is possible
with modern modellers.
As an introduction to describing the geometry with exact physical equations, we
will perform and create a 3D model of a prefabricated canvas roof that will take into
account its natural sag. The problem will be divided into two 2D examples of sag in
the X and Y directions. For this the corresponding equations will be performed, the
strength of the canvas will be calculated and a 3D model will be created.
Fig. 6.1 Comparing a fourth-order Bernoulli polynomial and a B-spline with three nodes
6.1 Defining 2D CAD Curves with Explicit Equation…
6.1
137
Defining 2D CAD Curves with Explicit Equation:
Example of Canvas Roof
As mentioned before, all the products’ geometries so far have been defined by the
use of some basic building blocks (features) and their parameters, but occasionally
even using approximations, and based on a certain feeling. What we usually need in
practice is exact, uniquely defined solutions, which are, however, often not easy to
describe with the features provided by modellers. In such cases we usually want to
be able to define a certain shape by entering an equation that describes this shape. In
this and the next chapter we will learn how to give a product its shape by entering
equations in explicit and parametric forms. In this section, describing a 2D curve
using an explicit equation will be explained, and in the next one a 3D curve using a
parametric equation.
Let us take a hypothetical example. In order to protect a courtyard in a
mild-climate town from the elements, you need to design a prefabricated canvas
roof, stretched between four steel posts with a diameter of 200 mm each. An
example is shown in Fig. 6.2.
The emphasis of this case study will on be determining the equations that
describe the canvas membrane in the two main directions, and entering the equations into the modeller with the goal of exactly describing the shape of the surface.
For the purpose of this study, the model of the courtyard and the load bearing
posts are accessible at:
http://www.lecad.fs.uni-lj.si/nmodeliranje/courtyard.zip1.
6.1.1
Deriving the Equations
The first step in defining the geometry of the canvas roof is to set the sag equations.
The problem of the canvas sag can be divided into two components, in their
respective directions for the Cartesian coordinate system. To slightly simplify the
problem, the solution can be worked out by analysing two planar problems, like
with rope sag.
Rope sag is described with the equation of a catenary in Cartesian coordinates
(Eq. 6.2).
y ¼ a cosh
1
x
a
ð6:2Þ
The content at the web address above is intellectual property and can be used exclusively for
educational purposes, to follow the exercises described in this book.
138
6 Controlling CAD Curves by Equations
Fig. 6.2 Courtyard walls and the canvas roof holders
To make the solving easier, in mechanical engineering the equation of the
quadratic function (parabola) is normally used. This is a satisfactory approximation
of the real situation (Eq. 6.3).
y ¼ k x2
ð6:3Þ
where k represents the coefficient, dependent on the continuous stress q and on the
horizontal force component H in the canvas (Eq. 6.4).
k¼
q
2H
ð6:4Þ
Differentiating Eq. 6.3 results in the equation for calculating the inclination
angle of the canvas at individual points in the coordinate direction in question
(Eq. 6.5).
tan u ¼
6.1.2
dy
¼ 2kx
dx
ð6:5Þ
Sag Between Posts of the Same Height
The sag between posts of the same height is shown in Fig. 6.3, where the following
relations are true:
6.1 Defining 2D CAD Curves with Explicit Equation…
139
Fig. 6.3 Sag between posts of the same height
l
2
ð6:6Þ
YA ¼ YB ¼ Ymax
ð6:7Þ
XA ¼ XB ¼
The first thing to set is the parabola coefficient k from Eq. 6.3. You need the
value of Ymax and half of the distance between both posts.
Ymax is the maximum permissible relative canvas sag. Select it according to the
difference in height between the post and the wall. For example:
Ymax ¼ 250 mm
ð6:8Þ
The distance between two ends of the canvas l depends on the distance between
the posts. When defining it, leave some millimetre of space for fastening on the
post.
l ¼ 8000 mm
ð6:9Þ
Take out the coefficient k from Eq. 6.3:
y
x2
ð6:10Þ
250
¼ 15:625 106 mm1
40002
ð6:11Þ
k¼
Inserting Ymax and
l
2
yields:
k¼
Now that the coefficient k is known, all the data are available to draw the
parabola, which we will do later. Let us now calculate the length of the required
canvas material, according to Eq. 6.5 (Source: [1]).
Lwidth ¼ l þ
2 y2A 2 y2B
þ
3 xA 3 xB
In our case the canvas width equals Lwidth ¼ 8021 mm.
ð6:12Þ
140
6.1.3
6 Controlling CAD Curves by Equations
Sag Between Two Posts of Different Height
Let us now also calculate the sag parabola between two support posts with different
heights. The situation is shown in Fig. 6.4. It should be pointed out that the main
objective is to ensure the functionality of the product that is being created. As the
roof should successfully shelter the courtyard from the elements, it should allow
water to drain properly from the roof. Mathematically, this means that the parabola
equation should be so set that its vertex and thus the coordinate origin of a
mathematical system should be located on the left from the fixing point A.
Thus Eq. 6.13 is true:
l ¼ xB xA
ð6:13Þ
Similarly, set the y direction, where h is the height difference between the posts:
h ¼ yB ¼ yA
ð6:14Þ
Based on Fig. 6.2, choose suitable values:
l ¼ 9600 mm
ð6:15Þ
h ¼ 1000 mm
ð6:16Þ
Setting the equations should be based on the law of a catenary, making all
horizontal components of the axial force at each point of the catenary, including
those at the vertices A and B, identical.
HA ¼ HB
ð6:17Þ
Using Eqs. 6.3 and 6.4, the following equality can be exposed, as the coefficient
k is constant along the entire length of the canvas:
q x2A q x2B
¼
2 yA 2 y B
Fig. 6.4 Sag between two posts of different heights
ð6:18Þ
6.1 Defining 2D CAD Curves with Explicit Equation…
141
Rearranging the equation yields:
xA
¼
xB
rffiffiffiffiffi
yA
yB
ð6:19Þ
Since there are five unknowns and only four equations, you need to set either xA,
or yA. Set yA, which should be large enough to prevent collecting water in the case
of higher loads. In our case, the following will be set:
yA ¼ 50 mm
ð6:20Þ
From Eq. 6.14, calculate value yB, which yields enough data to express xA with
xB from Eq. 6.19 and to calculate xA and xB from Eq. 6.13:
yB ¼ 1050 mm
ð6:21Þ
xA ¼ 2680 mm
ð6:22Þ
xB ¼ 12;280 mm
ð6:23Þ
Calculate the coefficient k and the necessary canvas length L:
yB ¼ 6:9633 106 mm1
ð6:24Þ
Llength ¼ 9660 mm
ð6:25Þ
Now there is enough data available to also determine the sag in the other
direction. Before modelling the product, you should choose a proper material to
withstand all the prescribed loads.
6.1.4
Controlling the Loads on the Material’s Tensile
Strength
You need to specify a material and verify whether it will withstand all the prescribed loads. So, first of all, you need to select the material you want to use. Of
course, you cannot choose any material offered by a supplier. You need to know all
its material properties, UV resistance, water permeability, tensile strength and
similar. As designers, we are responsible for the choice of a proper material, which
requires exceptionally careful examinations of all the material properties and, if
necessary, you should demand a certificate of compliance, issued by authorised
institutes.
For preliminary calculations to help you choose a proper material, you can find
the information about manufacturers and their products on the Internet.
142
6 Controlling CAD Curves by Equations
For the purpose of this study we will use the data about materials manufactured
by Verseidag (Germany) and Ferrari (France). The data was collected from the
Internet and is presented in Table 6.1.
The strength should be verified in both main directions: by width, i.e., the load
between two posts of the same height, and by length, i.e., the load between two
posts of different height.
Fallow s Fmax
H
cos u
ð6:27Þ
q
2k
ð6:28Þ
mcanvas þ msnow
g
L
ð6:29Þ
Fmax ¼
H¼
q¼
ð6:26Þ
Define the specific canvas weight for the geometric example:
mcanvas ¼ Lwidth Llength qcanvas ¼ 77:48 qcanvas m2
ð6:30Þ
And the specific snow load:
Fsnow ¼ Lwidth Llength qsnow ¼ 76:80 qsnow m2
ð6:31Þ
uð xÞ ¼ arctanð2kxÞ
ð6:32Þ
k ¼ 15:625 106 mm1
ð6:33Þ
Control by width:
The greatest axial force on the rope/canvas occurs at the highest fixing point.
Together with the horizontal force H, this is also the point of the greatest vertical
force. In the case of the fixing between two posts of the same height, Fmax is at
fixing A and B.
uð AÞ ¼ arctanð2kxA Þ ¼ 7:125
ð6:34Þ
Using Table 6.1, select Duraskin B 4915 and calculate the mass of the canvas:
mcanvas ¼ 85:23 kg
ð6:35Þ
The snow load can be obtained from the table of the characteristic snow load (e.g.,
Table 6.2), published by authorised institutions. For the Slovenian coast for
example, the characteristic snow load equals 0.25 kN/m2.
6.1 Defining 2D CAD Curves with Explicit Equation…
143
Table 6.1 Material properties of some roof-canvas types [2, 3]
Manufacturer
Material
(fabric/coating)
Trade name
Tensile
strength [kN/
m]
Mass qcanvas g/m2
Verseidag
PET/PVC
60/60
800
4–5
Verseidag
PET/PVC
88/80
900
4–5
Verseidag
PET/PVC
115/102
1100
4–5
Verseidag
PET/PVC
149/128
1300
4–5
Verseidag
PET/PVC
196/166
1450
4–5
S. Ferrari
PET/PVC
60/65
750
4–5
S. Ferrari
PET/PVC
84/80
1050
4–5
S. Ferrari
PET/PVC
112/112
1050
4–5
S. Ferrari
PET/PVC
160/140
1350
4–5
S. Ferrari
PET/PVC
200/160
1500
4–5
Verseidag
Glass fib./PTFE
Verseidag
Glass fib./PTFE
Verseidag
Glass fib./PTFE
Verseidag
Glass fib./PTFE
Duraskin B
4951
Duraskin B
4617
Duraskin B
4915
Duraskin B
4681
Duraskin B
4092
Preconstraint
702 T2
Preconstraint
1002 T2
Preconstraint
1202 T2
Preconstraint
1302 T2
Preconstraint
1502 T2
Duraskin B
18,919
Duraskin B
18,039
Duraskin B
18,089
Duraskin B
18,059
Factor of
safety s
70/46
600
7
84/80
800
7
140/120
1150
7
160/140
1550
7
Fsnow ¼ 19:2 kN
ð6:36Þ
Calculate the total linear load by width:
q¼
85:23 kg 9:81 m/s2 þ 19:2 kN
¼ 2:5 N=mm
8021 mm
ð6:37Þ
H ¼ 79:93 kN
ð6:38Þ
Fmax ¼ 80:56 kN
ð6:39Þ
144
6 Controlling CAD Curves by Equations
Table 6.2 Characteristic snow loads in selected places in Slovenia
Station
Rateče
Ljubljana
Novo mesto
Kočevje
Celje
Maribor
Murska Sobota
Brnik
Bovec
Portorož
Bilje
Sources [4, 5]
Elevation [m]
Characteristic snow load qsnow kN/m2
864
299
220
461
244
275
188
384
453
92
55
5.5
3.0
1.7
3.3
1.4
1.5
1.4
2.1
3.3
0.25
0.25
Due to the shorter distance, a lower specific load is expected in the transverse
direction, compared to the longitudinal direction. Thus, it is advisable to turn the
canvas so that the less load-bearing fibres run width-wise:
Fallow ¼ 102 kN=m 9:66 m ¼ 985:3 kN
ð6:40Þ
With the manufacturer requiring a safety factor of between 4 and 5 for the
selected canvas, select s = 5 and calculate:
s Factual ¼ 5 80:56 kN ¼ 402:782 kN
ð6:41Þ
The results of the control show that the loads on the canvas in the transverse
direction, including the safety factor, are below the limit. Now also check the
situation in the longitudinal direction.
Control by length:
k ¼ 6:9633 106 mm1
ð6:42Þ
The greatest axial force on the rope/canvas occurs at the highest fixing point.
Together with the horizontal force H, this is also the point of the greatest vertical force.
In the case of fixing between two posts of the same height, Fmax is at the fixing B.
uðBÞ ¼ arctanð2kxB Þ ¼ 9:7
The canvas mass and snow load were defined in the previous step:
mcanvas ¼ 85:23 kg
Fsnow ¼ 19:2 kN
ð6:43Þ
6.1 Defining 2D CAD Curves with Explicit Equation…
145
Calculate the total linear load by length:
q¼
85:23 kg 9:81 m/s2 þ 19:2 kN
¼ 2:07 N=mm
9660 mm
ð6:44Þ
H ¼ 148:93 kN
ð6:45Þ
Fmax ¼ 151:093 kN
ð6:46Þ
Fallow ¼ 115 kN=m 8:021 m ¼ 818:14 kN
ð6:47Þ
In the longitudinal direction the actual loads on the canvas should also be
multiplied by the safety factor s = 5:
s Factual ¼ 5 151:09 kN ¼ 755:5 kN
ð6:48Þ
You can see that the longitudinal load on the canvas, including the safety factor
of 5, is also below the limit, which satisfies all conditions, and a model of a roof
canvas, based on the set equations, can now be created.
6.1.5
Creating a Model
Modelling will be performed on the model shown in Fig. 6.2. Open the model.
Begin with the parabola between the posts of the same height. To do so, create
an auxiliary plane and move it 200 mm from the posts towards the wall (Fig. 6.5).
As this is the exact distance at which the post’s rectangular base flange ends, you
can also sketch on its edge.
On the created plane, open a new sketch and draw an auxiliary line, running
from the ground up to the centre of the hole on the fixing loop of the canvas
(Fig. 6.7). The upper point of this auxiliary line will form the starting point of both
parabolas.
Now you need to draw the parabola according to Eq. 6.3. Use the curve-drawing
command:
Tools, Sketch Entities, Equation Driven Curve
As you can see in Fig. 6.6, the equations can be given in an explicit or a parametric
form. Given the fact that Eq. 6.3 is written in an explicit form, it will be entered as
such, whereas for the parameters x1 and x2, the values XA and XB with a proper sign
will be used.
Figure 6.6. reveals that the equation is set according to the coordinate origin of
the sketch, which requires the curve to be moved to the top of the auxiliary line, and
the highest lying points of the parabola be defined as lying horizontally, in order to
make the sketch fully defined (Fig. 6.7).
146
6 Controlling CAD Curves by Equations
Fig. 6.5 The auxiliary plane where the canvas roof will begin
Fig. 6.6 Writing the curve with the equation in an explicit form. The result is drawn directly on
the screen
In the same way, also create a parabola in the longitudinal direction:
• Create an auxiliary plane, running through the vertical construction line in
Fig. 6.7, orthogonally to the previously created auxiliary plane.
• On this plane—by means of an equation—create a parabola with the values k,
XA and XB for the parabola between two posts of different heights (Fig. 6.8).
• Set the height difference h between the extreme points of the parabola, which
fully defines the sketch. Close it.
6.1 Defining 2D CAD Curves with Explicit Equation…
147
Fig. 6.7 Fully defined sketch of the canvas-roof parabola
Fig. 6.8 Boundary parameters of the canvas parabola between two posts of different heights
Creating a surface
The surface will be created in the next step. The Swept Surface command for a
curve sweep will be used, as the Lofted Surface and Filled Surface commands
cannot be used. This is because they require both start and end contour and optional
guide curves, but in our case we have only the start contour and one guide curve.
Alternatively, we could use the Boundary Surface command.
148
6 Controlling CAD Curves by Equations
Fig. 6.9 Creating a surface using the Surface sweep command. On the left you can see the
surface, created when the plane of the profile sketch follows the path orthogonally; on the right the
profile plane maintains it direction
The Swept Surface command can be reached by selecting Insert, Surface,
Sweep… from the drop-down menu. Then select the first parabola sketch for the
profile and the other one for the path curve.
Before closing the command, let us take a look at Fig. 6.9. You can see that the
profile sketch in the example on the left adjusts its orientation to the guide curve,
whereas in the example on the right, it maintains its position. Given the fact that the
canvas sags vertically in the direction of gravity along its entire length, the second
solution will be used. Set it in Options, Orientation/twist type. Select Keep normal
constant and confirm the surface command.
The last step in this exercise is the surface sweep into a solid body of the canvas
thickness, 1 mm, for example. Use the surface-thicken command: Thicken. The
end result is shown in Fig. 6.10.
6.2
Defining 3D CAD Curves Using a Parametric
Equation: Design of a Tensile Spring Curve
In the previous section we learned how to enter into a modeller a 2D curve, given in
an explicit form. Rapid advancements in the development of products require a
constant improvement in optimisation. It requires a geometry that makes a product’s function follow physical laws from nature as closely as possible. These laws
are rarely written in a linear form or in a 2D form at best; to obtain an accurate
description, most natural laws should be dealt with in space. The simplest way to
6.2 Defining 3D CAD Curves Using …
149
Fig. 6.10 The end result of a simple canvas roof structure
write curves in a space form is to use parametric equations, which is possible in
most modern and high-quality CAD tools.
For the example of a spiral, we will show in this chapter how to determine a
curve in space by using equations. We will also explain how to—by means of
cross-referencing—attach equations to the existing geometric dimensions from any
sketch that was created earlier.
In the book Space Modeling with SolidWorks and NX [6] it was explained how
to create a spring model with known parameters and then using the wizard how to
create spiral curves. This is an excellent approach when you want to quickly create
a model of a curve with constant input parameters. If you wish the geometry of the
spring to be changing according to the distance between the bodies that this spring
connects, the geometry should be attached to the changeable input parameters—the
distance between the bodies. However, in this case the familiar approach will fail.
Since the solution where the spring is attached between the posts prevents its
torsional deformation, the spring diameter also changes together with the distance
between the bodies. It requires the geometric parameters to be mutually described
by equations.
The objective of this exercise is to create a model of an extension spring with the
prescribed dimensions and tighten it between the holders shown in Fig. 6.11. The
distance between the pins’ axes is can vary between 100 and 200 mm. At the pin’s
diameter 5 mm, L1 ¼ 105 mm and L2 ¼ 105 mm. See Fig. 5.12 for clarification.
The spring is made of d ¼ 2 mm wire, its length in a resting position is
Lk ¼ 40 mm, the inner diameter of one coil is Dm ¼ 30mm, and the spring has
n ¼ 19:5 coils. The length of the coil between the fixing hooks is L0 ¼ 74 mm
(Fig. 6.12).
150
6 Controlling CAD Curves by Equations
Fig. 6.11 Fastening places between which an extension spring is to be tightened as indicated
Fig. 6.12 Geometry of an extension spring
6.2.1
Setting Equations
The easiest way to design a spring to comply with the geometry of the assembly is
to describe the curve of the spiral using an equation of a curve in space, and attach
the equation to the distance between the fastening pins in the assembly. To this end,
a 3D space curve will be used. It is described with an equation (Equation Driven
6.2 Defining 3D CAD Curves Using …
151
Fig. 6.13 The input field for
the equation of a curve in 3D
space in parametric form
Curve) given in a parametric form (Fig. 6.13). This means that the change in the
geometry in all three Cartesian coordinates X, Y and Z will be expressed using a
new variable, i.e., the parameter t.
Since the spring diameter changes with stretching, you need to select a
stretching-independent value for the parameter by which the spring geometry will
be described. It could be either the length of the spring’s wire or the number of
coils, which will be used in this case. It means that you should set all three
parametric equations that will describe the curve of the coil in space according to
the number of coils. Hence, begin by setting:
t1 ¼ 0:0
t2 ¼ 19:5
Set the wire length in the coils. Calculate this using Eq. 6.49:
Lwire ¼
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
ðDm n pÞ2 þ ðLk d Þ2
ð6:49Þ
Inserting the spring values yields Lwire ¼ 1838:2 mm.
The parametric equations for the X, Y and Z components should also be set.
Describe the changes in the X and Y direction using a parametric equation of a
circle, where the rotation a is expressed by the coil parameter (Eqs. 6.50 and 6.51).
152
6 Controlling CAD Curves by Equations
X ¼ r cos a
ð6:50Þ
Y ¼ r sin a
ð6:51Þ
As a should be expressed in radians, it can be given by the parameter t, as
Eq. 6.52 reads:
a ¼ 2p t
ð6:52Þ
The value of the radius r that depends on a current length of stretch Li (Eq. 6.53)
is also determined by the parameter t. It is calculated from the wire length of a coil,
the height of a stretched spring and the number of coils, according to Eq. 6.54.
Li ¼ Ln 2LH d
r¼
1
2p n
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
L2wire L2i
ð6:53Þ
ð6:54Þ
Inserting Eq. 6.54 into Eqs. 6.50 and 6.51 yields a parametric form of the spiral
in the X and Y directions:
X ðt Þ ¼
1
2p n
Y ðt Þ ¼
1
2p n
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
L2wire L2i cosð2p tÞ
ð6:55Þ
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
L2wire L2i sinð2p tÞ
ð6:56Þ
Now we need an equation for the curve in the Z direction, written as being
dependent on the parameter t over the interval t1 to t2. Write it as a function of the
distance Li (Eq. 6.57).
Z ðt Þ ¼
6.2.2
Li
t
n
ð6:57Þ
Creating a Model
The CAD material for the execution of the examples in this chapter is available at:
http://www.lecad.fs.uni-lj.si/nmodeliranje/spring.zip2.
Since the geometry of the spring should be attached to the objects, shown in
Fig. 6.11, browse for and open the sestav-vzmet.sldasm file. The top-down
modelling technique will be required.
2
The material at the address above is intellectual property and can be used exclusively for educational purposes, to follow the exercises in this book.
6.2 Defining 3D CAD Curves Using …
153
The assembly has previously been set with the coordinate origin lying under the
axis, around which the activities will take place. When and if this is not the case, it
is recommended to move the assembly to a proper position, according to the global
coordinate origin. This is not absolutely necessary, but will make the modelling
easier.
Once the assembly is ready, create a new part (Insert, Component, New Part),
rename it (spring, for example) and save it. On the basic plane, where both pin axes
are lying (Top Plane), draw an auxiliary line, attached to both pins, as shown in
Fig. 6.14 and close the sketch. This is an important sketch because the geometry of
the rest of the assembly will be attached via it.
In the next step, create a new 3D sketch. First, draw the construction line,
lying on the previously drawn auxiliary construction line, shortened by the length L
′H (Fig. 6.12). It is calculated using Eq. 6.58 and equals 18 mm in our case.
L0H ¼ LH þ
d L0 Lk þ d
¼
2
2
ð6:58Þ
Indicate the dimension of the line length as a Driven dimension and write down
(or remember) its unique identification name (e.g., D3@3DSketch1). It is found in
the Primary Value field in the window on the left-hand side (Fig. 6.15). This
identification name is a reference that you can always use in another dimension or
Fig. 6.14 The sketch, via
which the spring’s stretch will
be attached to the space
between the holders
154
6 Controlling CAD Curves by Equations
Fig. 6.15 In the Primary Value section you can see the dimension indication that you will refer to
later
equation to call the current value of the driven dimension. Repeat the same also for
the dimension, indicating the length between the beginning of the drawn line and
the coordinate origin (Fig. 6.15).
All the data are now ready to create an equation-described 3D curve. Run the
Tools, Sketch Entities, Equation Driven Curve command. The window, shown in
Fig. 6.13 will open.
Set the parameters t1 and t2, representing the spring’s coil span.
t1 ¼ 0:0
t2 ¼ 19:5
6.2 Defining 3D CAD Curves Using …
155
For the parameters Xt, Yt and Zt insert the Eqs. 6.55, 6.56 and 6.57 in the
following forms:
Xt : 0:00816179 ð3;379;346:89 ð00D3@3DSketch100Þ^ 2Þ^ 0:5:5 cosð2 pi*tÞ
Yt : ð00D3@3DSketch100Þ^ 2Þ^ 0:5 sinð2 pi tÞ
Zt : ð00D3@3DSketch100Þ t=19:5
The form shows that the indication of the dimension should be written in
inverted commas, and a decimal point should be used as the decimal separator.
Only in this format will the software understand your data correctly.
Looking at the resulting curve (Fig. 6.16) reveals that the spiral begins on the
X axis, at the height of the coordinate origin. The figure shows that you should
move the curve by the height of the second auxiliary dimension. The curve should
also be rotated about its axis by 90°, in order to allow for the creation of fixing
loops. The rotation can be easily executed by swapping the equations Xt and Yt. It is
also recommended to move the spiral in the Z direction by adding a value of
43.5 mm. The best way to do this is to add an identification name to the Zt equation.
The final curve is shown in Fig. 6.17.
Fig. 6.16 A spiral curve
written by a parametric
equation
156
6 Controlling CAD Curves by Equations
Fig. 6.17 The final spiral
curve written by a parametric
equation
The final form of the parametric equations:
^
X t : 0:00816179 3;379;346:89 ð00D3@3DSketch100Þ^ 2 0:5 sinð2 pi tÞ
^
Y t : 0:00816179 3;379;346:89 ð00D3@3DSketch100Þ^ 2 0:5 cosð2 pi tÞ
Zt : 00D3@3DSketch100 t=19:5 þ 00D4@3DSketch100
Confirm the 3D sketch and close it. This is followed by curve sweep, according to the
procedure that is explained in more detail in the book Space Modeling with SolidWorks
and NX [6]. You need to create an auxiliary plane, lying orthogonally to the curve at its
origin. Draw a circle on the plane, with its centre on the curve, and the diameter being
the size of the wire diameter. The result of the sweep is shown in Fig. 6.18.
In the final step you need to create the spring fixing loops. Begin by creating a
guide curve. In the first step, create an auxiliary plane, parallel to the basic plane
(Top plane), running through the spiral’s end point. On the plane, draw the first part
of the loop, as shown in Fig. 6.19. Close the sketch.
Repeat for the second part of the curve, as shown in Fig. 6.20. Create a plane
through the endpoint of the new curve, parallel to the side plane (Right Plane) and
draw on it an arc with the origin in the previous sketch. Close this sketch, too.
6.2 Defining 3D CAD Curves Using …
157
Fig. 6.18 A model of a coil
spring created from a 3D
curve
Both curves drawn according to the above-described procedure need to be
merged into the guide curve of the curve sweep. To do this, use the command for
creating composite curves: Insert, Curve, Composite. Select the last two drawn
curves into the input field and confirm, which creates the sweep guide curve.
On the final surface of the created part of the spring, draw the remaining
cross-section of the wire to sweep, and then execute the curve sweep for the fixing
loop (Fig. 6.21).
Repeat the procedure on the other side of the spring, which concludes creating
the model and takes you back to the assembly. Figure 6.22 shows the final model in
two positions.
158
6 Controlling CAD Curves by Equations
Fig. 6.19 The beginning of the fixing loop curve
Fig. 6.20 The second part of
the fixing loop curve
6.3
Consolidation Tasks
The objective of the following tasks is to consolidate the knowledge about the
modelling products with equations. It allows the total control of the shape of the
product, which depends on specific mathematical and physical laws. Understanding
6.3 Consolidation Tasks
159
Fig. 6.21 Finished spring
fixing loop
Fig. 6.22 Final model of the
spring in the assembly’s two
positions
how to work with the curve and surface equations is therefore vital for all those
areas of mechanical engineering (and other technical sciences) where the shape of
the object is a function of physical laws. Examples can be found in the transport
industry (cars, aircraft, vessels), energy industry, etc.
160
6.3.1
6 Controlling CAD Curves by Equations
Creating Wind-Turbine Blades
You need to create a simple wind-turbine rotor with three blades and a prescribed
NACA 0014 profile. The following requirements should be fulfilled:
• The central point of the application of the forces along the entire length of the
blade should be on the first third of its profile (see Fig. 6.23);
• The effective working length of the blade is 12 m;
• The blade profile length at the hub is 750 mm;
• The blade profile length on its rim is 300 mm;
• The blade pitch is 25°.
Also create a suitable finishing for the blade, the rotor head and the connection
between the blade and the rotor (an example is show on Fig. 6.24).
Information about NACA profiles can be accessed at:
http://en.wikipedia.org/wiki/NACA_airfoil
http://airfoiltools.com/airfoil/naca4digit.
Tip:
To close the blade profile, take account of the corrected equation for the NACA
wing profile, and replace factor −0.1015 by factor −0.1036. You can also close the
profile by using the spline function and setting a proper continuity.
6.3.2
Designing a Headlamp
Create a 3D model of a reflector headlamp for the bulb, accessible at the website
address below. Design the headlamp’s parabola so that the light beam from the
headlamp will be parallel—the source of light should be at the focus of the parabola. The effective diameter of the headlamp should be D ¼ 160 mm. Also create
Fig. 6.23 NACA 0014 blade profile. The central point of the application of the forces is along the
entire length of the blade on the first third of its profile
6.3 Consolidation Tasks
161
Fig. 6.24 Wind blade rotor
the auxiliary functionalities. Pay attention to the assembly and replacing the bulb.
An example of the headlamp is shown in Fig. 6.25.
http://www.lecad.fs.uni-lj.si/nmodeliranje/bulb.zip3.
6.3.3
Creating a Conical Spring
Modify the case study from Sect. 6.2 so that the spring will have conical coils, and
design the fixing loops so that their height will remain unchanged. At one end, the
coil diameter is Dm1 ¼ 30 mm, and at the other end, Dm2 ¼ 20 mm. Other data are
the same as for the above example.
6.3.4
Creating a Compression Spring
Create a CAD model of a compression coil spring, inserted between two plates and
adjusted to the space between them, as shown in Fig. 6.26.
3
The material at the above address is intellectual property and can be used exclusively for educational purposes, to follow the exercises in this book.
162
6 Controlling CAD Curves by Equations
Fig. 6.25 A headlamp design with the effective diameter of the parabola D ¼ 160 mm
Fig. 6.26 A model of a
compression spring that is
mounted between two plates
6.3 Consolidation Tasks
163
Spring data:
•
•
•
•
•
•
Maximum span L1 ¼ 70 mm,
Minimum span L2 ¼ 40 mm,
Wire diameter d ¼ 2:5 mm,
Resting spring length Lk ¼ 90 mm,
Inner spring diameter Dm ¼ 35 mm,
Number of coils n ¼ 10:5.
References
1. Cvetaš F (1996) Statika. Tehniška založba Slovenije, Ljubljana
2. Online catalogue of architectural membranes (2018) Verseidag. http://www.verseidag.de/de/
duraskin/architektur/membranen. Accessed 10 Apr 2018
3. Online catalogue of architectural membranes (2018) Serge Ferrari. https://www.sergeferrari.
com. Accessed: 10 Apr 2018
4. Klimatografija slovenije - karakteristična snežna obtežba (2002) Slovenian Environment Agency
http://www.arso.gov.si/vreme/poročila%20in%20projekti/državna%20služba/Karakteristicna_
snezna_obtezba.pdf. Accessed 10 Apr 2018
5. Beg D, Pogačnik A (2009) Priročnik za projektiranje gradbenih konstrukcij po evrokod
standardih. Inženirska zbornica Slovenije, Ljubljana
6. Duhovnik J, Demšar I, Drešar P (2015) Space modeling with solidworks and NX. Springer,
Heidelberg. https://doi.org/10.1007/978-3-319-03862-9
Chapter 7
Introduction to Reverse Engineering
Abstract Reverse engineering has been practised since the beginning of technology. Fundamentally, it is about the identification of existing technical and natural
solutions, and their reconstruction into new, identical or even improved technical
solutions. Over the years it has flourished systematically, thanks to the development
of new and technologically increasingly advanced and economically affordable
measuring procedures, which allows the accurate reconstruction of not only technical principles but also detailed shapes and dimensions. This chapter explains the
position of reverse engineering in the modern design and development process. It
also introduces the main measuring methods for capturing data on the geometry of
physical objects. These methods are divided into groups, depending on how they
work and the physical laws on which they are based. We also present the main
advantages and disadvantages of particular groups of methods, and recommendations for their application where the best results can be achieved.
Since the earliest times, people have striven to evaluate in the best possible way the
shape of objects from nature. To do so they have used a wide variety of tools and
methods: measuring, sketches, drawings, and, most recently, photographs. The
development of measuring techniques in the past few decades, supported by
increasingly capable computer systems, has opened up new possibilities and set
new goals in terms of the quality and quantity of data and the possibility to describe
increasingly complex shapes. Today’s technology already allows the capturing and
computerised data processing of the shapes that do not follow any geometric rules.
This fact allows a breakthrough in the development of many sciences: medicine,
especially rehabilitation after injuries, surgery, plastic and aesthetic surgery, oral
medicine and also forensic science [1–5]. Many other medical sciences have also
been using surface reconstruction to simulate medical interventions or to improve
the results of medical treatments. In archaeology and restoration, the method is used
to create reproductions and reconstructions of historical heritage [6, 7], as well as to
establish virtual museums [8, 9]. The entertainment industry, including the film and
video-game industries, and cartography are two other commercial areas where
capturing surface-shape data plays an important role.
© Springer Nature Switzerland AG 2019
N. Vukašinović and J. Duhovnik, Advanced CAD Modeling,
Springer Tracts in Mechanical Engineering,
https://doi.org/10.1007/978-3-030-02399-7_7
165
166
7 Introduction to Reverse Engineering
In the technical areas of design, manufacturing and control it is also becoming
increasingly important to have constant access to the best-possible information on
products that are being developed, manufactured or tested. It also includes information on the shape of these objects. In terms of the properties of objects, many
different methods have been developed for measuring their shapes; they make use
of a variety of physical and even chemical principles that are specific to particular
objects [10]. Some of the significant ones will be presented below, and some of
them will be explained in more detail.
A non-contact method that is increasingly being used to measure the shape of a
body is the optical method, based on the principle of the triangulation of a laser
beam (point method) or a laser light plane (plane method). This principle allows the
quick and accurate capturing of a large volume of data on the shape of measurands.
With the rapid development of the equipment for processing these data and due to
the simplicity of the principle, the method is quickly establishing itself in the
modern engineering world. In fact, it can be said that it has entered the mature phase
of development and use.
Measuring the shape of surfaces, performed at the LECAD laboratory at the
University of Ljubljana’s Faculty of Mechanical Engineering, has shown that the
physical (especially optical) properties of laser triangulation pose a major obstacle
to the capturing of high-quality surface shapes. The method is particularly sensitive
to the reflective properties of surfaces, as changes in the colour, transparency or
diffusion of the reflection have a major impact on the measuring conditions and
consequently on the results. The other two factors with a major effect on the quality
and quantity of the captured data are the geometry—the distance between the sensor
and the measured surface—and the angle between the surface and the measuring
plane.
The requirement for a good understanding of all these factors increases the
complexity of the measuring process, which requires a highly trained user for the
triangular measuring system. This discourages a wider circle of users and designers
in the development and design process from using the method. To reach all
potential users who are not familiar with the background details and the principles
of the measuring principle, the ultimate goal for the manufacturers of optical
measuring systems is to come up with a product that will allow the simple and
quick capturing of high-quality data on the shape of any surface, and be compatible
with plug-and-play computer software, as is usually the case with other computer
hardware.
To achieve this would require a mathematical model or an expert system to
replace the skills and role that are now with the user of such measuring equipment.
The system should automatically recognise the factors affecting the measuring,
choose the optimum measurement settings and, if necessary, warn the user of
possible errors, risks or deficiencies before the measuring process or after it.
Ultimately, such a system should follow the conditions on the measured surface
and automatically adjust the settings to the measurement conditions. The path of the
measuring system should adjust to the measured surface according to the data that is
received by the measuring system. The existing research and development in this
7 Introduction to Reverse Engineering
167
area focus on creating measurement paths that are based on existing CAD models of
measurands [11, 12]. However, this approach is efficient only for production
control, while it becomes deficient or even useless when we want to capture the
geometry of complex surfaces, the CAD models for which are not available.
To establish such a system we need to be familiar with all the key factors
affecting the course and the results of the measuring, and to be able to recognise and
assess all their interactions. Only once we are familiar with this information can we
provide the users of measuring systems with simple measuring.
These factors can be divided into the equipment-related ones, and those caused
by the measured surface, geometry and their interaction. It is close to impossible to
determine all the common characteristics for the first group due to a practically
indefinite number of measuring systems’ combinations, while at the same time the
assessment of these properties is generally accurately enough provided by the
manufacturers of measuring components. Therefore, our focus is on the properties
that are independent of the use of a particular piece of measuring equipment. This
mainly includes the optical properties of the measured surface, and to a certain
degree also its shape or geometry [13–16].
7.1
Capturing Data on the Shape of Surfaces as Part
of the Development and Design Process
Let us first position the capturing of the surface shape data in the development and
design chain, and within it, in the process of surface reconstruction from a physical
object to a computer 3D model. Understanding the position and principles of the
surface-reconstruction phases is vital for both choosing the right moment and
approach to reconstruction from the viewpoint of the entire development and design
process, as well as for choosing the right surface-reconstruction procedure and
creating a CAD model.
The modern development and design process involves a few phases (loops, to be
precise, as the phases are usually iterative processes) [17]. These phases have a
dramatic impact on the product’s life cycle. A clever design and development
process can yield significant savings throughout the product life cycle, and modifications to the product are generally the cheapest when they are made during the
development phase. For these reasons, this step should be approached systematically and carefully. Capturing data on the geometry of a physical body as part of the
surface reconstruction is a tool of the design and development process, and can be
included in all the steps of the design process, or wherever in the design’s golden
loop. A good understanding of this tool can yield significant savings and
improvements within a short period of time.
In terms of application, capturing data on the shape of surfaces can be divided
into two main categories. The first one is shape control. It is normally used to
control the geometry of products that are made on the basis of a 3D computer
168
7 Introduction to Reverse Engineering
model. This category requires high accuracy of the captured data. They are generally not subject to further processing; instead, the measured data are immediately
matched against the original CAD model [18–20]. This applies in particular to the
control of individual products, when more time is available to make calculations
and analyses. When control is part of the production line of serial products, it
should be planned in advance which data and in what quantity are required, in order
not to capture irrelevant data that should be excluded after the measuring.
Otherwise, it would slow down the control and, consequently, the production line.
It is this reason that makes the proper selection of data and their high-quality
capture a vital issue.
The other popular category is surface reconstruction. Its goal is creating a 3D
computer model—a parametric one, if possible—based on physical objects from the
environment. The applicability of this category was indicated at the beginning of
this chapter. It comes into consideration when no technical documentation is
available for the production of an existing physical object, for example, a replica or
a copy of such an object. The areas of reverse engineering and rapid prototyping
mostly deal with this issue [21–24]. It is also useful for the numerical analyses of
objects in the physical environment, such as broken or defective machine elements,
for which no workshop documentation is available. In this case it is vital to obtain
accurate data on the geometry of such an element in the form of a 3D CAD model,
on which a structural analysis is performed. If an analysis requires changes in the
geometry of the machine element, it can be performed on the obtained 3D CAD
model. This is followed by making a new part; either by means of a rapid prototyping technology or a conventional manufacturing method. A diagram of the
process is shown in Fig. 7.1. You can see that the surface reconstruction is just one
step of the reverse engineering.
Surface reconstruction is also used by industrial designers to digitise the physical
—mostly plaster or clay—sculptures of objects that are used for the purpose of
developing the shape of new products.
Let us now take a look at the surface-reconstruction process from a physical
object to a 3D model on the computer (Fig. 7.2):
We will enter the process with two systems that have some effect on further
activities and the results. The first system—the one of the most interest—is an object
that you would like to measure and acquire the data relating to its shape. The other
system is the measuring equipment by means of which you would like to achieve
that. How the steps that follow will perform depends on their mutual compatibility.
Fig. 7.1 Steps involved in reverse engineering (adapted from [25])
7.1 Capturing Data on the Shape of Surfaces …
169
Fig. 7.2 Iterative process of surface reconstruction from a physical object to a computer 3D
model Source Vukašinović et al. [26]
Data acquisition is the first step. This is a phase of active interaction between both
systems. It results in raw data, mostly in the form of a point cloud. If necessary and
depending on the measuring equipment and measuring conditions, additional data
can be acquired, such as the surface colour at each point, etc. This is followed by
checking and processing the measured information. It includes accurate placing of the
data into space, eliminating the irrelevant data, smoothing the points, i.e., reducing
the noise, merging the individual records and creating surfaces. The order of these
tasks can change, and some tasks can be repeated. The final result is either a surface
—if you wish to create a CAD model—or a consolidated point cloud, when data are
required to control the quality of a surface or its geometry. It is during this step that a
decision is made about re-measurements, changing the measurement settings or the
position of the measurement device relative to the object. When the acquired and
processed data satisfy your requirements, you can move on to the next step of the
surface reconstruction, creating a 3D CAD model, and, if necessary and possible, its
parameterisation. Depending on the prevailing geometry of the measured surfaces,
choose a suitable method for creating the CAD model (Fig. 7.3). In most cases you
first need to make a good triangle mesh from a point cloud. An advantage of a mesh
over points is that points cannot be assigned a direction (normal) that would define
the orientation of the surface. The next step involves an iterative process of adjusting
the parametric objects to the triangle mesh. Depending on the geometry of the
measured surface and the selected method, the following can be used as the building
blocks: (1) surface or volume geometric primitives, suitable for describing measurands with a prevailing prismatic geometry; (2) parametric surfaces, more suitable for
describing freeform surfaces and complex geometries from nature; (3) characteristic
profiles—contours—the most suitable for the products, designed by means of
extrusion and continuous transitions between characteristic cross-sections. A practical
use of all three procedures is shown in Chap. 10. Practical examples can easily reveal
the complexity of this step for surface reconstruction [27, 28].
This is an iterative process of data acquisition and processing; however, our goal
is to reduce as much as possible the number of iterations, which would yield a
significant reduction in the time from the entry to the exit from the iterative loop. It
should be noted that reducing the number of iterative loops not only eliminates the
170
7 Introduction to Reverse Engineering
Fig. 7.3 Selecting a method and a process of CAD model reconstruction from a point cloud,
according to the prevailing geometry of the measurand and the characteristics of the CAD building
blocks: (1) surface or volume geometric primitives are suitable for describing measured,
geometrically regular objects; (2) parametric surfaces—patches—are suitable for describing the
geometry of measurands with freeform surfaces and complex geometries from nature;
(3) characteristic profiles—contours—are the most suitable means of reconstructing the products,
designed by means of extrusion and continuous transitions between characteristic cross-sections
execution time for this loop but also the time required for the mutual processing of
the data that is included in the loop. This time increases exponentially with the
number of loops, due to the increase in the volume of data and the number of
interactions between the results of individual measurements.
As an illustration of the importance of high-quality data acquisition, let us take a look
at Fig. 7.4. It shows a surface reconstruction, based on point clouds, recorded for
different surface-reflection properties. The figure shows the result of surface reconstruction of the same object, i.e., a round steel bar. In the first instance it was scanned in
its natural state, and then again covered by a white dust veil that changed the reflection
properties. It is easy to see in Fig. 7.4 a difference between the number and the distribution of the captured data. This distribution shows in irregularities, gaps and other
anomalies on the generated triangle mesh that follows the surface reconstruction.
7.2
Current Situation in the Field of 3D Body Shape
Capturing
It has been noted that the selection of a measurement method depends on the
physical and chemical properties of the object to be measured, and on the range of
data we wish to acquire. An overview of the most frequently used methods of
7.2 Current Situation in the Field of 3D Body Shape Capturing
171
Fig. 7.4 Comparison between reconstructing the same surface (a round steel bar), recorded at
different surface reflections. In the first case a the surface was measured in its natural state, while in
the other case b it was covered by a white dust veil that changes the surface’s optical properties. In
both cases the reconstruction was performed under identical conditions and settings
measuring the geometry of objects is shown in Fig. 7.5. The methods are also
arranged by the type of the physical principles on which the data acquisition is
based.
The first, rough division divides the methods into the passive and active ones,
with the passive ones only capturing information from the environment, and the
active ones sending their own source of energy into the environment and monitoring the response. In other words, passive systems are based on searching for
information in the environment, while active methods recognise changes in the
relation between the transmitted energy into the environment, and the received
energy. Science and all the areas where a high accuracy of measured data is
required increasingly use active methods, because the acquired data should be
accurately evaluated, and the easiest way to do it is by normalizing the released
energy. On the other hand, passive methods are establishing themselves in the
entertainment industry, where any interference with the monitored space is often
undesirable, and there is no need for high accuracy or calibrated results.
The next division is dividing the active methods into contact and non-contact
methods. This is an important division, both in terms of the physical operation
principle and the acquired data. The name itself indicates this division is about
methods that require physical contact with the measurand. They include coordinate
measuring machines, i.e., CMMs (Fig. 7.6), mechanical arms (Fig. 7.7a) and
robotic arms. For their functioning, mechanical arms require an outside source for
guiding, which is often provided by the operator, working with the device. Robotic
arms, on the other hand, are similar to the mechanical ones in terms of their
structure; however, they have their own drives, allowing the movement of all its
joints, which makes them less sensitive to weight and, as such, more robust. CMMs
are also motorised, and what makes them different from robotic arms is the mode of
travel. While the movements of robotic (and mechanical) arms in space are based
172
7 Introduction to Reverse Engineering
Fig. 7.5 Classification of shape-capture methods Source Vukašinović et al. [26]
on the coordinated rotation of the arm’s elements, CMM machines operate on the
principle of a linear path for the travel, usually in all of the three main coordinates in
space. To improve access to the measured surfaces, one or more rotary axes can be
added. In terms of the accuracy of the captured data, CMMs are considered the most
accurate, followed by robotic arms and mechanical arms. The latter are a whole
class below the accuracy of CMM measurements. These three devices belong to
contact methods, as all of them were originally designed for working with contact
sensors and probes. Providing immediate information on the position and
7.2 Current Situation in the Field of 3D Body Shape Capturing
173
orientation of the sensor in space, these devices can also be used as platforms for
use with non-contact sensors, which will be explained later in the text.
Contact methods require a physical contact with the surface, which has its
advantages and disadvantages:
+ higher accuracy by about one class, compared to non-contact methods,
+ repeatability of the measurements,
+ automated measurement (robotic and CMM systems),
+ precisely identifiable position of the measurement,
− possible scratching of measured surfaces,
− capturing speed,
− point density.
Together with the above-mentioned deficiencies, contact methods are also very
limited in terms of quality control during the manufacturing process [29, 30].
A high level of automation is required [31], and any contact between the measuring
equipment and the product can be very disturbing or even harmful to the product or
the equipment. One such example is soft surfaces, where the mechanical arm left
scratches, as shown in Fig. 7.7. These problems led to the development of many
non-contact methods.
Non-contact methods can be grouped by different criteria. One of them is the
method of capturing and presenting the data: as individual points, as linear sets of
points, or as a mesh of points. This division benefits the user, whose decision
Fig. 7.6 A CMM for
measuring the geometry of
objects
174
7 Introduction to Reverse Engineering
Fig. 7.7 a A terracotta figurine, whose surface has been captured by a Faro Gold mechanical
measurement arm. Irreparable damage is visible in the form of scratches, caused by the probe
stylus gliding over the surface; b a mesh of 31,563 points, obtained by mechanical arm
measurement. A non-uniform distribution of the captured points is also noticeable
depends on which data are needed; however, it tells too little about the physical
principles of these methods.
For this reason it is better to group the non-contact methods by the type and
energy output that they are based on. There are reflective methods, where changes
in the surface reflection are measured, and transmissive methods, where we track
the proportion of energy that penetrates the measured body, and what is happening
to it. This category includes computed tomography (industrial CT). As they cannot
be included in the first two categories, the third category includes magnetic
methods. They track changes in the magnetic field and its anomalies around or
within an object and based on them reconstruct the geometry of the object.
An advantage of transmissive methods is that they also allow measuring the
inside shape of objects, such as human or animal internal organs, or cavities in
alloys; in short, the structures with no direct access from the vicinity of the measurand. Their disadvantage are weight, affordability and safety during use. Due to
the strong sources of power, they can also change or damage the measured tissue or
material. Similar restrictions also apply to magnetic methods, mostly useful for the
analysis of metallic materials.
Reflective methods require weaker sources of energy. This is usually light
waves, but other types of energy are also used, such as sound waves or microwaves.
Optical methods are the most widespread, but also the most diverse. They use
different light phenomena, such as the refraction of light, reflection, interference,
etc.
Research into body-shape capturing has shown that non-contact methods in the
future will mostly develop in the area of achieving the highest possible accuracy by
means of increasingly accurate sensors and the optimisation of measuring
7.2 Current Situation in the Field of 3D Body Shape Capturing
175
parameters, while in the case of contact methods, the accuracy, as well as the
efficiency and speed of their measurements, will continue to improve. The latter will
take place as a combination of contact and non-contact methods [32, 33]. The areas
requiring higher accuracy will be measured by the measuring system’s contact
probes, while the areas requiring higher point density or capturing speed, but lower
tolerances, will be measured by non-contact probes. The use of non-contact probes
on the platforms in the above-mentioned contact method category (e.g. CMMs or
mechanical arms) has been very widespread from the very beginning, as measuring
more complex surfaces requires measurements from several angles in order to cover
the entire surface. Successful merging of the individual records requires information
about the position and orientation of the measuring probe in space, which the said
platforms provide [31, 34–38].
References
1. Kai CC, Meng CS, Ching LS et al (2000) Facial prosthetic model fabrication using rapid
prototyping tools. Integr Manufact Syst 11(1):42–53. https://doi.org/10.1108/095760600
10303668
2. Duhovnik J, Kljajin M, Opalić M (2009) Inženirska grafika. Fakulteta za strojništvo,
Ljubljana
3. Kusnoto B, Evans CA (2002) Realibility of a 3d surface laser scanner for orthodontic
applications. Am J Orthod Dentofac Orthop 122:342–348. https://doi.org/10.1067/mod.2002.
128219
4. Thali MJ, Braun M, Dirnhofer R (2003) Optical 3d surface digitizing in forensic medicine: 3d
documentation of skin and bone injuries. Forensic Sci Int 137:203–208. https://doi.org/10.
1016/j.forsciint.2003.07.009
5. Chua CK, Chou SM, Ng WS et al (1998) An integrated experimental approach to link a laser
digitiser a CAD/CAM system and a rapid prototyping system for biomedical applications.
Int J Adv Manufact Technol 14:110–115. https://doi.org/10.1007/BF01322219
6. Bradshaw G, Moss R (1999) Towards a prototype for the collection of digital medieval
moulding profiles. In: Proceedings of the fifteenth annual CHArt conference held at the
University of Glasgow
7. Bernard A, Laroche F, Ammar-Khodja S, Perry N (2007) Impact of new 3D numerical
devices and environments on redesign and valorisation of mechanical systems. Ann CIRP
Manufact Technol 56(1):143–148. https://doi.org/10.1016/j.cirp.2007.05.035
8. Pieraccini M, Guidi G, Atzeni C (2001) 3D digitizing of cultural heritage. J Cult Heritage
2:63–70. https://doi.org/10.1016/S1296-2074(01)01108-6
9. Chow S-K, Chan K-L (2009) Reconstruction of photorealistic 3D model of ceramic artefacts
for interactive virtual exhibition. J Cult Heritage 10:161–173. https://doi.org/10.1016/j.culher.
2008.08.011
10. Vacharanukul K, Mekid S (2005) In-process dimensional inspection sensors. Measurement
38:204–218. https://doi.org/10.1016/j.measurement.2005.07.009
11. Lee KH, Park H, Son S (2001) A framework for laser scan planning of freeform surfaces. Int J
Adv Manufact Technol 17:171–180. https://doi.org/10.1007/s001700170187
12. Son S, Kim S, Lee KH (2003) Path planning of multi-patched freeform surfaces for laser
scanning. Int J Adv Manufact Technol 22:424–435. https://doi.org/10.1007/s00170-0021502-0
176
7 Introduction to Reverse Engineering
13. Vukašinović N, Bračun D, Možina J, Duhovnik J (2010) The influence of incident angle,
object colour and distance on CNC laser scanning. Int J Adv Manufact Technol 50:265–274.
https://doi.org/10.1007/s00170-009-2493-x
14. Vukašinović N, Korošec M, Duhovnik J (2010) The influence of surface topology on the
accuracy of laser triangulation scanning results = vpliv topologije površine na natančnost
meritev z laserskim triangulacijskim merilnikom oblike površin. Strojniški vestnik 56(1):23–30
15. Vukašinović N, Bračun D, Možina J, Duhovnik J (2012) A new method for defining the
measurement uncertainty model of CNC laser-triangulation scanner. Int J Adv Manufact
Technol 58(9):1097–1104. https://doi.org/10.1007/s00170-011-3467-3
16. Vukašinović N, Možina J, Duhovnik J (2012) Correlation between incident angle,
measurement distance, object colour and the number of acquired points at CNC laser
scanning. Strojniški vestnik 58(1):23–28. https://doi.org/10.5545/sv-jme.2011.053
17. Duhovnik J, Balić S (2004) Detail functionality analysis using the design golden loop. In:
Proceeding of the conference, EDIProD’2004, Zielona Gora
18. Son S, Park H, Lee KH (2002) Automated laser scanning system for reverse engineering and
inspection. Int J Mach Tools Manuf 42:889–897. https://doi.org/10.1016/S0890-6955(02)
00030-5
19. Chang C-C, Li Z, Cai X, Dempsey P (2007) Error control and calibration in three-dimensional
anthropometric measurement of the hand by laser scanning with glass support. Measurement
40:21–27. https://doi.org/10.1016/j.measurement.2006.05.006
20. Martinez S, Cuesta E, Barriero J, Alvarez B (2010) Analysis of laser scanning and strategies
for dimensional and geometrical control. Int J Adv Manufact Technol 46(5–8):621–629.
https://doi.org/10.1007/s00170-009-2106-8
21. Wang G-J, Wang C-C, Chuang SHF (1999) Reverse engineering of sculptured surfaces by
four-axis non-contacting scanning. Int J Adv Manufact Technol 15(11):800–809. https://doi.
org/10.1007/s001700050135
22. Page D, Koschan A, Sun Y, Abidi M (2003) Laser-based imaging for reverse engineering.
Sens Rev Special Issue Mach Vis Laser Scanners 23(3):223–229
23. Yao AWL (2005) Applications of 3D scanning and reverse engineering techniques for quality
control of quick response products. Int J Adv Manufact Technol 26:1284–1288. https://doi.
org/10.1007/s00170-004-2116-5
24. Willis A, Speicher J, Cooper DB (2007) Rapid prototyping 3D objects from scanned
measurement data. Image Vis Comput 25:1174–1184. https://doi.org/10.1016/j.imavis.2006.
06.011
25. Soković M, Kopač J (2006) RE (reverse engineering) as necessary phase by rapid product
development. Int J Mach Tools Manuf 175:398–403. https://doi.org/10.1016/j.jmatprotec.
2005.04.047
26. Vukašinović N, Kolšek T, Duhovnik J (2007) Case study—surface reconstruction from point
clouds for prosthesis production. J Eng Des 18(5):475–488. https://doi.org/10.1080/
09544820701403805
27. Budak I, Hodolić J, Soković M (2005) Development of a programme system for data-point
preprocessing in reverse engineering. J Mater Process Technol 162–163:730–735. https://doi.
org/10.1016/j.jmatprotec.2005.02.214
28. Budak I, Soković M, and Hodolić J (2007) Implementation of innovative procedure for error
estimation in cross-sectional data-point reduction in reverse engineering. Int J Total Qual
Manag Excellence 35(1–2)
29. Bračun D, Gruden V, Možina J (2008) A method for surface quality assessment of
die-castings based on laser triangulation. Meas Sci Technol 19:1–8. https://doi.org/10.1088/
0957-0233/19/4/045707
30. Shiou FJ, Pfeifer T (2002) Strategies and processes to measure the dimensional geometry of
sheet metal parts for exact laser cutting. Int J Adv Manufact Technol 15:800–809
31. Shiou FJ, Chen M-J (2003) Intermittent process measurement of a freeform surface profile
with circular triangulation laser probe on a machining centre. Int J Adv Manufact Technol
21:365–376. https://doi.org/10.1007/s001700300042
References
177
32. Li Y, Gu P (2004) Free-form surface inspection techniques state of the art review. Comput
Aided Des 36:1395–1417. https://doi.org/10.1016/j.cad.2004.02.009
33. Zexiao X, Jianguo W, Quimei Z (2005) Complete 3D measurement in reverse engineering
using a multi-probe system. Int J Mach Tools Manuf 45:1474–1486. https://doi.org/10.1016/j.
ijmachtools.2005.01.028
34. Shiou FJ, Ali YC (2005) Development of a non-contact multi-axis reverse engineering
measurement system for small complex objects. In: Publishing Journal of Physics:
Conference Series 13, 7th international symposium on measurement technology and
intelligent instruments, pp 419–425
35. Fan KC (1997) A non-contact automatic measurement for free-form surface profiles. Comput
Integr Manufact Syst 10(4):277–285. https://doi.org/10.1016/S0951-5240(97)00020-7
36. Zexiao X, Quimei Z, Guoxiong Z (2004) Modelling and calibration of a structuredlight-sensor-based five-axis scanning system. Measurement 36:185–194. https://doi.org/10.
1016/j.measurement.2004.05.003
37. Zexiao X, Chengguo Z, Quimei Z, Guoxiong Z (2005) Modelling and verification of a
five-axis laser scanning system. Int J Adv Manufact Technol 26:391–398. https://doi.org/10.
1007/s00170-004-2106-7
38. Huang SJ, Lin CC (1997) A three-dimensional non-contact measuring system. Int J Adv
Manufact Technol 13:419–425. https://doi.org/10.1007/BF01179037
Chapter 8
Tactile 3D Geometry Measurments
and CAD Application
Abstract This chapter deals with acquiring information about the shape of products by means of contact measuring devices. The objective of such measurements
usually involves remanufacturing or changing the 3D models of an object, and
controlling the geometric accuracy of the product, compared to its 3D model.
Several types of measuring devices, sensors and their functioning are presented. As
an example, a physical product—an automotive cooling thermostat—is measured
and a unique new model is created on the basis of the measured data. We present
the correct use of a mechanical measurement arm to capture data on the geometry of
an example product. The acquired data then serve as a basis for modelling a
complementary part that is intended to retrofit the existing measured component.
In the previous chapter the expert background and the role of measuring systems in
the development and design process was explained. The objective of this and the
next chapters is to guide the engineer/reader also through a practical experience of
performing measurements and using the obtained data for the development of a new
product that is based on an existing geometry.
This chapter deals with acquiring information about the shape of products using
contact measuring devices. The objective of such measurements usually involves
remanufacturing or changing the 3D models of an object, and controlling the
geometric accuracy of the product, compared to its 3D model. Several types of
measuring sensors and their functioning will be presented, a product will be
measured and a model will be created on the basis of the measurements. We will
present the correct use of a mechanical measurement arm to capture data on the
geometry of a product, given as an exercise. The acquired data will then serve as a
basis for modelling.
© Springer Nature Switzerland AG 2019
N. Vukašinović and J. Duhovnik, Advanced CAD Modeling,
Springer Tracts in Mechanical Engineering,
https://doi.org/10.1007/978-3-030-02399-7_8
179
180
8.1
8
Tactile 3D Geometry Measurments and CAD Application
Contact Measuring Systems
The accurate measurement of shapes requires more than measuring hand tools, such
as rulers and measurement gauges, as a high data density is often required. To do
this, other tools are needed. In the previous chapter we introduced several established procedures for capturing data on the geometry, based on capturing the space
coordinates of the measuring probe or stylus at the contact with the surface of the
measurand. The most widespread contact measuring systems include mechanical
arms and coordinate measuring machines (CMMs). Mechanical arms work on the
principle of mutual (relative) rotations of the arm’s elements. They are usually
guided by the operator. Such devices are normally simpler, lighter and more
affordable; however, they provide lower accuracy and repeatability compared to
CMMs. These are motorised and work on the principle of linear travel, usually in all
of the three main coordinates in space.
In recent years the development of automated devices (as well as industrial
robots and machine tools) has focused on parallel kinematic mechanisms (Fig. 8.1).
In conventionally built machines their working axles follow one another, in some
cases they are required to be orthogonal to one another (CMM), and there are often
counter-weight-related issues in both robotic and mechanical arms. In parallel
kinematic mechanisms, links between the working head and the surface are parallel.
Clever design will prevent the problems of counter-weight and error accumulation;
however, the machine control requires complex algorithms, as all drives need to
Fig. 8.1 Renishaw
Equator PKM measuring
device for measuring the
shape of objects
8.1 Contact Measuring Systems
181
move in a synchronized way to facilitate the head movement along a single
Cartesian coordinate direction.
8.2
Measurement Arm
Below we will focus primarily on mechanical measurement arms (Fig. 8.2). They
allow simple and intuitive measurements of the geometry of objects in 3D space. Of
all the mentioned 3D contact measuring methods, this is the most affordable, and it
is very easy to upgrade with non-contact measuring sensors. They will be dealt with
later.
A measurement arm calculates the position of a point in space on the basis of
known and fixed lengths of its segments, and relative changes in the angles of the
joints between them. The angles change while the arm travels in space and the
system measures them in real time by means of installed rotational sensors. On a
Fig. 8.2 Faro Gold
mechanical measurement arm
for measuring the shape of
objects
182
8
Tactile 3D Geometry Measurments and CAD Application
mechanical arm there are 6 or 7 serially connected joints with rotational sensors.
This allows any position of the measuring stylus and its orientation in the measuring
area, which is a very favourable feature for measuring geometrically complex
objects.
A problem with serially connected sensors is the accumulation of errors,
occurring at individual joints, which can then result in a considerable cumulative
error. To reduce the measuring error, it is vital to understand the physical and
mathematical principles on which these measuring systems work.
The measuring error can be significantly reduced if the rotational movements of the measurement arm are reduced to a minimum. While measuring is
in progress, you should also be careful not to support the measurement arm with
large area of your body and to hold the arm at the designated places. It is important
to keep the temperature of the measurement arm and its parts during the entire
process as constant as possible; this is in order to prevent linear thermal expansion.
Let us take a hypothetical example of a medium-sized measurement arm, built of
aluminium joints and with an operating measuring radius of 2000 mm. If an arm
that is calibrated at 22 °C is warmed by your body to 32 °C, this will cause thermal
extension and an error of up to 0.5 mm.
Various measurement sensors and probes can be attached to a measurement arm.
Together with the above-mentioned non-contact sensors, there are many varieties of
passive and active contact probes. With active probes the system automatically
captures a point when the probe touches the surface of the measurand, while with
passive probes (measuring tips) you need to select a point on the surface and
confirm it manually.
Figure 8.3 shows different types of measuring styli. These styli can be either
conical or spherical. Conical styli should lean against the surface as orthogonally as
possible, because the captured points are at the tip of the stylus. If you lean the
stylus against the surface at an angle that is too narrow it is possible that the tip of
the stylus will not touch the surface at all (Fig. 8.4, right).
With ball tips, different conditions apply. The measurement arm captures the
position of the centre of the ball on the tip, which makes this kind of tip unsuitable
for identifying the position of individual points in space. However, they are very
suitable for identifying the contour of an object, as the angle at which the tip is lying
on the surface is not important and the shape of the tip allows smooth gliding across
the surface (Fig. 8.5).
When measuring with a ball, do not forget to take account of the orthogonal
space between the centre of the ball and the surface using the size of the ball’s
radius at each measured point.
Prior to the first measurement and whenever replacing a stylus, you need to
calibrate the measuring system. The calibration process is prescribed by the manufacturer, and it usually involves measuring a standard—etalon—with a defined
and accurate geometry, collecting a sufficient amount of data and at different
positions of the measuring equipment. From the sensors’ data, the dimensions of the
measurement arm and etalon measurement data, the calibration software calculates
8.2 Measurement Arm
183
Fig. 8.3 Different types of measuring styli: ball styli with 6 and 3 mm diameter and conical tip
stylus
Fig. 8.4 Correct (left) and
incorrect (right) contact
position (circle) between
a conical stylus and
a surface
Fig. 8.5 Contact between a
measuring ball tip with the
surface and the position of the
captured points
the exact position of the stylus in space, relative to the absolute coordinate origin of
the measuring system (Fig. 8.6).
The possibility to move the relative coordinate origin before each measurement
according to your needs helps us to always select the most suitable position for the
measurand.
184
8
Tactile 3D Geometry Measurments and CAD Application
Fig. 8.6 Calibrating a Faro Gold measurement arm by measuring a reference ball—etalon
8.3
Measuring a Thermostat Flange
The practical part of the exercise includes measuring the flange on a thermostat
from a car engine’s cooling water, as shown in Fig. 8.7. We need it because we
would like to make a connecting flange, but we have no appropriate documents
available.
Once the measurand has been securely fixed to a surface, you should first define
a coordinate system and its origin. Make sure to define such a coordinate system
where the basic plane is on the surface of the flange.
As the coordinate origin, select a point on the flange that will allow the simple
repeatability of the measurement (also with other measuring tools, such as callipers), and lying on a clearly recognizable (imagined) line, defining one of the
coordinate axes. A well-chosen coordinate system is an important condition for the
simplicity of further activities, the repeatability of measurements and merging
the results of different measurements.
A suggestion for how to set a coordinate origin is shown in Fig. 8.7. The
position of the coordinate system makes it possible to put the ball tip always at
the same point when defining the origin. It is also easy to define the direction of the
X and Y axes and the coordinate system’s basic plane. When using a ball tip, do not
forget to move the coordinate origin away from both of the measurand’s edges by
the size of the radius of the tip.
8.3 Measuring a Thermostat Flange
185
Fig. 8.7 A car engine’s cooling-water thermostat
8.3.1
Measuring
If possible, plan the measuring strategy with 3D shape capture tools so that the
3D shape will be defined as 2D views or measurements.
Measurement-arm programmes allow different measuring techniques. These two
are the most common ones:
1. Lean the stylus against the point whose position you would like to define and
capture its coordinates. This method is slower but more accurate and easier to
repeat. It is usually performed with a conical stylus, because this makes it easier
to select the same point again.
2. Lean the stylus against the measurand and glide across its surface. The software
captures the points automatically, following a pre-set resolution (e.g., one point
per millimetre). This method is used when you need the curvature of the surfaces. It is usually performed with ball tips, because they make the gliding
across the surface easier.
An example of captured points according to the second method is shown in
Fig. 8.8.
Figure 8.8 indicates that 505 points have been captured. Each point is described
by an index number, the coordinates in the X, Y and Z directions according to a
pre-set coordinate system, as shown in the model in Fig. 8.7.
A ball tip with a diameter of 5 mm was used on the arm. It was guided along the
inside surface of a large opening, the outside flange rim and three round bolt
openings. It was not possible to measure two small positioning holes, as the
diameter of the measuring tip was too large and they would need to be measured
later with callipers or some other measuring tool.
186
8
Tactile 3D Geometry Measurments and CAD Application
Fig. 8.8 User interface for point capturing using a Faro Gold measurement arm
Once the measurement has been completed, save the results in a format that can
be opened with other software. If you wish to open the file in a modeller, you can
select the IGES, STEP or any other standard CAD file format, and if you want to
open it in some spreadsheet or text-editing software, you can save them as XYZ
points in a plain ASCII text format.
Figure 8.9 shows the points exported to the IGES format and opened in the
SolidWorks modeller. On the left-hand side you can see an isometric view of the
collected points, and on the right is the top view. With the absence of a reference for
the third dimension along which to guide the stylus, its height was changing. This is
evident in the left-hand graphic of Fig. 8.9, while the XY plane shows a faithful
description of the flange’s contour (Fig. 8.9, right).
Fig. 8.9 Points captured with
a measurement arm and
shown in a CAD modeller’s
3D space in isometric (left),
and top (right) view
8.3 Measuring a Thermostat Flange
187
The captured data should be cleaned and arranged to make them useful for
modelling. How to do this will be described in the following sections.
8.4
Using Data that Are Captured by a Mechanical Arm
So far in this chapter we have explained how to use a mechanical arm for capturing
points that represent the geometry of an object. If possible, the 3D geometry to be
captured should be measured as a system of planes, because a human has better 2D
than 3D perception. For the same reason, most CAD modeller commands are based
on 2D sketches that are expanded into space. The flange in the exercise above was
also measured this way, although the points were captured in 3D space.
The objective of this example is to learn how to create a solid 3D model on the
basis of contact measuring from the previous exercise. We will explain how to
clean the 3D measurement data to make them useful for modelling, and finally, we
will create a connecting flange for the product from the previous chapter.
8.4.1
Editing Captured Data
Let us begin by looking at data records in a text format obtained in the previous
exercise by capturing points using a mechanical arm. In a text-file editing programme, open the file into which you saved the X, Y and Z point coordinates. An
example is shown in Fig. 8.10.
Fig. 8.10 A list of points captured by a mechanical measurement arm in a text format
188
8
Tactile 3D Geometry Measurments and CAD Application
You can see that the first line is the legend, followed by points, arranged in lines.
The fist value represents the index number, followed by the X, Y and Z coordinates,
given in millimetres. To import the numbers into a modeller you need to adjust the
format into one that the modeller will understand. SolidWorks, for example,
requires a specific structure of data: the X, Y and Z coordinates of one single point
can be given in one line; a decimal point is required as the decimal separator, and
the X, Y and Z values should be tab-separated.
The first legend line can be simply deleted in the text processor, while deleting
the index column would be too time consuming to do manually and needs to be
done in another way. One option is to write a programme or script in any programming language that will do it instead of you, or you can also easily edit and
delete data if you open file in a spreadsheet application, such as Microsoft Excel,
arrange the data as necessary and export it as a new plain text file.
When done, open your CAD modeller and create a new model New part and run
the command to import a curve through the XYZ points following the same procedure, as we did already in Chap. 2: Insert, Curve, Curve Through XYZ Points.
In the window that opens, select the previously created text file. In the search box,
change to the text file types, as SolidWorks’ default file type is the curve type (*.
sldcrv). By selecting all the points in the table that opens, they will be drawn in the
modeller’s working area. You can see that our flange consists of six mutually
independent contours. To make your work easier, you should separate these six sets
of points prior to importing the curves.
Their separation can be made again in a text processor. Since the data set is
shorter, the fastest way will be to look at the points and find a place where a large
gap in the X or Y values between two consecutive points occurs. With more points
you should write a simple programme to calculate the distance between two
adjacent points and break the set of points at the position where the distance
between two points exceeds a pre-set limit. Save all the sets in separate new files.
Following the above procedure, insert all six contours into the modeller, which
will yield six curves that serve as the basis for creating the model of the flange
(Fig. 8.11). Because the contour curves are open and there are some irregularities,
the contours will be only used as references to create new sketches.
Fig. 8.11 Flange’s captured points as displayed in SolidWorks
8.4 Using Data that Are Captured by a Mechanical Arm
189
Begin with the flange’s outside contour. Create a new sketch on the XY plane
and create a new sketch of the contour, according to the imported curves. It is
recommended to use the basic sketching elements, such as lines and circles. Avoid
relating the new sketch to the imported curves as much as you can, as this is the
only way to preserve the parametric geometry, and the sketch should be fully
defined in any case (Fig. 8.12).
Change all the lines on the sketch into construction lines, trim away all the
unnecessary circular arcs to obtain a continuous contour, and offset it to the inside
by 3 mm, which was the diameter of the measuring tip. Do the same with the holes,
but moving the contours to the outside (Fig. 8.13).
Extrude the contour by 10 mm to create a flange, followed by cutting out a
trapezoid that is 7 mm deep (Fig. 8.14).
Fig. 8.12 A fully defined
sketch, created from the
imported curves through the
captured points of the flange’s
contour
190
Fig. 8.13 Finished flange
contour, prepared for
extrusion
Fig. 8.14 Finished flange,
without centring pins
8
Tactile 3D Geometry Measurments and CAD Application
Chapter 9
Optical 3D Geometry Measurments
Based on Laser Triangulation
Abstract Reconstructing complex surfaces and geometries is generally performed
with the use of optical measuring systems that allow the capture of large volumes of
data in short periods of time. For the most part these are laser measuring systems, as
they allow simple and fairly reliable blocking of the external effects on measuring.
Understanding laser measuring systems and their functioning is recommended for
the high-quality scanning of 3D shapes of physical objects and their CAD reconstruction from the captured data. This chapter deals in detail with the laws of laser
triangulation: we present the basics of determining points by means of optical
triangulation, the basics of laser light and its effect on measuring, as well as possible
problems when measuring due to the natural properties of the laser beam; we
present the most frequent limitations of 3D laser measurements and the reasons for
measuring errors. This chapter also presents some methods for assessing the quality
of measurements. It ends with an explanation of the effect of the optical properties
of surfaces on measuring.
9.1
Calculating a Point by Triangulation
A lot has been written about laser triangulation, but in this section its main properties will be presented for a better understanding of the phenomena and the processes later on in this chapter. A very good background for all further activities and
an overview of this issue is provided in New Methods for Surface Reconstruction
from Range Images, the doctoral thesis of Curless [1]. However, because of its
popularity, there are also many other works dealing with this topic.
A transformation is shown in Fig. 9.1. Point Pd is the image of point P, lying on
the projected laser line on the surface of the measurand. The position of point P is
described by the vector rc ¼ ðxc ; yc ; zc ÞT in the camera coordinate system (CCS).
T
The point P can also be described by the vector rp ¼ xp ; yp ; zp in the laser
projector coordinate system (PCS). The vectors can be mutually expressed using
Eq. 9.1.
© Springer Nature Switzerland AG 2019
N. Vukašinović and J. Duhovnik, Advanced CAD Modeling,
Springer Tracts in Mechanical Engineering,
https://doi.org/10.1007/978-3-030-02399-7_9
191
192
9 Optical 3D Geometry Measurments Based on Laser Triangulation
Fig. 9.1 Laser triangulation
measuring
rc ¼ Rcp rp þ T cp
ð9:1Þ
where Rcp is a rotation matrix, defining the PCS rotation according to the CCS by
rotation for a a; b and h angle about the axis Xp ; Yp and Zp . The vector T cp ¼
T
Tx ; Ty ; Tz is a translation vector between both coordinate systems.
The image of the projected laser line falls onto the CCD sensor through lenses.
Some distortion occurs due to lens aberration, and the point P from the surface of
the measurand is realistically transformed into point Pd ¼ ðxd ; yd Þ, expressed in the
sensor’s image coordinate system (ICS). Since the unit of measurement in the ICS
is expressed in pixels, and in the CCS by a unit of length (e.g., mm), normalisation
needs to be performed, while at the same time moving the coordinate system into
the camera’s optical axis, to the point PP. Equation 9.2 serves this purpose.
ðxdn ; ydn Þ ¼
xd cx yd cy
fx ; fy
ð9:2Þ
Now you need to remove the effect of the distortion in order to obtain a perfect
geometric transformation of point P into point Pi ¼ ðxn ; yn Þ. Equation 9.3 serves
this purpose.
ð xn ; yn Þ ¼
xdn 2p1 xdn ydn p2 ðr2 þ 2x2dn Þ ydn p1 ðr2 þ 2y2dn Þ2p2 xdn ydn
;
1 þ k1 r 2 þ k2 r 4
1 þ k1 r 2 þ k2 r 4
ð9:3Þ
9.1 Calculating a Point by Triangulation
193
pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
where r ¼ x2dn þ y2dn . The factors k1 and pi are the parameters of radial (tangent)
distortion, and need to be defined through a calibration. The same applies to the
parameters cx and cy , representing the ICS coordinates of the intersection between
the optical axis and the sensor at point PP, and to the parameters fx and fy , representing the focal length between CCS and the point PP. The equation is then solved
numerically.
In order to transform the normalised coordinates into the CCS lens coordinate
system, they need to be multiplied by the zc coordinate, as shown in Eq. 9.4.
ð xc ; yc Þ ¼ z c ð xn ; yn Þ
ð9:4Þ
By taking into account Eq. 9.4, the vector Eq. 9.1 can be converted into a
system of three scalar equations with the variables zc ; xp ; yp and zp :
xn zc ¼ r11 xp þ r12 yp þ r13 zp þ Tx
yn zc ¼ r21 xp þ r22 yp þ r23 zp þ Ty
zc ¼ r31 xp þ r32 yp þ r33 zp þ Tz
ð9:5Þ
When using a flat laser plane and setting a PCS coordinate system, as shown in
Fig. 9.1, zp ¼ 0 is true, which makes the system uniquely definable.
9.2
9.2.1
Laser Light
Wave Properties of a Laser Beam
In terms of measuring the shape of surfaces by means of optical triangulation, the
properties of the laser light provide a few advantages compared to other types of
light. A light beam wave is described by Eq. 9.6. The wave is described by the
following parameters: A represents the amplitude of a wave, k is the wavelength, on
which frequency m depends, and / is the phase shift of a wave. Let us take a look at
Fig. 9.2. It shows examples of waves using different sources of light. Diagram a)
shows light waves, whose source is radiant objects, such as sunlight, wire-filament
light bulbs, fire, etc. These waves are characterised by different wavelengths and
amplitude, and if waves have the same wavelength, they are very likely incoherent,
which means that they travel in different directions and with different phases.
Figure 9.2b shows the wave conditions of the sources, where the light shines as a
consequence of electrons’ energy-level transition, such as LEDs, fluorescent lamps
or energy-saving bulbs. This light has narrow wavelength spectra, and individual
waves are not coherent, i.e., they do not travel in the same directions and with the
same phases, as is the case with laser light. In the case of the latter, all the waves are
of the same length, with the same direction and phase, as shown in Fig. 9.2c.
194
9 Optical 3D Geometry Measurments Based on Laser Triangulation
Fig. 9.2 Examples of different types of light waves. a Sunlight: light consists of different
wavelengths. b LED light waves: light is of identical wavelengths, and the waves are not coherent.
c Laser light waves: light is of identical wavelengths, and individual waves travel in the same
direction with the same phase
Eðz; tÞ ¼ A cos 2pmt 2p kz þ /
ð9:6Þ
The three properties of the laser beam, i.e., coherence, orientation and an ability
to emit a single colour of light, are the properties that give a laser an advantage over
other light sources for the purpose of optical triangulation. The coherence and
orientation of the beam allow a roughly constant diameter of the laser beam,
regardless of the distance from the source. This is necessary to obtain comparable
measurement results at different distances from the sensor. This also results in a
coherent and predictable structure of light intensity, across the cross-section of the
laser beam. A Gaussian distribution of energy across the cross-section is used for
optical triangulation, as it allows the easiest optical manipulation of the beam
(focusing, light reflection, etc.), as well as the easiest processing of the measured
signal. As shown in Fig. 9.3, there are other possible distributions of intensity—
types of laser beams.
The other important property of laser beams is their mono-chromaticity. It is the
result of the laser waves being limited to a single wavelength of electromagnetic
waves. This property allows the user to narrow the operation of the measuring
9.2 Laser Light
195
Fig. 9.3 Examples of different distributions of light intensity, across the cross-sections of the laser
beam: besides the Gaussian round beam, used for measuring shapes by means of triangulation (top
left), there are many other laser types
system down to this particular spectral range of light, and thus restricting or
removing the impact of external light. The procedure is easy when no information
on the colour of the measured surface is required. If this piece of information is
required, the use of narrow-band spectral filters is no longer possible, or the system
should be designed to allow the capturing of information separately for the colour
and the geometry.
9.2.2
Laser Speckle
It was explained above that coherence and orientation give laser light an advantage
when measuring geometry. However, together with the advantages, their properties
can also cause some inconveniences and restrictions. In combination with a (un)suitably rough surface, it is the coherence and orientation of the laser light that
cause the so-called laser speckle.
Laser speckle occurs when the highly coherent laser light illuminates a rough
surface. It causes an optical phenomenon, as shown in Fig. 9.4. This randomly
grained pattern is produced by the interference of waves, scattering on a microscopic
unevenness of the illuminated surface. Laser speckle occurs in diffuse surfaces,
whose roughness is of the same size order as the laser light’s wavelength [2].
196
9 Optical 3D Geometry Measurments Based on Laser Triangulation
Fig. 9.4 Magnified image of laser speckle, as seen by a CCD sensor. Despite the laser light
having a uniform distribution of intensity across the cross-section of the beam, the distribution
changes with the reflection due to the wave properties of the laser light and the rough surface.
Source Curless [1]
Laser speckle can be a useful phenomenon for defining the surface roughness
[2], whereas for optical triangulation it is a disruptive factor, increasing the signal
noise and the random error.
Since laser triangulation uses Gaussian profile beams, the position of the points
on the surface is also calculated based on the assumption of a Gaussian distribution
of the intensity of light, reflected from the surface, as shown in Fig. 9.5, left.
A problem can occur when the reflected light no longer has a Gaussian profile,
which occurs with laser speckle reflection. The algorithm, calculating the profile’s
intensity mean, can, in this case, yield a mean of the profile, different from the mean
of the Gaussian reflection—which is the one representing the accurate position of
the measured point on the surface. It causes a shift D, shown in Fig. 9.5, right. Since
the laser speckle is random, this phenomenon is taken as being increased noise or a
random measuring error.
When a laser beam image on a surface is measured at low sampling—the
number of CCD sensor pixels—detecting the image of a laser beam—the error can
be even more noticeable, as inferior sampling can further distort the beam’s profile.
The red lines in Fig. 9.5 show the structure of a discrete signal, as would be the
output from a CCD sensor, if an image of a laser beam covered three pixels.
The signal should be cleaned prior to the use by removing all the pixels where
the intensity is below a certain threshold. In the situation on the right-hand side in
Fig. 9.5 it could even yield information that there are two profiles in the picture,
which would also lead to an error. This would happen if the intensity of the signal
from the middle point was below the threshold.
9.2 Laser Light
197
Fig. 9.5 Laser measuring systems based on optical triangulation assume Gaussian profile beams
(left). When laser speckle occurs it can cause a shift in the calculated mean of the profile. Due to
the random nature of laser speckle, this is revealed as measurement noise (right). By introducing a
signal threshold—eliminating the whole signal below a pre-set intensity—two, not one, profiles
could be measured. In the case of low signal sampling (red line), this phenomenon is even more
noticeable
Laser speckle radically affects the accuracy of laser triangulation measurement
[1]. Its effect can be reduced with the use of a speckle-reduction method [3, 4];
however, these methods are typically based on spatial averaging, which requires
choosing between measurement noise and reducing the spatial sampling. The use of
less coherent (but still monochromatic) light therefore seems to be a better solution
to this problem. With laser speckle depending on the CCD sensor’s point of view of
the surface, Curless suggested capturing images from several points of view and
combining the results [1].
9.2.3
Propagation of Laser Light
A laser beam usually appears narrow and the beam’s boundaries seem to be parallel,
which should make it useful for measurements. However, this is not completely
true. In fact, a laser beam is parallel, which means that it spreads much faster in one
direction than in the other two. It can also be referred to as the beam being spatially
localised on a random plane z ¼ zi (has a finite diameter), orthogonal to the
direction of the rapid beam spread. However, the key finding about the geometry of
a laser beam says that the beam diverges, i.e., its diameter increases with distance in
the direction of propagation. There is also an area where the beam is collimated, and
appears as a parallel beam. This is referred to as the beam’s waist. These findings
are important for laser triangulation, as they allow the setting up of such an optical
system where the collimated (narrowest) section of the laser beam will appear in the
CCD camera’s field of view. By understanding the geometry of the beam, we can
also significantly influence the measuring system’s systematic error, which is
caused by the optical system. Figure 9.6 shows the geometry of beam spreading,
also referred to as a Gaussian beam.
198
9 Optical 3D Geometry Measurments Based on Laser Triangulation
Fig. 9.6 A laser beam is not ideally parallel. Instead, its diameter varies along the propagation
direction, i.e., it is widening and narrowing. The narrowest part of a laser beam, where its
boundaries are parallel, is termed the beam waist. For maximum accuracy it is desirable that the
optical triangulation measurements take place within these areas
The geometry of a Gaussian beam can also be described analytically. The most
important is the beam’s width, calculated using Eq. 9.7.
wðzÞ ¼ w0 rffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
ffi
1þ
2
z
zR
ð9:7Þ
where zR is the Rayleigh length, or the distance from the beam waist where the
characteristic beam radius wðzÞ increases by a factor of 1.41, relative to the beam
radius at its waist w0 . The Rayleigh length can be calculated with Eq. 9.8 and is
related to wavelength of the laser beam.
zR ¼
px20
k
ð9:8Þ
Equation 9.9 can also be used to describe the light intensity or the light current
density, dependent on the distance of the beam spreading z, and across the
cross-section on the beam’s symmetrical axis r:
I ðr; zÞ ¼ I0 w0
wðzÞ
2
exp
2r 2
w2 ðzÞ
ð9:9Þ
where w0 and I0 are the constants defining the laser beam. w0 is the minimum radius
at the beam waist. It is defined as the radius where the beam intensity is by a factor
e2 ¼ 0:135 lower than on the axis. I0 ¼ I ð0; 0Þ is a maximum beam intensity on
the axis, at the coordinates z ¼ 0 and r ¼ 0.
9.2.4
Effect of Multiple Reflections
In a laser measurement of the surfaces of complex shapes it often occurs that the light
that is illuminating a measurand reflects onto another surface of the object and only
then back into the camera. This is referred to as higher-order reflections (second,
9.2 Laser Light
199
third reflection, etc.). Higher orders do not represent the object’s realistic geometry.
As such they cause a disturbance to capturing the data on the geometry of an object.
With higher reflections being visible to a 3D measuring equipment sensor (due to the
unfavourable measuring conditions, the intensity of their image on a CCD sensor is
not rarely even higher than the intensity of the first reflections), they should be
excluded from the measuring process. As the wavelength of higher reflections is
identical to that of the first reflections, using a regular narrowband filter is not an
option. Examples of the first and higher reflections are shown in Fig. 9.7.
To solve this problem, A.M. Wallace and his colleagues suggested using
polarised laser light [5]. On a theoretical model, he estimated that higher-order
reflections are polarised differently than the first ones, when the surfaces are illuminated with polarised laser light. Practice has shown that the theoretical model is
good for simple geometries of measurands.
Analytical Model of Polarised-Light Reflection
The Stokes vector is the basis for describing a monochromatic laser beam. In
general, it can be written as shown in Eq. 9.10. Stokes vectors describe the
polarisation characteristic using four parameters, whose intensity can be measured.
2
3 2 2
3
I
a1 þ a22
6 Q 7 6 a2 a2 7
2 7
7 6 1
S¼6
4 U 5 ¼ 4 2ha1 a2 cos di 5
V
2ha1 a2 sin di
ð9:10Þ
Fig. 9.7 Besides the first reflections, providing the necessary information to define points in
space, you can see reflections of higher orders, caused by the light’s reflection onto another
surface, and only then back into the camera. As such, higher-order reflections disturb the
measuring
200
9 Optical 3D Geometry Measurments Based on Laser Triangulation
where d ¼ /1 /2 . It represents the phase between the orthogonal vector
components of the electric field Ex and Ey , shown in Fig. 9.8. Ex and Ey are
calculated using Eq. 9.11a, b:
Ex ðtÞ ¼ a1 ðtÞ expðið/1 ðtÞ 2p~mt þ kzÞÞ
ð9:11aÞ
Ey ðtÞ ¼ a2 ðtÞ expðið/2 ðtÞ 2p~mt þ kzÞÞ
ð9:11bÞ
where a1 ðtÞ and a2 ðtÞ are amplitudes, and /1 ðtÞ and /2 ðtÞ phase factors of the
electric field Ex and Ey components.
If a Stokes vector of the incident ray is multiplied by a Mueller reflection matrix,
it results in a Stokes vector, describing the polarisation of the reflected laser beam
(Eq. 9.12).
Sr ¼ M r Si
ð9:12Þ
The Mueller reflection matrix M r can be defined using Eq. (9.13):
1 2
Rp þ R2s
2 2
1
cos 2w
6 cos 2w
1
6
4
0
0
0
0
¼ RM ur
Mr ¼
0
0
sin 2w cos D
sin 2w cos D
3
0
7
0
7
sin 2w sin D 5
sin 2w cos D
ð9:13Þ
where R represents the surface reflectance and M ur represents the Mueller identity
reflection matrix, which is identical to the Mueller reflection matrix when R ¼ 1.
The factors tan w and D depend on the angle of incidence of the light, its
Fig. 9.8 Polarisation ellipse
and its parameters
9.2 Laser Light
201
Fig. 9.9 Specular reflection
of polarised light
wavelength and its surface properties. They can be obtained from tables or calculated using Eqs. 9.14 and 9.15:
j Rp j
ð9:14Þ
D ¼ dp ds
ð9:15Þ
tan w ¼
jRs j
The Fresnel reflection coefficients (9.16 and 9.17) for Rp and Rs show that the
Muller matrix is also a function of the complex refractive index of materials that
come into contact with a laser beam, i.e., the surfaces reflecting the beam, and the
medium through which the beam propagates.
Rs ¼
Er;s
Ei;s
cos hi ^n2 cos ht
¼ ^n^n11 cos
hi þ ^n2 cos ht
ð9:16Þ
Rp ¼
Er;p
Ei;p
cos hi ^n1 cos ht
¼ ^n^n22 cos
hi þ ^n1 cos ht
ð9:17Þ
The Fresnel equations represent the ratio between the amplitudes s or p component of the reflected and the incident beam waves. As Fig. 9.9 reveals, the s
component’s orientation is parallel to the light’s plane of incidence, and the p
component is perpendicular to it. ^n1 and ^n2 are the complex refractive indexes of the
medium. For air, the following is true ^n1 ¼ 1. hi is the angle of incidence, ht is the
refractive angle, calculated from Eq. 9.18, when the light propagates through air.
sin ht ¼ ^n12 sin hi
9.3
ð9:18Þ
Laser-Triangulation Errors
We have explained the advantages of laser light and the principles of optical
triangulation; however, the same properties also disturb the measuring. This section
will present the main restrictions and the errors that they cause. Laser-triangulation
202
9 Optical 3D Geometry Measurments Based on Laser Triangulation
algorithms for the accurate calculation of the position of a point on a surface assume
a Gaussian distribution of light intensity across the cross-section of the beam, and
consequently, they require a Gaussian distribution of the cross-section also on the
image, captured by a CCD sensor. However, for a variety of reasons, this distribution is often no longer a continuous Gaussian one. Instead, deformation and a
shift in the mean of the profile occur. These can be caused by differences in the
surface reflectance, sudden geometric transitions and occlusion.
A shift in the mean of the profile intensity xt can be calculated using Eq. 9.19:
xT ¼
R1
R r0
r0 I ð xÞxdx þ q2 ðhi2 Þ 1
R1
R r0
q1 ðhi1 Þ r I ð xÞdx þ q2 ðhi2 Þ 1
0
q1 ðhi1 Þ
I ðxÞxdx
I ðxÞdx
ð9:19Þ
where q1 ðhi Þ is the surface reflectance at the angle of incidence hi . Reflectance is
explained and defined by Eq. 9.24 in Sect. 9.6. The intensity of the laser beam’s I
angle of incidence is defined by Eq. 9.9, where it needs to be taken into account that
x represents a shift from the mean of the beam profile, i.e., x ¼ r. r0 is a shift from
the mean where the discontinuity of the measurand occurs. Using this equation, you
can describe all the cases of discontinuity where some measuring error occurs.
These cases are described below and are shown in Figs. 9.10, 9.12 and 9.14.
The other restriction is the access of the view for some parts of the surface,
which can be due to a complex geometry (Fig. 9.15) or due to the support or
securing a measurand to a base.
9.3.1
Differences in Surface Reflectance
Surface reflectance is one of the key factors affecting the course and results of
measuring. Its consequence—laser speckle—has been explained, while reflectance
will be dealt with in the remainder of this chapter.
Fig. 9.10 A discontinuous change in the surface reflectance affects an imagined shift of the
measured point in space, which causes a measuring error. This is the result of the shift of the mean
of the beam profile. The greater the difference in surface reflectance the greater the error
9.3 Laser-Triangulation Errors
203
Fig. 9.11 A discontinuous change in the surface reflectance causes measuring errors at the point
of discontinuity. The error increases with the increase in reflectance, and smaller triangulation
angles exhibit greater errors. Source Curless [1]
Fig. 9.12 Discontinuous geometric changes of the surface affect the imagined shift of the
measured point in space, which shows as a measuring error. Depending on whether both surfaces,
forming the edge in the CCD camera field of view (a), are visible, or only one (b), a deformed or
cut-off Gaussian profile occurs, resulting in the shift of the profile mean
When reflectance—due to colour, specular properties or surface finish—is not
continuous, errors in the calculation of the position of a point on the surface can
occur at transitions. The clearest explanation of this phenomenon is Fig. 9.10.
Figures (a) and (b) show laser-light reflection in an area of a discontinuous change
in the surface reflection, where the surface-reflection ratio q1 =q2 is higher in
204
9 Optical 3D Geometry Measurments Based on Laser Triangulation
Fig. 9.13 A discontinuous
change in the shape of the
surface (i.e., a sharp edge)
causes a measuring error at
that particular place. The
shaper the edge, the greater
the error, while the
triangulation angle has no
major effect here. Source
Curless [1]
Fig. 9.14 Laser-triangulation
measuring error due to the
occlusion of the reflected
beam. The object between the
surface and the CCD sensor
partially occludes the laser
beam, and the sensor detects
only part of the Gaussian
profile. The result is a shift in
the mean from the Gaussian
profile and the imagined
perturbation of the calculated
measured point along the
incident path of the laser
beam
(b) than in (a). The figure also shows the intensity profile, as detected by a CCD
sensor. The algorithm for calculating the position of a point on the surface then
calculates the mean of this profile, assuming that this is a Gaussian profile.
However, as the actual mean of the beam profile, falling on a CCD sensor, shifts to
the left of the centre of the Gaussian profile, the calculated imagined surface point
shifts along the laser beam, away from the measured surface. The greater the q1 =q2
ratio the greater the imagined shift.
Curless evaluated this phenomenon in a little more detail [1], showing that it is
more noticeable in narrow triangulation angles, which is consistent with geometrical laws of optical triangulation. Figure 9.11 shows the dependence of a relative
9.3 Laser-Triangulation Errors
205
measuring error on the ratio between discontinuous surface reflectance and the
triangulation angle. You can see that the triangulation angle has a major effect on
the increase in the error, even for low q1 =q2 ratios.
9.3.2
Discontinuous Changes of Shape
A phenomenon, similar to discontinuous changes in surface reflectance, occurs also
with discontinuous changes of shape, such as edges and sharp transitions of objects.
This is also a change in the beam profile, reflecting off a surface and falling on a
CCD sensor, and the resulting change in the position of the profile mean, on the
basis of which the position of a point in space in calculated.
Figure 9.12a shows an example when a laser beam illuminates an obtuse edge of
an object, and the position of a CCD sensor allows it to see both faces of the object.
Due to the different fields of view on the respective surfaces, the sensor detects a
combination of two different profile geometries. It results in the now familiar shift
in the mean of the beam profile from the beam’s centre line, which causes an
imagined shift of the measured point’s position.
With sharp edges, as shown in Fig. 9.12b, at some point only part of the laser
beam illuminates the measurand’s surface, while the remaining part misses it. The
sensor detects only part of the Gaussian profile, which again perturbs the profile
mean. It again results in an imagined shift of the measured point along the laser
beam’s axis.
This phenomenon can be quantified, too. Figure 9.13 shows the dependence of
the error on the size of the measurand’s edge. The error is expressed as the shortest
distance between the calculated imagined point and the actual position of the edge
in space. This distance is divided by the width of the laser beam, which yields the
relative value of the error. In this case the triangulation angle has no major effect on
the error, as changing the triangulation angle simultaneously adjusts the view on the
surface in the corner, and thus also the Gaussian profile.
9.3.3
View Obstruction Errors
A special case of geometric influences on the occurrence of errors in laser triangulation includes obstruction (occlusion). This occurs with complex geometric
objects, when part of the laser beam that is reflecting from a surface onto a sensor is
obstructed by some other object or part of the same object. It often occurs when
scanning holes, through holes, slots or other design features.
The triangulation angle plays a major part in this situation, as in the case of large
triangulation angles, the measuring system’s view will not reach as deeply into a
through hole or a slot as in narrow angles. Manufacturers of laser measuring systems adopt different solutions to this problem. The most common one is using
206
9 Optical 3D Geometry Measurments Based on Laser Triangulation
multiple sensors, recording the reflection of the laser light from different views.
Another option includes different light patterns, such as a star-shaped system of
laser planes, instead of a single light plane.
Figure 9.14 shows a beam that is partially occluded by an irregularity on the
measured surface. This error is very similar to the error in Fig. 9.12, with the only
difference being that in that case part of the beam missed the surface and did not
return to the sensor, while in this case it is obstructed by a disturbing objet. In this
case too, the error is caused by the shift in the mean of the beam profile falling on
the sensor.
9.3.4
View Accessibility
When dealing with the limitations of laser triangulation, the view accessibility
cannot be neglected. This problem is not directly related to the optical principles of
triangulation; however, it plays a major part in selecting the support and the
position of the measurand.
There are two problems about view accessibility: the first one is the triangulation
angle, blocking or obstructing the measuring of deep through holes, holes and slots,
as explained in connection with the occlusion error. This error occurs when a
measuring system is working on its limits, and it often happens that some surfaces
cannot be measured at all because the measuring system has no access to them. In
this case it is either necessary to change the direction of the measuring system’s
view or reduce the triangulation angle, or even choose another measuring method.
The problem of view accessibility is shown in Fig. 9.15. The surfaces with negative
angles relative to the view of the measuring system, and the surfaces that are
blocked by other surfaces or objects cannot be measured from the selected
viewpoint.
For successful measurements the measurand should be stable. This is achieved
by proper support or fixing. In practice it means that the object is in physical contact
with some object in its environment, which affects the measurement results because
laser-triangulation systems cannot by themselves distinguish a measurand from
other objects. You need to do this later, by eliminating the excess data. To simplify
the work we often use the principles previously described as disturbing factors,
such as a surface-reflectance discontinuity or a geometric discontinuity. This
includes the use of colours and geometric markings. For this reason, at the support
points it is not possible to capture high-quality data on the surface geometry, and
multiple measurements should be performed. Research has indicated the possibility
of using transparent glass supports, which would alleviate the problem, but many
problems remain mainly due to light reflection and refraction on their path through
different materials [6].
9.4 Measurement-Quality Evaluation
207
Fig. 9.15 Measurement
problems due limited view
accessibility, at the position of
the probe head above the
object. The surfaces that are
unreachable for the measuring
system are marked with
arrows
9.4
Measurement-Quality Evaluation
Before dealing with the reasons why measurement quality is affected, we need to
answer the question: what actually is a good-quality scan. What does good-quality
and poor-quality measuring means. This is of course Is always related to the
question of the purpose of measurement and how these data will be used.
When we are interested in objects that change their shape over time, the most
precise measuring system will be of no use if we are unable to capture the data fast
enough, and if changes in the geometry of an object cannot be monitored over an
appropriate time interval [7]. The results may precisely describe the condition of a
part of a surface at the moment of measuring; however, they will be useless for our
purpose, as the object will change already while being measured.
This is just an example, showing that setting the measurement-quality criteria
requires some caution. Designing is mostly about measuring solid bodies, be it for
the purpose of surface reconstruction or to verify the geometric dimensions and
tolerances. This area requires a high data density and the results should be accurate,
with the minimum of scattering.
This area has been fairly well researched. In this case, too, you first need to ask
yourself how to evaluate the quality of some surface measurement. Depending on
the needs and the method of evaluating the quality of measurements, different
valuations can be chosen to evaluate the quality.
The most widely used measurement quality valuation is the standard deviation,
often recorded in the literature [8]. However, standard deviation does not provide a
complete evaluation of the measurement results, and other valuations are required.
In their experiments Feng et al. [9] and Xi et al. [10] introduced a combination of
a flat surface and a ball to estimate the measurement error. By doing so, they
208
9 Optical 3D Geometry Measurments Based on Laser Triangulation
separated the error into its systematic and random components (Fig. 9.16). They
refer to the systematic error as an error, having the same value in the same measuring conditions, and as such, it can be described and compensated for by a
mathematical model. This can be done when calibrating a system, or the measurement results can be processed afterwards. On the other hand, random errors are
caused by a multitude of reasons that are difficult to control. According to Feng,
laser speckle, explained above, is among the main reasons for random errors [3].
Lartigue, Contri and Bourdet further segmented the quality of digitised point
clouds [11, 12]. They used four valuations to describe their quality:
•
•
•
•
point density,
completeness,
noise,
accuracy.
Van Gestel investigated different methods for evaluating the quality of measurement
results, based on the scanning of objects. He paid special attention to the advantages
and disadvantages of different geometries during the estimation of measurement
quality. He exposed the problem of a sphere that does not give stable results when
scanned only from a single direction. Together with his colleagues, he suggested a
method for the rapid evaluation of the quality of scans, based only on measuring flat
surfaces. The method consists of two of the above-mentioned valuations, i.e., the
random and systematic error components, and, therefore, gives information only
about the magnitude of the error to be expected when measuring [13].
A similar approach was applied by Keferstein and Marxer. They evaluated the
measurement quality using the acquired linearity, which reflects the systematic
error, and using the random error, which represents the uncertainty of the measurement [14].
While Van Gestel opted for a flat surface in order to be able to evaluate measurement quality as quickly as possible, Vezzetti argues that the problem occurs in
the differences between different measuring systems. The technical specifications of
measuring systems do not provide sufficient information, and the knowledge of the
users is also insufficient and inferior for them to be able to choose an appropriate
measuring system and accurately interpret the measurement results [15]. Therefore,
Fig. 9.16 An example of a systematic and a random (uncertainty of measurement) error
9.4 Measurement-Quality Evaluation
209
Vezzetti suggested a user-oriented procedure to assess the performance of laser 3D
measuring systems. He exposed the necessity to recognise the accuracy, repeatability and resolution of the measuring system in different measuring conditions.
As said above, errors can be divided into the systematic and the random. They
can also be classified by their source or type. Dividing the errors by their source
provides better control of a particular error and thus it is easier to eliminate it. On
the other hand, such division often takes no account of any possible interaction
between individual factors. Too detailed segmentation can also blur a problem.
Such errors might originate either in the measuring equipment’s power unit or in the
optical part; they can be lens-related errors, electronic disturbances or errors related
to the properties of the measured surfaces.
9.5
Influences on Measuring
For a better perspective on the type of errors occurring in laser triangulation
measurements, let us take a look at Fig. 9.17. The factors influencing the quality of
the data acquisition are broken down according to the source, and divided into two
groups. The first one includes measuring-equipment factors, and the other one
measuring-conditions factors.
The first group involves all the factors (errors) whose origin is in the measuring
equipment and, as such, depend on optical, mechanical and electronic properties of
the system, its settings and calibration [16, 17].
The second group includes the factors connected with the measurand and the
environment where measuring takes place. This division is necessary if the factors
are to be analysed independently on the choice of the measuring equipment. As
shown in Chap. 7 Fig. 7.2, measuring factors depend on the choice of equipment,
the environment and the measurand. As a simple example of the factors’ interdependence, let us take the source of light in a measuring device with a narrow
wavelength. The accuracy of the measurement is directly linked to the colour of the
measurand, as it affects the reflectance of the surface in the spectrum, used for
measuring.
Fig. 9.17 Factors influencing
the quality of results in
capturing data on the
geometry of bodies by means
of laser triangulation
210
9 Optical 3D Geometry Measurments Based on Laser Triangulation
The errors, caused by individual factors or their system, can be evaluated in
different manners. The most common valuations for this purpose are marked in
Fig. 9.17 in the form of outgoing arrows.
There is a multitude of measuring condition factors, and the following ones are
crucial:
•
•
•
•
•
surface reflectance,
surface colour,
surface geometry,
geometry of measuring,
(external) lighting conditions.
Surface reflectance is a very broad term, but for the reasons of systematization, we
will focus solely on what happens when the surface of a material or an object is
illuminated by a source of light: will the reflection be specular (mirror-like) or
diffuse, and to what extent is the light absorbed or travels through the material. The
latter greatly depends on the surface colour, as it can differently reflect or absorb the
different wavelength spectra [18].
Surface geometry at both levels—micro levels of surface roughness [19] and
macro levels in terms of irregularities, curvatures, etc.—affects the reflectance
properties of surfaces, particularly by changing the angles of incidence. At a macro
level the surface geometry plays a role by shading and illumination access to the
parts of the surface (occlusion).
Describing the geometric relations between the measured surface and the measuring system, the geometry of measuring is also closely connected to the surface
geometry. It includes the influence of measuring angles and the distance between
the measurand and the measuring sensor. The influence of the measuring angle is
again directly noticeable in the bouncing of light off the surface, while the distance
between the measurand and the measuring device has the greatest effect on the size
of the captured details from the surface, and the noise, occurring during measurement [20].
Optical triangulation measuring conditions should always include external light
conditions. As in practice it is often not possible to block the light from the
environment, the measuring system should be adjusted to this light in the manner
that will not impair the measurement results. In measurement results the ambient
light mostly exhibits random noise characteristics. This can be removed by two
approaches. By using a system of light filters you can narrow measuring to the
wavelengths within which the system operates, and thus eliminate the effect of other
wavelengths. The other option is using sources of light that are strong enough to
prevent external light from exceeding the permissible disturbance levels [21].
Going back to the valuations in Fig. 9.17 (outgoing arrows) and comparing them
to the valuations, suggested by Lartigue, Contri and Bourdet, you can see that they
are very similar.
9.6 The Influence of Surface Reflectance on the Measurement Results
9.6
211
The Influence of Surface Reflectance
on the Measurement Results
Surface reflectance is caused by the interaction between light and the material that is
illuminated by the light. What happens with the light that is falling on a surface
depends on the properties of the material and the energy of the light. When light
makes contact with a surface, it bounces off or penetrates the material. The proportion of light penetrating the material is either absorbed by it, travels through it or
bounces off the material deeper under the surface. On the other hand, the reflected
light can spread away from the surface in several ways. In the case of mirror-like
surfaces, total reflection occurs (Fig. 9.18), where the incident ray and the reflected
ray angles are identical (Eq. 9.20), while rough surfaces produce diffuse reflection
(Fig. 9.21), which means that the reflected light is scattered in many directions.
In practice, a combination of both reflections usually occurs, which is shown in the
diagram in Fig. 9.19 [22, 23].
hi ¼ hr
ð9:20Þ
In general terms, the following equation can be written:
Ii ¼ Id þ Is þ Ia þ It
ð9:21Þ
where: Ii represents intensity of the incident ray, Id the intensity of diffuse reflection, Is the intensity of specular reflected light, Ia the intensity of absorbed light, and
It the intensity of the light, transmitted through the material. Converting the proportions of individual components:
Ii ¼ ðkd þ ks þ ka þ kt ÞIi
ð9:22Þ
kd þ ks þ ka þ k t ¼ 1
ð9:23Þ
where the following is true:
Fig. 9.18 A diagram of total
light reflection where the
incident ray and the reflection
ray are identical
212
9 Optical 3D Geometry Measurments Based on Laser Triangulation
Fig. 9.19 The energy of a light ray hitting a surface reflects partly specular and partly diffusely.
The ratio depends on the properties of the surface, material and the angle of incidence. Part of the
light can also be absorbed or travels through the material
Equation 9.24 defines the surface reflectance as part of the intensity of the
reflected light with a particular wavelength, compared to the total light intensity of
the same wavelength falling on a surface. Observing the reflection properties at
particular wavelengths is important, as laser-scanning systems work with only a
narrow wavelength of the laser light.
qðkÞ ¼ IIri ððkkÞÞ
ð9:24Þ
where Ir ðkÞ ¼ Id ðkÞ þ Is ðkÞ. How exactly light reflects from a surface affects the
way we see the surface, while reflection depends on the refractive index of the
material, the angle of incidence of the ray and the surface topography.
When capturing a shape by laser, the diffuse component of the reflection is
preferred, as the light that spreads evenly across space provides the most comparable quality of measurements, irrespective of the measuring angle of incidence
[24].
Separating the individual components of light reflection from CCD camera
images is often a difficult task; however, eliminating specularly reflected light
improves the quality of the measurement results in the areas of specular reflection.
Several methods for doing this have been suggested [25, 26].
The reflection characteristics of a surface can be determined by the use of
glossmeters. Following standard procedures, these optical instruments measure the
intensity of the light reflection from a measurand surface at different angles, prescribed by standards. Different measuring angles are prescribed, depending on the
surface. Glossmeters make it possible to define the reflection characteristics, as
shown in Fig. 9.20 [27, 28]:
9.6 The Influence of Surface Reflectance on the Measurement Results
213
Fig. 9.20 Different reflection characteristics identifiable by a glossmeter
(a) Specular gloss: It is defined as the ratio between the intensity of the incident
and the specular reflection. Most standards refer to the angle of incidence and
the measuring angle at 20°, 45°, or 60°.
(b) Sheen: Gloss, occurring with matt or rough surfaces, due to total reflection at
wide angles of incidence relative to the surface normal. ISO 2813:1994 and ISO
7668:1986 lay out the angle of incidence and the measuring angle at 85°.
(c) Lustre: Measurement to assess the proportion of the specular and the diffuse
component in the reflection. The angle of incidence is usually set at 45°, and the
measuring angle at 45° and 0°.
(d) Haze: Scattering of specularly reflected light. It is measured at an inclination of
a couple of degrees (1.8° or 2°) from the standard measuring angle.
214
9 Optical 3D Geometry Measurments Based on Laser Triangulation
(e) Distinctness of Image: A property of high-gloss surfaces, where patterns,
similar to laser speckle occur due to a wavy surface. Usually measured at an
angle of 60° and sample movement of at least 4 mm.
9.6.1
Diffuse Reflection
As said before, it is crucial to have the highest possible proportion of the diffuse
component of the reflected light, while the proportions of all other components
should be correspondingly lower, when measuring the shape of physical surfaces,
using a triangular measuring system. With all matt reflection surfaces—when the
highest proportion of the incident light scatters (diffusely reflect) in all directions—
a total diffuse reflection model can be used. Such surfaces appear identically bright
from all direction, regardless of where they are observed from.
The total diffuse reflection is also known as the Lambertian reflectance,
described by Lambert’s cosine law. This law says that the luminous intensity I,
observed on a Lambertian surface, is directly proportional to the cosine of the angle
h, representing the angle between the point of observation and the surface normal.
A major effect of Lambert’s cosine law is that its imagined luminance is always
identical, regardless of the angle of observing such a surface. In practical terms it
means that a human eye will see a surface identically bright from all angles of
observation. According to Lambertian reflectance, the luminance L is identical in all
directions, despite the released intensity per unit of surface decreasing with the
reflection angle, relative to the surface normal, as the observed surface is also
seemingly decreasing by the same proportion. It results in a constant luminance
across the entire half sphere (power per unit of solid angle per unit of projected
surface)—Fig. 9.21.
Fig. 9.21 Half sphere for
calculating luminous flux of a
Lambertian surface
9.6 The Influence of Surface Reflectance on the Measurement Results
215
Fig. 9.22 Ray intensity
according to Lambert’s cosine
law shown in polar
coordinates
Lambert’s cosine equation for determining luminance, dependent on the angle,
thus reads:
L0d ¼ Ld cos h
ð9:25Þ
where the surface luminance Ld is the amount of energy radiating perpendicularly
(normally) from the surface, L0d is the amount of energy at the angle h relative to the
normal.
An effect of this law is the distribution of the reflected energy after the light
reflects off a Lambertian surface in the manner shown in Fig. 9.22. It shows the
proportion of ray intensity at different angles of reflection from the normal, proportionally to the intensity of the ray, reflected perpendicularly to a Lambertian
surface. The diagram is shown in polar coordinates.
References
1. Curless BL (1997) New methods for surface reconstruction from range images. Ph.D. thesis,
Department of Electrical Engineering of Stanford University
2. Asakura T (1976) Surface roughness measurement. In: Speckle metrology, pp 11–49
3. Baribeau R, Rioux M (1991) Influence of speckle on laser range finders. Appl Opt 30
(20):2873–2878. https://doi.org/10.1364/AO.30.002873
4. Dorsch RG, Häuser G, Hermann JM (1994) Laser triangulation: fundamental uncertainty in
distance measurement. Appl Opt 33(7):1306–1314. https://doi.org/10.1364/AO.33.001306
5. Wallace AM, Liang B, Trucco E, Clark J (1999) Improving depth image acquisition using
polarized light. Int J Comput Vis 32(2):87–109. https://doi.org/10.1023/A:1008154415349
6. Chang CC, Li Z, Cai X, Dempsey P (2007) Error control and calibration in three-dimensional
anthropometric measurement of the hand by laser scanning with glass support. Measurement
40:21–27. https://doi.org/10.1016/j.measurement.2006.05.006
7. Jezeršek M, Fležar M, Možina J (2008) Laser multiple line triangulation system for real-time 3D
monitoring of chest wall during breathing. Strojniški vestnik—J Mech Eng 54(7–8):503–506
8. Korošec M, Duhovnik J, Vukašinović N (2007) Process modelling of non-contact reverse
engineering process. In: Proceeding of the 7th WSEAS international conference on signal
processing, computational geometry and artificial vision, (ISCGAV’07, Athens, Greece)
216
9 Optical 3D Geometry Measurments Based on Laser Triangulation
9. Feng HY, Liu Y, Xi F (2001) Analysis of digitizing errors of a laser scanning system. Precis
Eng 25:185–191. https://doi.org/10.1016/S0141-6359(00)00071-4
10. Xi F, Liu Y, Feng HY (2001) Error compensation for three-dimensional line laser scanning
data. Int J Adv Manufact Technol 18(3):211–216. https://doi.org/10.1007/s001700170076
11. Lartigue C, Contri A, Bourdet P (2002) Digitised point quality in relation with point
exploitation. Measurement 32:193–203. https://doi.org/10.1016/S0263-2241(02)00008-8
12. Contri A, Bourdet P, Lartigue C (1999) Quality of 3D digitised points obtained with
non-contact optical sensors. Ann CIRP 51(1):443–446. https://doi.org/10.1016/S0007-8506
(07)61556-X
13. Gestel NV, Cuypers S, Bleys P, Kruth JP (2008) A performance evaluation test for laser line
scanners on CMMs. Opt Lasers Eng 47:336–342. https://doi.org/10.1016/j.optlaseng.2008.
06.001
14. Keferstein CP, Marxer M (1998) Testing bench for laser triangulation sensors. Sens Rev 18
(3):183–187. https://doi.org/10.1108/02602289810226408
15. Vezzetti E (2009) Computer aided inspection: design of customer-oriented benchmark for
noncontact 3D scanner evaluation. Int J Adv Manufact Technol 43:1157–1166. https://doi.
org/10.1007/s00170-008-1562-x
16. Trucco E, Fisher RB, Fitzgibbon AW, Naidu DK (1998) Calibration, data consistency and
model acquisition with laser stripers. Int J Comput Integr Manuf 11(4):293–310. https://doi.
org/10.1080/095119298130642
17. Qiang Z, Wei W (2009) Calibration of laser scanning system based on 2D ball plate.
Measurement 42:963–968. https://doi.org/10.1016/j.measurement.2009.02.004
18. Wyszecki G, Stiles WS (2000) Chapter 1.4—reflecting materials. In: Color science—concepts
and methods, quantitative data and formulae, 2nd edn. Wiley. ISBN 0-471-02106-7, pp 51–63
19. Cuesta E, Rico JC, Fernandez P, Blanco D, Valino G (2009) Influence of roughness on surface
scanning by means of a laser stripe system. Int J Adv Manufact Technol 43:1157–1166. https://
doi.org/10.1007/s00170-008-1794-9
20. Zhou L, Waheed A, Cai J (1998) Correction technique to compensate the form error in 3D
profilometry. Measurement 23:117–123. https://doi.org/10.1016/S0263-2241(98)00014-1
21. Domján L, Kocsányi L, Richter P, Jeszenszky E (2003) SNR analysis of the stripe illuminator
based on linear emitter and cylindrical lens against solar irradiance. Opt Lasers Eng 40
(3):201–223. https://doi.org/10.1016/S0143-8166(02)00075-1
22. Tilley R (1999) Colour and the optical properties of materials. Willey. ISBN 0-471-85198-1,
pp 16–19
23. Brooker G (2003) Modern classical optics. Oxford University Press. ISBN 0-19-1, pp 249–
250
24. Lee SJ, Chang DY (2006) A laser sensor with multiple detectors for freeform surface
digitization. Int J Adv Manufact Technol 31(5–6):474–482. https://doi.org/10.1007/s00170005-0212-9
25. Jaklič A, Solina F (1993) Separating diffuse and specular component of image irradiance by
translating a camera. In: Chetverikov D, Kropatsch WG (eds) Computer analysis of images
and patterns. CAIP 1993. Lecture Notes in Computer Science, vol 719. Springer, Berlin,
Heidelberg. https://doi.org/10.1007/3-540-57233-3_56
26. Ragheb H, Hancock ER (2001) Separating Lambertian and specular reflectance components
using iterated conditional modes. In Proceedings of British machine vision conference,
pp 541–552. https://doi.org/10.5244/c.15.56
27. Kai CC, Meng CS, Ching LS et al (2000) Facial prosthetic model fabrication using rapid
prototyping tools. Integr Manufact Syst 11(1):42–53. https://doi.org/10.1108/
09576060010303668
28. Silvennoinen R, Peiponen KE, Muller K (2008) Specular gloss. Elsevier Inc. ISBN
978-0-0804-5314-9
Chapter 10
CAD Model Creation from Dense
Pointclouds
Abstract Using practical examples, this chapter presents in detail the procedures for
reconstructing CAD models from point clouds. These procedures differ depending on
the product’s geometry. We present a procedure for reconstructing the objects where
geometrically simple building blocks—surfaces—prevail, as well as two procedures
for reconstructing objects with prevailing freeform shapes. The first one involves
creating a CAD model that is based on the contours that follow the captured point
cloud, while in the other one, the cloud is used to create a closed—watertight—mesh
of four-edged freeform patches. The chapter explains working with points, and creating a triangular mesh, used as a basis for reconstructing the shape of an object into a
CAD model. The geometric approach explains the steps of attaching the basic geometric surfaces to a triangular mesh, then trimming and combining them into a solid
model. The first freeform surface approach provides advice for setting the contours
that will yield the best possible CAD model. We also explained in which cases to adopt
the approach of reconstructing freeform models. The second freeform-surface
approach provides recommendations for proper work with freeform patches in order
to achieve a correct description of the surface and the optimum patch density.
Point clouds are the most common type of information, resulting from capturing the
geometry of physical objects with 3D measuring devices. Point clouds can also be
created by means of mathematical and physical equations and algorithms, when we
want a product’s shape to follow a physical law. It was explained in Chap. 6 that
there are several procedures available to create CAD models from point clouds;
they are adjusted to the different design properties of the mesurands. In this chapter
we will demonstrate all the mentioned procedures.
© Springer Nature Switzerland AG 2019
N. Vukašinović and J. Duhovnik, Advanced CAD Modeling,
Springer Tracts in Mechanical Engineering,
https://doi.org/10.1007/978-3-030-02399-7_10
217
218
10.1
10 CAD Model Creation from Dense Pointclouds
Geometric Approach
This section explains the creation of a geometrically correct CAD model from a
clean point cloud. The process begins by creating a triangle mesh, and is followed
by recognising the basic surface shapes, making up a model, and finishes by joining
the surfaces into a CAD model. Depending on whether a point cloud represents an
object of geometrical shapes, or the surfaces consist of random shapes, you need to
decide between the two approaches to reconstruction. This case study shows how to
create a model of mostly geometrical shapes from a point cloud. Through clear
steps on a practical example, the following is shown: marking homogenous geometric shapes (e.g., flat, cylindrical, conical surfaces) and the boundaries between
them; setting the corresponding parametric surfaces; cutting and extending surfaces
and creating common edges; and creating a solid model and supplementing it with
the missing details. The procedure is presented in the SolidWorks modeller, with
the use of the ScanTo3D add-in; however, the procedure is similar in other specialist software programmes for creating CAD models from point clouds.
10.1.1 Importing Points and Creating a Triangular Mesh
Despite the common opinion that the SolidWorks CAD modeller is not suitable for
working with point clouds and surfaces, its premium versions have had, since 2007,
an add-in feature that is intended for surface reconstruction from point clouds. The
add-in allows the reconstruction of both geometric and freeform surfaces, and is
useful for the simple reconstructions of 3D shapes. For professional work with
point clouds there are several specialist programmes available, giving the user better
control over the individual steps of the reconstruction process; however, the
reconstruction procedure in any programme is similar to what will be shown in this
and the next chapter using an example in the SolidWorks modeller.
In order to import points into the modeller, activate the ScanTo3D add-in, found
in the Tools, Add-Ins menu.
For the execution of the example in this chapter, a point-cloud sample is
available at:
http://www.lecad.fs.uni-lj.si/nmodeliranje/geometric_points.zip.1
Open the prepared point cloud: File, Open and select the file pointcloud.asc. To
find and select this file you need to specify a file format in the search box. To do so,
select PointCloud Files in the drop-down menu. You can open these file formats: *.
xyz, *.txt, *.asc, *.vda, *.igs, *.ibl. (Fig. 10.1).
Select the mesh preparation wizard: Tools, ScanTo3D, Mesh Prep Wizard.
1
The material at the above address is intellectual property and can be used exclusively for educational purposes to follow the exercises in this book.
10.1
Geometric Approach
219
Fig. 10.1 Point clouds for creating a CAD model
If necessary, change the point cloud orientation, and continue with the next
step. In our case changing the orientation is not required. Simply confirm this step.
When the points are imported directly from a 3D measuring device, you need to
remove the noise, i.e., the point scattering from the ideal position, which can be
performed in the next step. The noise filter deletes the points that are away from the
adjacent points by a pre-set value (see Fig. 9.16 in Chapter 9). With the points for
this exercise already cleaned, you can skip this step.
In the next step, delete the points that might disturb the surface reconstruction.
This step is particularly useful for point clouds that are obtained by scanning, and
you would like to remove geometry markers and support elements not belonging to
the geometry of the scanned object.
With a large number of points and a simple geometry of the object you can
reduce the number of points in the last step. In our case there are about 600,000
points, and you can reduce this number by at least a half without losing any of the
important geometry details. Reducing the number of points exponentially reduces
the computation time for creating a mesh and identifying the surfaces. It often also
contributes to a better-quality triangular mesh. As a rule of thumb a successfully
created triangular mesh requires the point density to be at least by one class lower
than the noise. For example, with a mean point cloud resolution equalling 100 µm,
the noise should not exceed 10 µm.
Reduce the number of points by at least a half and confirm. Proceed to creating
the mesh.
Define the mesh smoothness in the next step. Smoothing works with an algorithm calculating the mean position of the points in a local segment, and bringing
the furthest points to this mean position. The greater the selected level of smoothing
the more distinct is this shift. With the basic object of mainly regular geometric
shapes, leave the smoothness as it is, as otherwise the sharp edges would be
rounded and the accuracy of further reconstruction negatively affected. This function is mainly intended for the smoothing of freeform surfaces, e.g., objects from
nature.
What follows is auto hole filling in the mesh, which concludes by making a
triangular mesh. The first part of the surface reconstruction from point clouds
results in the triangular mesh shown in Fig. 10.2.
220
10 CAD Model Creation from Dense Pointclouds
Fig. 10.2 A triangular mesh created from a point cloud
10.1.2 Recognition of the Surface Shape Primitives
If you closed the mesh preparation wizard in the previous step, now open the
surface wizard (Tools, ScanTo3D, Surface Wizard) or continue with the wizard
from the previous step.
Select the mesh you would like to work with. With only one mesh open, continue by clicking the right-hand arrow icon.
You need to decide between algorithms creating surfaces automatically and
monitoring the process step by step. On the menu on the left-hand side Creation
options you need to choose between reconstructing a CAD model using the method
of adjusting a parametric patch mesh (command Automatic creation), or using the
method of adjusting geometric primitives (command Guided creation). Choose the
latter for better control of the process.
With symmetric models you can set a symmetry plane in the next step, which
saves some work later on, and then continue with the next step.
In this step the programme identifies the basic surfaces bounding the model
(Fig. 10.3). The surfaces recognised in the first attempt are painted in different
colours, while the surfaces not yet properly identified are painted red. Set the
Sensitivity slider so that as many basic surfaces as possible are recognised at the
first attempt. When you are happy with your selection, click Apply.
Now select the next unrecognised sub-mesh (i.e., the bolt holes in Fig. 10.3) and
repeat the procedure until all the other basic surfaces that make up a model are
recognised (Fig. 10.4).
Using the Manual painting command you can manually mark surfaces or their
edges (or elsewhere). This comes into consideration when the programme itself
does not recognise some of the details. In this case the surface or its edge should be
marked manually, as shown on the example of the positioning pin in Fig. 10.5.
Once all the basic surfaces making up the model have been recognised and
marked according to the described procedures, move on to the next step by clicking
the parametric surfaces key Extract All Faces. The result is shown in Fig. 10.6.
Before confirming you need to check whether all the surfaces fulfil our geometry
requirements. See Fig. 10.7 as an example. You can see that the programme has
10.1
Geometric Approach
221
Fig. 10.3 Recognising the basic surfaces that make up a model. Unrecognised surfaces are
painted red
Fig. 10.4 Identifying the surfaces not recognised at the first attempt (red box), ‘chrushed’ edges
are result of pointcloud and triangulation errors (arrow)
recognised the mesh as conical, although we know that the surface is cylindrical.
Change it into cylindrical (Fig. 10.8). Also correct the dimensions.
Convert the fillets on the flange’s corners into a cylindrical shape to assess the
fillet radius. In the input field you can see that it equals 20 mm. Delete the fillet
surfaces, because after reconstructing the CAD model it will be easier and faster to
create a fillet of appropriate G1 continuity with the fillet function, which we are
already familiar with. Delete all the other surfaces, if there are any, not belonging to
the model and appear as a result of unused triangles. An example is shown in
Fig. 10.9.
222
10 CAD Model Creation from Dense Pointclouds
Fig. 10.5 Determining surfaces manually by painting the surface edge to eliminate the influence
of pointcloud and triangulation error (red edge of the positioning pin, bottom)
Fig. 10.6 Surfaces interpolated from a triangular mesh. They will be used to create a CAD model
Fig. 10.7 A bolt hole, initially recognised as a cone
10.1
Geometric Approach
223
Fig. 10.8 The icons on the left-hand side allow converting the shape of the bolt holes into a
cylinder, followed by setting its radius
Fig. 10.9 To delete redundant surfaces use the Delete Surface command within the wizard
With freeform surfaces such as the surface at the top of our object the first thing
to do is to check the deviations with respect to the triangular mesh. Select Display
deviation analysis. If the surface needs any modifications, select the Editing UV
curves command. It allows modifying the surface-defining curves (Fig. 10.10).
Correct the surface by moving, deleting and adding curves in order to minimize any
deviation. The procedure is similar to the Freeform function that is explained in
Chap. 3 of this book. Also pay attention to the surface symmetry.
224
10 CAD Model Creation from Dense Pointclouds
Fig. 10.10 Editing freeform surfaces as part of the geometric CAD model reconstruction from a
point cloud
Once all the surfaces defining the geometry of a measured object have been
verified and defined, just confirm the last step with a green tick and close the
wizard. Do not forget to save.
10.1.3 Creating a CAD Model
After closing the surface wizard, all the surfaces as well as split segments of the
triangle mesh are recorded in the tree structure (Fig. 10.11).
The segments of the triangular mesh that are used to create surfaces are still
preserved in the model but hidden, while the unused segments remained displayed
and are named with the Salient Sub-mesh prefix. Check the unused segments and
delete, if they are not needed.
Also check the created surfaces and correct them, if necessary, or delete the
redundant ones. Finally, keep only the surfaces that define the shape of the model
(Fig. 10.12).
In the last step you need to trim the surfaces and knit them, which results in a
solid CAD model (Fig. 10.13). To do this you can use all the SolidWorks functions
for working with surfaces so far explained in this book.
Before you finish modelling, you need to create the fillets on the flange’s edges
using the Fillet function. The fillet radius of 20 mm was estimated already in the
10.1
Geometric Approach
225
Fig. 10.11 Folders with triangular meshes (Mesh) and created surfaces (Surface Extracted) in the
modeller’s FeatureManager tree structure
Fig. 10.12 The surfaces making up the shape of the object
Fig. 10.13 A solid model reconstructed from point clouds
226
10 CAD Model Creation from Dense Pointclouds
Fig. 10.14 Finished solid CAD model with all the details created from a point cloud
wizard during the surface-recognition phase. Figure 10.14 shows the finished
model created from the captured points of a physical model.
Using the above procedure we transformed the geometry records from the initial
situation of several hundred thousand pieces of information (points), only
describing discrete information that a point is lying between, and the object and its
surroundings, to the final situation, where the geometry of an object is described by
the lowest possible volume of data. More important than the reduction in the
volume of data is their structure, because the final geometry is written using
parametric relations, which allows an easy modification and improvements to the
3D models. You only need to be aware that each transformation can lead to geometric deviations, when compared to the original physical model.
10.2
Free-Form Approach
In the previous section we presented a procedure for reconstructing CAD models,
when a point cloud represents surfaces of mostly regular geometric shapes. When
the surfaces are geometrically indefinable—referred to as freeform surfaces—or the
transitions between geometric elements are unclearly blended, this approach to
reconstruction is not very useful and a different strategy should be adopted.
There are two approaches available for reconstructing freeform surfaces. Choose
the one that better suits the shape you would like to reconstruct.
The first, faster and easier approach is particularly useful for simple and
unbranched shapes. It is based on creating contour lines and extrusion or surface
sweep, linking the contour lines.
In the case of more complex freeform surfaces, the use of contours for reconstruction purposes will complicate the reconstruction, while at the same time preventing good control of the details on the surface. In this case you need to adopt the
method of creating a mesh consisting of patches. They concentrate near geometrically complex parts of a surface and are diluted in simple sections. Patches have
been mathematically explained in Sect. 1.4.3, and now the method will be used on a
practical example.
Both methods are presented below. On the same example of a freeform model’s
point cloud we will first explain creating contours, working with contours and
10.2
Free-Form Approach
227
creating a CAD model from the contours. We will finish the CAD model by
creating all the details required for the functional geometry of the product. Within
the same case study we will create a parametric CAD model using the method of
placing a patch mesh over a point cloud. This part too will finish by creating
functional details.
10.2.1 Creating Surfaces, Using Contours
As with the case study from previous section, import the file bottle.asc, as shown in
Fig. 10.15 and accessible at:
http://www.lecad.fs.uni-lj.si/nmodeliranje/freeform_points.zip.2
Using the point cloud, create a mesh according to the procedure described in
detail in the previous chapter.
Having created the mesh, right-click its icon in the modeller’s Feature Manager
tree and select the Curve Wizard.
The wizard opens, offering three options to create curves (Creation Method).
Select the point cloud that you would like to use, and the method to create curves by
sections Section (Fig. 10.16).
To create sections, the following parameters should be set:
• The basic plane, parallel to the sections’ planes. In our case this can be the top
view plane (Top plane). If necessary, create a corresponding reference plane.
• Further, you need to select a reference point on the mesh. It defines the position
of the first section plane. In our case we chose a point lying at the end of the
object’s lower fillet a few millimetres above the Top plane (Fig. 10.17).
• Determine the number of section planes and distances between them. Do this so
that it is possible to describe the changes in the geometry along the entire height
of the object.
In the wizard’s last window you can find a curve-smoothing tool, showing how the
curve fits the triangular mesh (Curve Fit). If you believe that you have a
high-quality point cloud and mesh, make some slight adjustment to the curve in
order to minimise the influence of the triangulation error (Fig. 10.18). If the
adjustment is too large, it can cause curve deformation, regardless of the real
geometry.
After choosing all the settings, close the wizard. This step creates a new 3D
sketch containing all the contours, i.e., profiles (Fig. 10.19).
In the last step perform the loft command to obtain a closed CAD model, as
shown in Fig. 10.20.
2
The content at the web address above is intellectual property and can be used exclusively for
educational purposes in order to follow the exercises described in this book.
228
10 CAD Model Creation from Dense Pointclouds
Fig. 10.15 Point cloud
representing the surface of a
bottle
Using your pre-existing space modelling and advanced modelling knowledge,
create the neck and the bottom of the bottle, and export the model, as shown in
Fig. 10.21.
10.2.2 Creating Surfaces Using Patch Meshes
As mentioned before, this approach is used for complex, intricate shapes, and
surfaces mainly without easily recognisable geometric characteristics. This is the
most common approach to reconstructing freeform surfaces. However, it requires a
designer with a lot of experience and intuition about working with surfaces.
Understanding the theoretical background of splines and NURBS is also essential.
10.2
Free-Form Approach
229
Fig. 10.16 The wizard for creating curves from point clouds
Fig. 10.17 Choosing the first
section-plane’s point
This example will be demonstrated on the same file as above with the other
approach, so open again the bottle.asc file.
The same as with previous examples, use the point cloud and create a triangular
mesh (Tools, ScanTo3D, Mesh Prep Wizard). It is recommended to significantly
reduce the number of points, as this reduces the computation time for a negligible
loss of accuracy, as the model has rather simple shapes (Fig. 10.22).
230
10 CAD Model Creation from Dense Pointclouds
Fig. 10.18 Curve smoothing in relation to the basic triangular mesh
Fig. 10.19 Section curves
written in a 3D sketch
10.2
Free-Form Approach
231
Fig. 10.20 A CAD model
created from a point cloud
using contours
To create surfaces, open the surface wizard (Tools, ScanTo3D, Surface Wizard)
and confirm the mesh you intend to work with. In the left-hand Creation options
window, select automatic surface creation and confirm.
In the next step a mesh specification window Surface Detail opens on the left.
Using the slider, set the mesh density (coarse on the left, fine on the right), as shown
in Fig. 10.23. Having changed the mesh density, refresh it by clicking Update
Preview.
This is a very important step to provide high-quality surfaces, requiring a lot of
experience from the industrial or engineering designer. Our experience allows us to
formulate three empirical rules or guidelines for creating good-quality freeform
surfaces from point clouds:
1. The first rule for this type of surface reconstruction says that you should try to
create a high-quality surface with the smallest possible number of patches
(surface segments), but large enough for a successful and stable description of
232
10 CAD Model Creation from Dense Pointclouds
Fig. 10.21 Finished CAD model of a bottle created from a point cloud using section
the entire geometry of the product. The advantages of fewer patches include
smaller model files, faster computation and easier modelling later on.
2. The second rule says that the edge pairs in the nodes of individual patches
should be as rectangular as possible. In an ideal situation, four patches should
join in one node. The more the angle approaches 0° or 180° the less accurate is
the geometry description in that particular node and the higher is the probability
of an error (Fig. 10.24).
3. The third rule derives from the second rule: it recommends that patches should
join in the areas with the fewest changes in geometry. If this cannot be avoided,
the patch edges should be shorter than the radius of curvature of the part of the
surface that the patches describe.
In the SolidWorks ScanTo3D module the patches are controlled only via mesh
density settings and feature line editing (Edit Feature Lines), which defines the
global geometric changes, e.g., sharp edges or transitions between the areas of
different radii of the surface curvature (Fig. 10.25).
Figure 10.25 shows that the side of the bottle is divided with several feature
lines. As they are not symmetrical to one another, select the feature-line delete icon
10.2
Free-Form Approach
233
Fig. 10.22 A triangular mesh
consisting of 60,000 triangles
(Fig. 10.26) and delete the two curves that divide the side of the bottle into the
upper and bottom parts. Update the preview and create a new mesh. Figure 10.27
shows that after deleting some of the feature lines the patch mesh is coarser and
more evenly distributed, which was the objective of this step.
When you are satisfied with the mesh, complete this step and close the surface
wizard. The result is shown in Fig. 10.28. If you look closely the surface is not as
smooth as in the contour approach, and the top of the bottle still needs editing. The
problem is that the surface wizard does not give the user enough control of the mesh
editing and does not allow the creation of sharp edges. For serious work with
surfaces you need a professional programme that makes this possible.
234
10 CAD Model Creation from Dense Pointclouds
Fig. 10.23 Setting the patch mesh density: slider on the left—low density; slider on the right—
high density
Fig. 10.24 An error resulting
from too sharp an angle on
one of the patches. Too sharp
an angle on one patch also
causes too wide an angle in
the next node and on the
adjacent patch
10.3
Consolidation Tasks
235
Fig. 10.25 Feature lines
separating the areas of
individual geometric
properties
Fig. 10.26 Editing feature
lines (icons from left to right):
drawing new lines; deleting a
line; moving the end point of
a line; smoothing a line
10.3
Consolidation Tasks
10.3.1 Geometric Approach
Using point clouds, create the solid 3D CAD models shown in Figs. 10.29 and
10.30. As a building material use regular structural steel and calculate the mass.
You can find the data files in the enclosed material at the website, given at the
beginning of this chapter.
236
10 CAD Model Creation from Dense Pointclouds
Fig. 10.27 A patch mesh
after deleting four feature
lines on the sides of the bottle
10.3.2 Free-form Approach
Create a solid CAD model of the handle of a mixer tap based on the prepared point
cloud, as shown in Fig. 10.31. Try both approaches to freeform surface reconstruction from point clouds, explained in this chapter. Exercise documents
(utrjevanje-armatura.asc) are available at:
http://www.lecad.fs.uni-lj.si/nmodeliranje/freeform_points.zip.3
3
The content at the web address above is intellectual property and can be used exclusively for
educational purposes in order to follow the exercises described in this book.
10.3
Consolidation Tasks
Fig. 10.28 The end result of
freeform surface
reconstruction from a point
cloud by generating a patch
mesh
237
238
10 CAD Model Creation from Dense Pointclouds
Fig. 10.29 A point cloud for reconstructing a solid CAD model
Fig. 10.30 A point cloud for creating a CAD model from an existing product
10.3
Consolidation Tasks
Fig. 10.31 A point cloud defining the geometry of a tap handle
239
Chapter 11
Creation of Final Details
Abstract This last chapter covers the details of fillets, i.e., the transitions between
surfaces. Adding fillets and other aesthetic details is usually recommended just
before the end of the modelling process. This strategy is mainly due to better control
of the main function and shape of the product, which also includes changing and
modifying the product at some later stage, if necessary. It makes the computer model
more robust to changes and the design is more stable. On a variety of examples this
chapter presents different geometry-transition problems and possible solutions for
creating better-quality fillets and other design solutions. In order to present as many
different solutions as possible, there is no single large case study. Instead, there are
several small examples of different models with suggested problems in need of a
solution. In this way many explicit problems and approaches can be clearly exposed
and solutions demonstrated. As a conclusion to this chapter, a few guidelines are
presented, assisting in creating high-quality 3D models. The recommendations refer
to SolidWorks, but they also apply to most other up-to-date modellers.
The last chapter presents some methods and tools for creating high-quality design
solutions between individual surfaces of a product. In terms of the topic, this chapter
should belong to the first part of the book, dealing with advanced modelling procedures,
but for a particular reason we put it at the very end of this book. Aesthetic and also
functional design details are often—only if possible—created at the end of the design
and modelling process, after the product had been given its intended function and shape.
This is followed by adding auxiliary functions, taking account of technological
requirements for creating a product. Adding fillets and other aesthetic details is usually
recommended just before the end of the modelling process. This strategy is mainly due
to better control of the main function and shape of the product, which also includes
changing and modifying the product at some later stage, if necessary. It makes the
computer model more robust to changes and the design is more stable.
On a variety of examples, this chapter will present different geometry-transition
problems and possible solutions for creating better-quality fillets and other design
solutions. In order to present as many different solutions as possible, we will not
work on a single large project. Instead, there are several different models with
suggested problems that need a solution.
© Springer Nature Switzerland AG 2019
N. Vukašinović and J. Duhovnik, Advanced CAD Modeling,
Springer Tracts in Mechanical Engineering,
https://doi.org/10.1007/978-3-030-02399-7_11
241
242
11 Creation of Final Details
The objective of this chapter is for the reader to try different methods and
approaches for creating fillets and continuous transitions between surfaces. By
applying mathematical and geometrical knowledge, given throughout this book, he
or she will be capable of independently solving the most difficult geometric challenges. For this reason, this chapter ends with a concise list of guidelines and tips
for creating high-quality transitions.
To ease the work in this chapter, a set of pre-prepared models is available to the
reader, and on them, different fillet solutions are presented. The models are
accessible at:
http://www.lecad.fs.uni-lj.si/nmodeliranje/details.zip.1
11.1
Improving Surface Quality of Filleted Vertices
For an undemanding user of 3D modellers, the following example will seem
completely useless, as it apparently has nothing to do with the model geometry. It
will be presented at the beginning of this chapter because we also want to
emphasise the importance of the details that are invisible to the eyes. Anyone who
understands the principles of CAD surfaces and pays attention to potential problems
will easily recognise the roots of the problem in Fig. 11.1.
Let us take a simple orthogonal model, where we would like to fillet three adjacent
edges. The example is shown in Fig. 11.1. You can see that the fillet at the vertex of
the three edges has been created from a spherical section, which joins all the mesh rays
in one vertex. This situation, explained already in Sect. 4.1.2, heralds problems, and in
a similar way to avoiding nodes in the numerical analyses where too many edges
collect, you need to do the same in modelling too, as such cases cause unstable
geometries, especially when they are exported into other file formats and modellers.
The geometry of a vertex can be improved by fillets if we delete the created
surface and replace it by stretching a new one.
Use Delete Face, and then Filled Surface, paying attention to the tangency of
the selected edges. You can also opt for Delete and Fill, found under Delete Face.
Figure 11.2 shows an improved version of the above-described fillet. This time
the rays of the stretched surface are parallel, which makes the geometry in the
vertices more robust and less sensitive to potential errors.
11.2
‘Atomic Bomb’ Fillet
An approach similar to the previous example becomes even more useful when several
convex and concave edges meet, such as in Fig. 11.3. This approach aggressively
transforms the limited region by removing the complex surface geometry within this
1
The models are intellectual property and can be used exclusively for educational purposes in order
to follow the exercises described in this book.
11.2
‘Atomic Bomb’ Fillet
Fig. 11.1 Left: a mesh representing the geometry of the fillets; right: the result of filleting
Fig. 11.2 Improved surface of a filleted vertex. In this case the surface rays are parallel
Fig. 11.3 An example of a vertex joining 6 edges
243
244
11 Creation of Final Details
region and replacing it with a new blending surface—from which its name comes—
and is thus suitable for solving most difficult local blending problems.
In this case the biggest challenge is the complex transition from the convex section
into the concave one. While modellers are able to provide quite satisfactory technical
solutions, the solutions are both geometrically imperfect and not aesthetic. Figure 11.4
(left) shows that filleting has yielded a solution, resulting in a large number of faces
with small, acute angles, while the right part of the figure clearly shows a dip at the
centre of the filleted edges, which spoils the visual appearance of the product.
The problem can be solved by transforming the fillet and improving the transition between the edges by means of the atomic bomb fillet.
This can be done by cutting out the surfaces at the joint between all six edges,
deleting them and replacing them with a newly stretched surface. You need to make
use of an auxiliary plane, stretching it between the faces and drawing a circle on it
for a better-looking cut, see Fig. 11.5. The easiest way of uniquely determining the
surface and the circle is by selecting three surface vertices, as shown in the figure.
Fig. 11.4 Filleting 6 edges using the Fillet function
Fig. 11.5 An auxiliary plane
and a sketch for the surface
cut out
11.2
‘Atomic Bomb’ Fillet
245
Fig. 11.6 Improved fillet between six edges, using the atomic bomb fillet
Fig. 11.7 Alternative fillet between six edges using the atomic bomb fillet
The result of this operation is shown in Fig. 11.6. You can see that this method
has reduced the number of the surfaces that make up the geometry, it has improved
the transitions between the edges at this particular vertex, and increased the aesthetic
value of the product.
Alternatively, with a little more effort and using a straight line, it would be
possible to simply trim the three convex edges and carry on with the described
procedure, which would result in the solution, shown in Fig. 11.7.
11.3
Controlling Fillets Around Vertices
Vertices sometimes require a better control of fillets, particularly in terms of the
distance of the beginning of the fillet from the vertex. This is particularly important
for creating good-quality fillets, when several edges meet at one single vertex, as
shown in the example above. For this purpose, SolidWorks contains, under the
(Fillet) command, the Setback Parameters option, allowing control of the distance
from the point where the fillet starts to blend into a common vertex (Fig. 11.8).
The use of this function is shown on the same model as the previous examples,
and can be seen in Fig. 11.8, right. You can see that the surfaces in the vertex are
246
11 Creation of Final Details
Fig. 11.8 Using setback parameters settings to control vertex fillets
Fig. 11.9 Fillets using the setback parameters vertex control
sliced completely differently, compared to the previous two examples. The result is
significantly better than it would have been without setting the parameters, and
what matters the most is that in all the resulting surfaces the rays are parallel, which
makes the model structure much more stable Aesthetically, too, the model is a lot
better and comes very close to the result, achieved by means of the atomic bomb
fillet. The only problem is an increased number of surfaces in the area of the biggest
changes in geometry, which can result in problems with the continuity of the
transitions from one surface to another. The end result is shown in Fig. 11.9.
11.3
Controlling Fillets Around Vertices
247
Fig. 11.10 An 80 mm large cube with a 5 mm edge fillet and 20 mm vertex fillets applied with a
single fillet, setback parameters command
An alternative application of the Setback parameters vertex control is to define
an arbitrary size for the vertex fillet radius, independent of the size of the edge
fillets, which merge in vertex. Figure 11.10 shows an 80 mm large cube with a
5 mm edge fillet and 20 mm vertex fillets applied with a single Fillet, Setback
parameters command.
11.4
Difference Between Full Round Fillet and Face Fillet
On this example we will show the difference between two rather similar functions
for creating fillets between surfaces, but significantly different in terms of their
purpose and applicability:
Full round fillet is used when you wish to create fillets between three faces in a
way that the new surface is tangential to all three original surfaces (Fig. 11.11a, b, d
and e). This function is useful for both convex and concave fillets between surfaces.
Surfaces can form different angles; the key advantage is that the function can also
be used with two parallel surfaces (Fig. 11.11a). Its disadvantage is the absence of
control over the fillet radius, as the latter depends on the geometry of the surfaces
that it fillets (see Fig. 11.12, left).
Face fillet can be used when you need a fillet between two or more surfaces and
you need control over the fillet radius (Fig. 11.12, right), because the function does
not depend on tangency to the centre surface, as in the case of Full round fillet.
This property has its own advantages and disadvantages: it prevents successful
filleting between two parallel surfaces (Fig. 11.11a), whereas it allows the filleting
of two adjacent surfaces, which can otherwise also be achieved by regular edge
filleting (Fig. 11.11c). Another advantage of Face fillet is the ability to choose
248
Fig. 11.11 Practical use of fillets on different examples
Fig. 11.12 Full round fillet and face fillet command fields
11 Creation of Final Details
11.4
Difference Between Full Round Fillet and Face Fillet
249
between a circle-based fillet and a polynomial curve-based fillet. It gives you a
choice between a constant radius along the fillet—a deliberate decision for G1
surface continuity—or preferring a continuous change of the radius of curvature
between the surfaces, i.e., G2 surface continuity is required.
11.5
Fillets with a Constant Radius and Constant Width
The default and most commonly used fillet option is using a constant radius. Such a
fillet can be provided by choosing the edge you would like to fillet, or choosing
surfaces along which a fillet runs, as explained in Sect. 11.4. A constant radius fillet
results in a much narrower fillet belt in the section with an obtuse angle between the
surfaces, compared to the acute angles. The easiest way to explain the situation is
with a 2D sketch. Figure 11.13, left, shows an example of a constant radius fillet. It
results in a wider fillet of acute edges, compared to obtuse angles. In the same figure
on the right you can see that the fillet radius increases with obtuse angles when you
prescribe a constant fillet width.
A practical example of a constant-width fillet (with a constant length of the fillet
chord) is shown in Fig. 11.14. On both the upper edge and at the pot-handle
Fig. 11.13 2D illustration of the difference between a constant radius fillet (left) and a constant
width fillet (right)
Fig. 11.14 A constant-radius
fillet
250
11 Creation of Final Details
Fig. 11.15 A constant-width
fillet
attachment, you can see that the distance between the beginning and the end of the
fillet is uneven due to changed angle between the surfaces.
When a constant fillet width rather than a constant radius is preferred, you can
set a constant width within the Face Fillet function. Do this in the Fillet options
field by selecting Constant width. If required, set the continuity in the variation of
the radius of curvature by selecting the Curvature continuous option. The results of
filleting with a constant width are shown in Fig. 11.15.
11.6
Forcing Fillet Edges
Taking a critical view of all of the above examples of fillets, you can see that there
is no direct control over where on a surface a fillet begins and where it ends. The
edges can be determined only indirectly, by the radius of curvature, tangency and
the continuity of curvature.
When good control over the beginning and the end of a fillet is a priority, the
filleting methods above are not suitable. Taking a close look at the examples in
Figs. 11.14 and 11.15, you can see that filleting on the handle begins along a curved
space curve.
For reasons of technological feasibility, better visual appeal and to make the
work easier, we sometimes wish that the curve should be the projection of a straight
line onto the handle’s skin. In other words, from the side, the beginning of the
handle’s fillet appears to be a straight line. In the form of a 2D diagram, this is
shown in 11.16. Comparing it with the sketch in Fig. 11.13, you can see that the
fillet on the obtuse side of the angle has further increased and that it begins at the
same height as the acute edge, and the beginning of the fillet forms an imagined
straight line.
To achieve this effect, modelling requires a fillet function that forces one or two
fillet edges along a specific curve—a surface edge. In SolidWorks this function is
incorporated in the Surface fillet function. You can find it under Hold line in the
Fillet options field. Select only the edge along which the fillet should run, and
11.6
Forcing Fillet Edges
251
Fig. 11.16 Irrespective of the angle between surfaces, the fillet begins at an identical height
Fig. 11.17 Creating fillets along specific contours
confirm (Fig. 11.17). When two (both) edges are selected, you need to select
Curvature continuous, because in the case of a circular arc fillet, the problem
would be mathematically overdetermined. Conversely, choosing one edge and the
Curvature continuous option yields a mathematically underdetermined system,
which would make the filleting operation unsuccessful again. Namely, using a
circular arc fillet rotationally transforms the edge where a fillet begins from one
surface onto another in a rounded blend.
252
11 Creation of Final Details
Fig. 11.18 The fillet between
the handle and the pot begins
on the handle as the
projection of a straight
vertical line
Now, let us try to create a fillet on the pot handle from the previous example
using a forced fillet edge. The result when using this method is shown in Fig. 11.18.
You can see that in the side view that the beginning of the handle fillet forms a
straight line. The straight edge was predefined by creating a projection of a
straight-line sketch onto the handle using the Split line command.
11.7
Guidelines for Creating High-Quality
Fillets on Models
As the conclusion to this chapter, a few guidelines will be presented, assisting in
creating high-quality 3D models. The recommendations refer to SolidWorks, but
they apply to most other up-to-date modellers.
The first rule to remember is that there are no general rules to obey at all times.
And so, the best guidelines for creating high-quality models is experience, gained
through modelling practice and understanding the theoretical (mathematical and
physical) background of individual commands. A simple example: if not earlier,
you were able to learn through this book that first you need to fulfil the basic
function, which is followed by auxiliary functions, while aesthetic fillets are created
at the very end, when a model is functionally complete. It is also logical that in
shells, fillets cannot be larger than the radius of the shell thickness, which means
that the fillet should be made before the shell. You can see that the recommendations are not absolute, and as such, they should be taken sensibly and through
experience.
When deciding about creating fillets and entire models, you should therefore
make an advance decision on whether to give priority to the product’s visual
appearance or its functionality; whether to do the modelling job quickly, do you
want a robust model that you will later have to modify? Do you want a model,
exhibiting how it was created; are you comfortable or not with shortcuts, such as
wizards, that save some time but conceal traceability and control over the process?
You need to answer such question before deciding on the right modelling strategy.
11.7
Guidelines for Creating High-Quality Fillets on Models
253
Some other recommendations about filleting 3D models:
• Large functional fillets should have priority over cosmetic corrections;
• Do the cosmetic fillets at the very end;
• Sketches and geometric relations should not be related to the edges that are/will
be replaced by fillets;
• Relations between individual parts of an assembly that are attached to fillets or
fillet edges are not recommended;
• Never make fillets as the basic feature on which a model is structured. Instead,
build on other basic features, such as extrusion;
• If the radius of curvature should be larger than the shell thickness, the fillet
should be made before the shell;
• Avoid fillets in sketches if they do not bear main functions of the product;
• If additional features need to be added to a model containing fillets, try doing
this by rolling the model back before the first fillets (rolled back);
• Avoid making fillets before draft angles. However, this can cause some problems, as the draft angle should often be created only after the shell has been
created, but the fillets should be done before shelling.
Our experience allows us to put forward a few more recommendations on what
to do when a modeller refuses to create fillets the way you want them to be:
• Try another type of fillets, such as Face fillet or check/uncheck the tangent
propagation option;
• Try changing different continuity requirements of the fillet (define whether the
fillet should be based on a circle—constant radius, or a polynomial curve—
curvature continuous);
• Try to create fillets on shorter edge segments instead of selecting all the edges at
once;
• Change the size of the fillet radius;
• If possible, reduce the number of faces/surfaces across which the fillets run;
• Instead of fillets, use other methods to create transitions from one surface to
another, such as Loft, Delete surface, Replace surface and others;
• Use the Atomic Bomb fillet approach.
The most important thing about these recommendations is to test them and see
which approach best suits a particular problem.
11.7.1 Consolidation Tasks
Open the models that you have created so far and check your fillets. See whether
they can be replaced by the solutions from this chapter and check the importance of
the above advice about creating fillets. Compare their influences on the geometry,
functionality, visual appearance and stability of the model.
Download