
At a Glance
808 Pages
23.39 x 15.6 x 4.29
Hardcover
$339.90
or 4 interest-free payments of $84.97 with
 orÂAims to ship in 7 to 10 business days
Boundary representation is the principal solid modelling method used in modern CAD/CAM systems. There have been a long series of developments on which currently available systems are based, full details of which are only partially known. Ian Stroud's thorough coverage of these developments puts this technology in perspective. It includes:
- data structures
- algorithms and other related techniques including non-manifold modelling
- product modelling
- graphics
- disc files and data exchange
- some applications related topics.
A basic knowledge of the technique will make it easier to use kernel modelling packages for application developments.
Ian Stroud started working with boundary representation solid modelling in 1977. Since then he has researched and is researching a wide variety of topics in and around this field. The information in the book comes from the results of this research.
Industry Reviews
Introduction | p. 1 |
Background | p. 1 |
Representations for solid modelling | p. 3 |
Cell decomposition | p. 3 |
General sweeping | p. 3 |
Set theoretic | p. 5 |
Boundary representation | p. 5 |
Implications for commercialisation | p. 6 |
Product modelling | p. 7 |
Modelling Background | p. 11 |
The BUILD system | p. 13 |
Baumgart and the winged-edge representation | p. 14 |
BUILD system: Developments and extensions | p. 16 |
The GPM project | p. 19 |
Feature recognition and features in modelling | p. 22 |
Non-manifold modelling | p. 23 |
Modelling system implementation | p. 24 |
Research directions | p. 25 |
Datastructures and tools | p. 29 |
Modelling datastructures | p. 29 |
Open questions | p. 32 |
Elements of the datastructure | p. 34 |
Geometry | p. 39 |
Arbitrary representations | p. 41 |
Topological connections | p. 42 |
Modelling facilities | p. 47 |
Traversing all related elements in a structure | p. 57 |
Single entity traversals | p. 67 |
Topological utilities | p. 68 |
Geometric interrogations | p. 70 |
General utilities | p. 73 |
Assembly structures | p. 74 |
Determining the assembly structure | p. 75 |
Handling instances | p. 80 |
Constraints or connections | p. 80 |
Mechanism libraries | p. 81 |
Euler operators | p. 83 |
Spanning sets and decompositions | p. 84 |
Restrictions | p. 91 |
Special representations | p. 93 |
Conversions between representations | p. 97 |
Modelling operations on special models | p. 103 |
Setting a wireframe model in a surface | p. 103 |
Blending and chamfering | p. 106 |
Sweeping | p. 108 |
Joining and splitting along edges | p. 110 |
Planar sectioning | p. 112 |
Boolean operations | p. 114 |
Shelling objects | p. 115 |
Unfolding models | p. 115 |
Compound models | p. 119 |
Conclusions | p. 122 |
Stepwise modelling algorithms | p. 125 |
Boolean operations | p. 126 |
Finding the Boolean interactions | p. 127 |
Special cases in intersection boundary creation | p. 132 |
Creating the intersection boundary | p. 133 |
Merging the objects (creating new shells) | p. 135 |
Boolean operations with assemblies | p. 139 |
Local Boolean operations | p. 141 |
Sweeping/Swinging | p. 142 |
Improved sweep/swing algorithm | p. 145 |
Sweeping along a path | p. 151 |
Sweeping wireframe models | p. 153 |
First algorithm | p. 155 |
Non-Eulerian edge sweeping | p. 155 |
Eulerian edge sweeping | p. 157 |
Second algorithm | p. 158 |
Swinging flat | p. 164 |
Gluing coincident identical topology | p. 167 |
Gluing identical faces | p. 167 |
Gluing coincident identical edges | p. 173 |
Gluing coincident identical vertices | p. 177 |
Reflect | p. 178 |
Bend | p. 179 |
The basic algorithm | p. 179 |
Giving sheet objects thickness | p. 183 |
The basic algorithm | p. 183 |
Planar sectioning | p. 185 |
The basic algorithm | p. 185 |
Imprinting | p. 192 |
The basic algorithm | p. 192 |
Creating the dual of an object | p. 195 |
Constructing the topology of the dual | p. 196 |
Creating the geometry of the dual | p. 198 |
Setting a surface in a face (SETSURF) | p. 199 |
The basic algorithm | p. 199 |
Special cases | p. 203 |
Extensions to the algorithm | p. 203 |
Drafting | p. 207 |
Gluing non-matching faces | p. 208 |
The basic algorithm | p. 211 |
Special cases | p. 213 |
Modelling operator definition | p. 215 |
Definition of requirements | p. 216 |
Finishing and manufacturing operations | p. 217 |
Converting degenerate models and parts of models | p. 218 |
Other operations | p. 221 |
Task decomposition | p. 222 |
Finishing operation task decomposition | p. 223 |
Model conversion task decomposition | p. 226 |
Complex operation task decomposition | p. 227 |
Pathological conditions | p. 229 |
Examples | p. 231 |
Add a slot or pocket to a face | p. 231 |
Rebate an edge | p. 243 |
Product modelling | p. 253 |
Product modelling | p. 254 |
Design information | p. 255 |
Customer-based order information | p. 257 |
Production planning information | p. 258 |
Information classes | p. 259 |
Category 1 - shape | p. 259 |
Category 2 - shape modifiers | p. 260 |
Category 3 - features | p. 260 |
Category 4 - attributes | p. 260 |
Category 5 - constraints | p. 260 |
Category 6 - free-standing geometry | p. 261 |
Category 7 - connections | p. 261 |
Handling information during modelling | p. 262 |
Category 1 - The basic shape of the model | p. 263 |
Category 2 - Shape modifiers | p. 263 |
Category 3 - Features | p. 264 |
Category 4 - Passive information | p. 269 |
Category 5 - Constraints | p. 269 |
Category 6 - Geometric frameworks | p. 270 |
Category 7 - Mechanisms and linkages | p. 270 |
Feature modelling | p. 273 |
Feature datastructures | p. 276 |
Feature facesets | p. 277 |
Feature frames | p. 278 |
Manual feature acquisition | p. 280 |
Design by features | p. 281 |
Adding features to a shape | p. 281 |
Building objects from isolated features | p. 284 |
Feature recognition | p. 285 |
Classic feature recognition | p. 285 |
Features and applications | p. 293 |
Volumetric decomposition | p. 296 |
Feature verification | p. 296 |
Structuring features | p. 297 |
Graphics | p. 299 |
Model-space graphics | p. 301 |
Drawing styles | p. 303 |
Viewing coordinate system and model transformations | p. 306 |
Drawing all edges in a body | p. 307 |
Drawing edges and silhouettes | p. 311 |
Exact hidden line algorithms | p. 312 |
Bread slicing | p. 313 |
Ray tracing | p. 314 |
Device-space graphics | p. 314 |
Facetting an object | p. 317 |
Drawing free-standing geometry | p. 319 |
Drawing non-geometric information | p. 321 |
Inputting and outputting | p. 325 |
Writing to disc | p. 325 |
Reading from disc | p. 329 |
Reading old discfiles | p. 331 |
Examples | p. 331 |
Supplementary information | p. 338 |
Communication with other modellers | p. 339 |
STEP | p. 346 |
Printing models | p. 356 |
Modeller access | p. 365 |
Command interpreter architecture | p. 366 |
Working stacks | p. 366 |
Command structures (sub-interpreters) | p. 367 |
Syntax handling | p. 373 |
Model element identification | p. 375 |
Multi-user modelling | p. 379 |
Splitting up the command interpreter | p. 379 |
Blocking access to sensitive model parts | p. 383 |
Command files and macro-languages | p. 383 |
Application programming interfaces | p. 383 |
Classic programming interfaces | p. 384 |
DJINN | p. 384 |
Free-form geometry | p. 387 |
Basics | p. 387 |
Bezier geometry | p. 388 |
B-spline geometry | p. 393 |
Rational forms | p. 398 |
NURBS geometry | p. 399 |
Curves with multiple pieces | p. 400 |
Surfaces | p. 402 |
Interpolation | p. 406 |
Interpolation for a single curve | p. 406 |
Interpolation with a point and a tangent vector | p. 413 |
Interpolation with compound curves | p. 415 |
Lofting | p. 417 |
Adding free-form surfaces to a face | p. 425 |
SETSURF | p. 425 |
Multi-patch SETSURF | p. 425 |
Embossing a free-form surface | p. 427 |
Miscellaneous comments | p. 429 |
Building a model from surface patches | p. 431 |
Creating surface topology | p. 432 |
Sewing together partial objects | p. 432 |
Handling problems | p. 432 |
Model 'sculpting' methods | p. 433 |
Implemented operations | p. 434 |
Smoothing | p. 443 |
Conclusions | p. 451 |
Applications | p. 453 |
Model verification | p. 453 |
Justification | p. 454 |
Verifications | p. 455 |
Model verification in ACIS | p. 459 |
Final remarks | p. 470 |
Model 'healing' | p. 471 |
Assembly healing | p. 472 |
Topological healing | p. 472 |
Geometric healing | p. 475 |
Combined healing | p. 479 |
Making things nice | p. 479 |
Self-intersection repair | p. 481 |
Information repair | p. 481 |
Generating an octree model from a B-rep | p. 482 |
Recreating a B-rep from an STL file | p. 483 |
Reading non-connected facet formats | p. 485 |
Reading a shared vertex file | p. 488 |
Rapid prototyping | p. 491 |
Slice approximation | p. 494 |
Layer approximation | p. 496 |
Reverse engineering | p. 496 |
Measurement | p. 499 |
Pointset merging | p. 505 |
Segmentation of surfaces and surface fitting | p. 509 |
Model recreation | p. 511 |
Volume calculation | p. 515 |
Tetrahedral element decomposition | p. 518 |
Patterns | p. 523 |
The Medial Axis Transform | p. 535 |
The medial axis transform | p. 535 |
MAT of a solid object | p. 537 |
MAT terminology | p. 537 |
Calculating critical points | p. 539 |
Dual space | p. 542 |
The multiple start point algorithm | p. 542 |
The divide-and-conquer algorithm | p. 552 |
Creating the modified dual | p. 576 |
Extracting nodes | p. 577 |
The negative MAT | p. 589 |
Subdividing and offsetting | p. 592 |
MAT with real geometry? | p. 601 |
Miscellaneous aspects of modelling | p. 603 |
Geometric tolerances | p. 603 |
Debugging | p. 605 |
Error handling | p. 605 |
Error messages | p. 605 |
Return codes and tracebacks | p. 606 |
Acknowledgements | p. 607 |
Data definitions | p. 609 |
Datastructure definitions | p. 609 |
VERTEX | p. 609 |
EDGE | p. 611 |
LOOP-EDGE LINK | p. 615 |
VERTEX-EDGE LINK | p. 616 |
BUNDLE | p. 616 |
WEDGE | p. 616 |
FACE | p. 617 |
LOOP | p. 617 |
FACEGROUP | p. 619 |
SHELL | p. 619 |
WIREFRAME_OBJECT | p. 620 |
SHEET_OBJECT | p. 620 |
VOLUME_OBJECT | p. 621 |
POINT | p. 622 |
CURVE | p. 623 |
CURVETYPE | p. 623 |
SURFACE | p. 623 |
SURFACETYPE | p. 624 |
INSTANCE | p. 624 |
GROUP-OF-OBJECTS | p. 625 |
FEATURE | p. 625 |
FRAMETYPE | p. 627 |
FEATURE-LINK | p. 627 |
MECHANISM_CONSTRAINT | p. 627 |
SHAPE_MODIFIER | p. 628 |
CONSTRAINT_DATA | p. 629 |
SUPPLEMENTARY_GEOMETRY | p. 629 |
PASSIVE_DATA | p. 629 |
NAME | p. 630 |
INFORMATION_ELEMENT | p. 630 |
TRANSFORMATION | p. 630 |
GENERAL_GROUP | p. 630 |
GENERAL_GROUP LINK | p. 631 |
SPACE | p. 631 |
ACCESS | p. 632 |
Geometry formats | p. 632 |
PLANE | p. 633 |
PLANE (alternative) | p. 633 |
SPHERE | p. 634 |
CYLINDER | p. 634 |
CONE | p. 634 |
GENERAL QUADRIC | p. 634 |
TOROID | p. 635 |
FREE-FORM SURFACE | p. 635 |
STRAIGHT LINE | p. 635 |
STRAIGHT LINE - short form | p. 636 |
CIRCLE | p. 636 |
CIRCULAR ARC - short form | p. 636 |
ELLIPSE | p. 637 |
PARABOLA | p. 637 |
HYPERBOLA | p. 637 |
FREE-FORM CURVE | p. 639 |
Feature frames | p. 639 |
Boss | p. 639 |
p. 639 | |
Slot | p. 640 |
Partial slot | p. 640 |
Bridge | p. 640 |
Reentrant | p. 640 |
Rail | p. 640 |
Through hole | p. 641 |
Unclassified | p. 641 |
Datastructure traversals | p. 643 |
Multiple element traversals | p. 643 |
Owner to single level structure following | p. 645 |
Shared entity traversal | p. 645 |
Tree-structure traversal | p. 646 |
Topological set traversal | p. 647 |
Manifold datastructure traversals | p. 649 |
Non-manifold datastructure traversals | p. 650 |
Edge element traversals | p. 650 |
rloop | p. 651 |
lloop | p. 652 |
svert | p. 652 |
evert | p. 653 |
rcwe | p. 653 |
rcce | p. 654 |
lcwe | p. 655 |
lcce | p. 656 |
Single element traversals | p. 657 |
vopev | p. 657 |
lopel | p. 658 |
ecwel | p. 658 |
eccel | p. 658 |
vcwel | p. 659 |
vccel | p. 659 |
ecwev | p. 660 |
eccev | p. 660 |
lcwev | p. 661 |
lccev | p. 661 |
ecwlv | p. 661 |
ecclv | p. 662 |
eclev | p. 662 |
vve | p. 663 |
Topological utilities | p. 665 |
Creating and deleting entities | p. 665 |
Moving entities to new owners | p. 666 |
Separate sequence of edges into new loop | p. 667 |
Separate a sequence of edges belonging to a new vertex | p. 668 |
Separate a set of adjacent faces, edges, and vertices into a new shell | p. 668 |
Check whether an edge is a wire edge | p. 669 |
Check whether an edge or vertex is a spur | p. 669 |
Check whether a loop is a hole-loop | p. 670 |
Checks for special object types | p. 670 |
Copy an object | p. 670 |
Modify an object with a transformation | p. 671 |
Geometrical utilities | p. 673 |
Geometric intersection package | p. 673 |
Planar intersections | p. 678 |
Cylinder intersections | p. 684 |
Cone intersections | p. 688 |
Sphere intersections | p. 690 |
Torus intersections | p. 690 |
Numeric patch intersections | p. 690 |
Curve tangent | p. 691 |
Surface normal | p. 693 |
Parameter value of point on curve | p. 694 |
Parameter values of a point on a surface | p. 698 |
Curve coordinates from parameter value | p. 701 |
Surface coordinates from parameter values | p. 703 |
Create a surface by sweeping an edge | p. 704 |
Modify geometry | p. 705 |
Reparametrise a curve | p. 706 |
Offset curve from a given curve | p. 706 |
Offset surface from a given surface | p. 707 |
General utilities | p. 709 |
Marker bits | p. 709 |
Matrix and vector packages | p. 709 |
Point in body | p. 709 |
Point in face | p. 711 |
Loop in face | p. 713 |
Intersect a face with a curve | p. 713 |
Curve-edge orientation | p. 715 |
Convex, concave, smooth edge | p. 715 |
Loop area and orientation | p. 716 |
Euler operators | p. 719 |
Make edge vertex (spur vertex and edge) | p. 723 |
Make an edge and vertex (split an edge) | p. 725 |
Make an edge and vertex (split a vertex) | p. 729 |
Make an edge and a face | p. 733 |
Make an edge and a face (slicing an edge) | p. 735 |
Make an edge and kill a hole-loop | p. 736 |
Make an edge and kill a face and body (shell) | p. 736 |
Make a vertex, a face, and a new object | p. 737 |
Make a hole-loop and kill a face | p. 739 |
Make a vertex and a hole-loop | p. 741 |
Kill an edge and vertex | p. 741 |
Kill an edge | p. 743 |
Kill a hole-loop and make a face | p. 746 |
Kill a vertex and a hole-loop | p. 747 |
Merge coincident vertices | p. 748 |
The null operator | p. 748 |
Modelling implementation notes | p. 751 |
Boolean operations | p. 751 |
Sweeping/Swinging | p. 753 |
Sweeping wireframe models | p. 759 |
Gluing coincident identical topology | p. 760 |
Face joining | p. 760 |
Edge joining | p. 760 |
Reflect | p. 761 |
Bend | p. 761 |
Giving sheet objects thickness | p. 762 |
Planar sectioning | p. 763 |
Imprinting | p. 764 |
Creating the dual of an object | p. 764 |
Bibliography | p. 765 |
Index | p. 777 |
Table of Contents provided by Ingram. All Rights Reserved. |
ISBN: 9781846283123
ISBN-10: 1846283124
Published: 8th September 2006
Format: Hardcover
Language: English
Number of Pages: 808
Audience: Professional and Scholarly
Publisher: Springer Nature B.V.
Country of Publication: GB
Dimensions (cm): 23.39 x 15.6 x 4.29
Weight (kg): 1.23
Shipping
Standard Shipping | Express Shipping | |
---|---|---|
Metro postcodes: | $9.99 | $14.95 |
Regional postcodes: | $9.99 | $14.95 |
Rural postcodes: | $9.99 | $14.95 |
Orders over $79.00 qualify for free shipping.
How to return your order
At Booktopia, we offer hassle-free returns in accordance with our returns policy. If you wish to return an item, please get in touch with Booktopia Customer Care.
Additional postage charges may be applicable.
Defective items
If there is a problem with any of the items received for your order then the Booktopia Customer Care team is ready to assist you.
For more info please visit our Help Centre.
You Can Find This Book In
This product is categorised by
- Non-FictionMathematicsCalculus & Mathematical AnalysisNumerical Analysis
- Non-FictionComputing & I.T.Graphical & Digital Media ApplicationsComputer-Aided Design CAD
- Non-FictionComputing & I.T.Computer ScienceArtificial IntelligenceComputer Vision
- Non-FictionArts & EntertainmentArchitectureArchitectural Structure & Design