Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Wimmer
(Guest Editors)
2 KAUST
(e)
(a)
(b)
(c)
(d)
(f)
Figure 1: Existing systems for dimension line layout produce static positions in world space (a). After rotating the view,
multiple artifacts are visible, e.g. the dimension lines occlude the model, intersect other dimension lines, or they no longer
have a desirable spacing from the model and other dimension lines (b). Our proposed solution enables a user to interactively
inspect the model while dimension lines are well positioned in a view-dependent manner, i.e. the dimension lines adapt when
the camera moves (c,d). We demonstrate that dimension lines can be used for editing a parametric model, as well as extensions
that allow the visualization and control of model parameters other than distances (e,f).
Abstract
We propose a solution for the dimensioning of parametric and procedural models. Dimensioning has long been
a staple of technical drawings, and we present the first solution for interactive dimensioning: a dimension line
positioning system that adapts to the view direction, given behavioral properties. After proposing a set of design
principles for interactive dimensioning, we describe our solution consisting of the following major components.
First, we describe how an author can specify the desired interactive behavior of a dimension line. Second, we
propose a novel algorithm to place dimension lines at interactive speeds. Third, we introduce multiple extensions,
including chained dimension lines, controls for different parameter types (e.g. discrete choices, angles), and the use
of dimension lines for interactive editing. Our results show the use of dimension lines in an interactive parametric
modeling environment for architectural, botanical, and mechanical models.
Categories and Subject Descriptors (according to ACM CCS): D.2.2 [Computer Graphics]: Design Tools and
TechniquesUser interfaces I.2.4 [Computer Graphics]: Knowledge Representation Formalisms and Methods
Representations (procedural and rule-based)
1. Introduction
In this paper, we introduce a method for the interactive dimensioning of parametric and procedural models. Our solution can be used in traditional modeling packages, or to
create simplified intuitive 3D editing tools for novice users.
Editing with interactive dimensioning is fast and only requires minimal understanding of the underlying parametric
model. We envision applications in entertainment, architecture, geography, rapid prototyping, and 3D printing.
In the traditional form, dimensioning includes the placement of dimension text, dimension lines, and extension lines
customized for a single view point. Dimension lines are line
segments that indicate the extent of a feature, while extension lines visually connect the ends of a dimension line to
the relevant feature in the model.
Dimensioning has been incorporated into many 3D modeling packages. However, current methods are mainly suited
to a static viewpoint and are typically completely manual.
In these methods, dimension lines are placed on a 2D drawing, or they are fixed in 3D world space. If the view point
changes, the dimension lines can occlude the model, or intersect other dimension lines (see Figure 1 (a,b)). In this paper, we propose the first method to extend dimensioning to
the interactive perspective rendering of 3D models. We offer
the following contributions:
In Section 3, we propose a set of design principles for interactive dimensioning (see Figure 2 for examples of good
and bad dimensioning) and show how interactive dimension lines can be defined.
In Section 4, we introduce the first algorithm to position
dimension lines in real time, according to the current camera view, as illustrated in Figure 1 (c, d).
In Section 5, we present techniques for using dimension
lines to edit direct and indirect parameters, as shown in
Figure 1 (e, f). Together with novel 3D handles for editing
various parameter types, these create a more intuitive user
experience than traditional systems.
4. Dimension lines should only be shown for visible features, i.e. not for a component on the back of the model.
5. Dimension lines should be as close to the feature that they
measure as possible (m is preferable to l or k).
6. Shorter dimension lines should be placed inside longer dimension lines (unlike j and k).
7. Dimension lines intersecting each other, or intersecting
extension lines, should be avoided (unlike d or k).
8. Dimension lines should be grouped in a co-linear, or coplanar, fashion when possible (e.g. n and o).
9. Dimension lines should avoid jumping during interactive
navigation.
10. Dimension lines should be as long as possible. Due to
perspective projection, dimension lines can have different
lengths depending on their placement.
b
h
d
e
a
f
c
m
Figure 3: To create an interactive dimension line on a parametric model, the author assigns a parameter to a scope
(yellow). Per-frame, our system then computes candidate
lines (left) and selects, using a scoring function, a final dimension line for a given view direction (middle, right).
Figure 4: Examples of good (green) and bad (red) dimension lines illustrating the design principles of Subsection 3.1.
The above design principles underconstrain the layout of dimension lines. Therefore, the author influences the behavior
by specifying the following properties:
Scope: A name identifies zero or more scopes in the parametric model. These scopes are used to position the parameters base lines. If multiple scopes have the same name, they
share all properties.
Type: Next, the author can choose the type (based
on [YTY94]): linear contour, linear center, diametric, radial, spherical diametric, or spherical radial. The types, illustrated in Figure 5, control the placement of the base lines
relative to the scopes.
Orientation: Each type also requires an orientation, either
relative to the scope or screen. Linear contour (Figure 5, row
1) and linear center (row 2) have one of 6 scope relative orientations. Diametric and radial (row 3) have 3 scope relative
orientations each, which are combined with the camera position to compute the base line locations. Finally, spherical diametric and spherical radial (row 4) base positions are specified by the scope and one of 2 screen-relative directions.
4. Dimensioning in Real-Time
In this section, we present the underlying methods of our
real-time dimensioning system. Each parameter in the parametric model is processed to find a final dimension line.
slip=scope
slip=billboard
slip=object
if C= then C = B
d = computeWinner(C, p.align, v)
add d to Gsnap
return d
x1
offset
offset
padding
x2
padding
tc
x
t
bc
(1)
Damp ( 4 = 0.5 handleSpacing ) tries to enforce consistency in the candidate selection and to avoid jumping dimension lines during navigation (design principle 9). If the candidate line is the same as the final line in the last frame Damp
returns 1, otherwise 0. See Figure 12 for an illustration.
c 2015 The Author(s)
c 2015 The Eurographics Association and John Wiley & Sons Ltd.
Computer Graphics Forum
First, given the set of base lines for a parameter (Figure 13, left, blue arrows), we cluster these base lines according to i) orientation, and ii) the planes that they lie in. Given
each such cluster, we find an oriented bounding rectangle of
all base lines in the plane associated with the cluster (Figure 13, left, blue dashed rectangle). Then we use two sides
of these oriented bounding rectangles as the new candidate
chain base lines (Figure 13, middle, green dashed lines), and
proceed using the algorithm from Section 4 to compute a
final chain line (Figure 13, middle, solid green line).
Figure 13: Chained dimension lines (red arrows) align final lines from the same parameter. The alignment is implemented by finding several candidate chain base lines
(dashed green arrows), and then finding the most suitable,
the final chain line (solid green arrow). Final dimension lines
are projected onto this final chain line.
The base lines within the cluster associated with the final
chain line are then projected onto the final chain line (Figure 13, right). We must account for intersections, both between the lines in the cluster, and, in the case that the final
chain line is a guide line, existing final lines from other parameters. For all base lines in the cluster associated with the
winning final chain line, we project them onto the final chain
line in world space. The nearest base lines are projected first.
If the region is already occupied, the base line is rejected.
We run the clustering algorithm as a pre-processing step,
and when the model changes. The combination of chained
dimension lines and guide lines produces a compact layout
when working with tiled or repeating elements; facades are
a typical example, as in Figure 14.
4.4. Object Plane Locations
Object planes provide organization to lines with the parameter slip=object. As illustrated in the accompanying video,
our early experiments showed that complex models under
extreme perspective created a forest of lines, that were
widely spread, untidy, and difficult to interpret. Our solution
is to pre-compute a smaller number of object planes from
the base line positions. Placing the candidate lines on these
planes results in a significantly tidier layout.
The set of object planes, Pobject , in Algorithm 1 is comprised of front and back facing partially-bounded planes that
cover most of the screen. To compute the planes, we first
project all base lines onto the objects ground plane (the xzplane of its OBB). Second, we compute the 2D convex hull
of the resulting points and lines on the ground plane. Third,
as illustrated in Figure 15, the hull is extruded to the height
of the object and each face of the resulting geometry becomes a plane. Planes with a normal within 0.1 radians of
perpendicular to the camera view direction are ignored. We
form two groups of planes: forward and backward facing;
each plane is clipped against the other planes in its group.
The forward facing planes are preferred for dimension line
placement in Subsection 4.2. We use this distinction between
forward and backward facing planes because, as illustrated
in the accompanying video, we observe that when the forward facing planes were full of lines, the backward facing
planes often have remaining space.
Figure 16: Left: the left distance field (red) for a model, and
a base line (blue). Middle: the distance field after positioning the candidate line (orange). The winning line sets the
boolean flag for the region it has updated (red dashed line).
Right: this allows subsequent final dimension lines to be positioned avoiding existing final dimension lines.
5. Interactive Editing
Figure 15: Computation of the object planes from the extruded convex hull (left). Forward (middle) and backward
(right) facing bounded planes are created.
Our dynamic line placement enables predictable and intuitive editing of parameters. It is natural for users to interactively edit models with dimension lines, as they are positioned close to the feature that they are manipulating, without obscuring the model itself.
Figure 19: Helix House. Top: world space static dimension line positions. Bottom: our system creates dimension lines that are
visible, usable, and consistent with design principles at a wide range of camera positions and fields of view.
name
fig.
poly count
params
Single Tree
Helix House
Lever
Boat
Omni Tree
Parthenon
Candler
18
19
20
21
22
23
24
5610
1495
1178
58214
29767
132263
45366
6
13
7
23
18
10
6
base lines
(in clusters)
15 (0)
210 (80)
45 (36)
37 (36)
75 (0)
266 (240)
2260 (2260)
num
clusters
0
22
10
24
0
32
47
preprocess
<1 ms
<1ms
< 1ms
2ms
<1 ms
2ms
87
GPU fps
(no handles)
459(1021)
171 (944)
353 (955)
147(681)
192(912)
129 (392)
66 (242)
CPU
impl
<1ms
11ms
3ms
364ms
1ms
1122ms
719ms
GPU
impl
<1ms
3.5ms
1.4ms
3ms
2ms
3ms
4ms
Table 1: For each model we include a number of statistics, including the total number of base lines, the number of those lines
which are in a cluster, and the frames per second measured; separate timings for the CPU and GPU implementations are given.
6. Results
We evaluated our system on a number of parametric models (Figures 18-24). A summary of the results are shown in
Table 1, and the accompanying video. These models give
a range of complexity (103 to 105 polygons), domains (architecture, engineering and botany) and number of parameters (6-23). Specifying the handles took between 10 and
50 minutes; the majority of this time is spent finding appropriate scopes for each handle. Our test system was a late
2012 Core i7 iMac with a GeForce GTX 680MX mobile
graphics card, displaying a viewport resolution of 1000 x
1000 pixels. Parametric models create a variety of geometry
and scopes, therefore we chose one typical parameterization
for each model. The total number of final handles shown is
typically the same as the number of parameters, with two
caveats. Firstly, this counts repeated handles for the same
parameter on a chain line only once. For example, the Candler buildings Window_Height parameter has 16 dimension
lines on a single chain line. Secondly, the number ignores
the effects of handles attached to occluded scopes and those
handles whose scopes are not created in this particular parameterization. In the Boat model, for example, each mast
has a Mast_Height parameter; some of which are only visible on larger parameterizations of the boat.
The system performance when rendering handles is always real time (66 to 495fps). The GPU generated distance
fields ensure that the number of base lines and distance
queries, rather than the polygon count, determine the performance. To illustrate this, we implemented a CPU only solution that positioned the dimension lines by processing the
object mesh; the results are shown in the right hand columns
of Table. 1. The GPU computed distance fields give a speedup of up to 370x compared to the CPU algorithm, with the
benefit increasing with model polygon count. Note that because of delayed buffer read-back, the GPU implementation
timings do not include the time to create the distance fields.
The chained lines ensure that even on large facades, the performance degradation was limited, with the byproduct of a
superior user experience.
Our decision to use scopes as the mechanism to position
dimension lines and other handles proved very flexible. As
a side effect of this design we are able to use other properties of the scopes; the size of the scope is used for indirect
handles, while the orientation frame is necessary to align rotational handles. The set of scopes abstraction is also very
adaptable to a wide range of parametric systems; indeed any
system capable of outputting a named, oriented cuboid can
use our dimension lines. Furthermore, one or more subrou-
b
g
c
d
Figure 20: Sprung Lever. Left: a) type=spherical diametric, slip=billboard; b) rotational, none; c) linear center, billboard; d & g) linear contour, scope; e) radial, billboard;
f) diametric, billboard. Middle: base lines (blue). Right:
changing the configuration of the model causes the dimension lines to re-calculate their positions.
Figure 21: Boat. The object planes allow the large number
of parameters on this model of a galleon to remain clear and
distinct.
a
b
c
h
d
f
Figure 23: Parthenon, Athens, Greece. Left: as we zoom into the model, it becomes impossible to position dimension lines
outside the silhouette. We see that dimension lines d (column spacing) and e (column radius) are positioned on their base lines.
In addition short lines with a minimum display length (i) become visible. Also of note are the three chained dimension lines
(def). Near right: orthographic top view. Far right: base line positions (blue).
Figure 24: Candler Building, Georgia, USA. Left: a three quarters perspective view. Middle left: dimension lines are positioned
inside the silhouette when zoomed in. Middle right: orthographic top view. Right: orthographic side view.
8. Acknowledgements
We thank Georg Schmid and Johannes Feld from architecture studio F.A.B. for their Helix House design and the inspiring conversations about parametric design. Further, we
also thank the reviewers for their helpful comments.
References
[Ada10]
[AHS05] A LI K., H ARTMANN K., S TROTHOTTE T.: Label layout for interactive 3d illustrations. Journal of the WSCG 13
(2005). 2
[Ame09] A MERICAN S OCIETY OF M ECHANICAL E NGINEERS:
ASME Y14.5 Dimensioning and Tolerancing: Engineering Drawing and Related Documentation Practices. 2009. 2
[Aut14]
[Aut15]
[BA89] B OND A. H., A HMED S. Z.: Knowledge-based automatic dimensioning. Artificial Intelligence in Engineering 4, 1
(1989), 3240. 2, 3
[BFH01] B ELL B., F EINER S., H LLERER T.: View management for virtual and augmented reality. In Proceedings of the
14th annual ACM symposium on User interface software and
technology (2001), ACM, pp. 101110. 2
[BHF02] B ELL B., H LLERER T., F EINER S.: An annotated
situation-awareness aid for augmented reality. In Proceedings
of the 15th annual ACM symposium on User interface software
and technology (2002), ACM, pp. 213216. 2
[BWKS11] B OKELOH M., WAND M., KOLTUN V., S EIDEL H.P.: Pattern-aware shape deformation using sliding dockers. In
Proceedings of the 2011 SIGGRAPH Asia Conference (New
York, NY, USA, 2011), SA 11, ACM, pp. 123:1123:10. 2
M., G INSBURG
B., T RIANTOS
www.opengl.org
[LS08] L IEU D., S ORBY S.: Visualization, modeling, and graphics for engineering design. Cengage Learning, 2008. 3, 7
[LWW08] L IPP M., W ONKA P., W IMMER M.: Interactive visual
editing of grammars for procedural architecture. ACM Transactions on Graphics 27, 3 (2008). 2
[MWCS13] M ILLIEZ A., WAND M., C ANI M.-P., S EIDEL H.P.: Mutable elastic models for sculpting structured shapes. Computer Graphics Forum 32, 2pt1 (2013), 2130. Special Issue:
Proc. Eurographics, May 2013, Girona, Spain. 2
[MWH 06] M LLER P., W ONKA P., H AEGLER S., U LMER A.,
VAN G OOL L.: Procedural modeling of buildings. ACM Transactions on Graphics 25, 3 (2006), 614623. 2, 10, 11
[MYY 10] M ITRA N. J., YANG Y.-L., YAN D.-M., L I W.,
AGRAWALA M.: Illustrating how mechanical assemblies work.
ACM Transactions on Graphics 29, 4 (2010). 2
[PL90] P RUSINKIEWICZ P., L INDENMAYER A.: The Algorithmic Beauty of Plants. Springer-Verlag New York, Inc., 1990. 2
[Rad99] R ADEMACHER P.: View-dependent geometry. In Proceedings of the 26th Annual Conference on Computer Graphics and Interactive Techniques (New York, NY, USA, 1999),
SIGGRAPH 99, ACM Press/Addison-Wesley Publishing Co.,
pp. 439446. 2
[SD08] S TEIN T., D CORET X.: Dynamic label placement for
improved interactive exploration. In Proceedings of the 6th International Symposium on Non-photorealistic Animation and Rendering (New York, NY, USA, 2008), NPAR 08, ACM, pp. 15
21. 2
[SHR 92] S NIBBE S. S., H ERNDON K. P., ROBBINS D. C.,
C ONNER D. B., VAN DAM A.: Using deformations to explore
3d widget design. ACM SIGGRAPH Computer Graphics 26, 2
(1992), 351352. 2
[Sid13] S IDE E FFECTS
www.sidefx.com. 2
S OFTWARE:
Houdini,
2013.
[CFL01] C HEN K.-Z., F ENG X.- A ., L U Q.- S .: Intelligent dimensioning for mechanical parts based on feature extraction.
Computer-Aided Design 33, 13 (2001), 949965. 2
[SLZ 13] S HAO T., L I W., Z HOU K., X U W., G UO B., M I TRA N. J.: Interpreting concept sketches. ACM Transactions
on Graphics 32, 4 (2013). 2
[Tri14]
[CMS95] C HRISTENSEN J., M ARKS J., S HIEBER S.: An empirical study of algorithms for point-feature label placement. ACM
Trans. Graph. 14, 3 (July 1995), 203232. 2
[Das15] DASSAULT S YSTMES:
www.solidworks.com. 2
SolidWorks,
2015.
I NTERNATIONAL O RGANIZATION FOR S TANDARDIZA ISO 128-1: Technical drawings General principles of
presentation. 2003. 2
TION :
[VVAH07] VOLLICK I., VOGEL D., AGRAWALA M., H ERTZ MANN A.: Specifying label layout style by example. In Proceedings of the 20th Annual ACM Symposium on User Interface Software and Technology (New York, NY, USA, 2007), UIST 07,
ACM, pp. 221230. 2
[Wik14] W IKIPEDIA:
Geometric
dimensioning and tolerancing, 2014.
www.wikipedia.org
/wiki/Geometric_dimensioning_and_tolerancing. 3
[YTY94] Y U K., TAN S., Y UEN M.: A review of automatic dimensioning and tolerancing schemes. Engineering with computers 10, 2 (1994), 6380. 3