Study notes for Ian Stroud, Boundary Representation Modelling Techniques (Springer, 2006).

Real CAD models are messy: they involve wireframes, sheets, degenerate cases, and intermediate states. This chapter focuses on how a modeller handles special representations and operations on them.

1) Conversions between representations

A robust system often converts between:

  • wireframe ↔ surface model ↔ solid model
  • manifold ↔ non-manifold forms
  • simplified internal forms ↔ rich external forms

Key insight: conversion is not purely geometric; it requires deciding topology intent (e.g., when a set of curves should become a face boundary).

2) Operations on special models

The chapter discusses modelling operations that are common in practice but tricky in general B-Rep:

  • embedding / setting a wireframe into a surface (so it can later be used for trimming or splitting)
  • blending and chamfering (which require careful adjacency handling and trimming)
  • sweeping operations (especially when the input is not a closed solid)
  • joining and splitting along edges (topological editing)
  • planar sectioning (cutting with a plane, producing both geometry and topology updates)

A recurring theme: these operations are easier if you have standard intersection and trimming utilities, and if your topology graph supports quick neighbourhood navigation.

3) Compound models and conclusions

Compound or mixed models occur when:

  • assemblies are treated as a modelling unit
  • imported geometry is partially inconsistent
  • modelling intent produces intermediate non-manifold topology

The message is: build systematic handling rather than ad-hoc exceptions.

Chapter outline (from the book)

Major sections

  • 5.1 Conversions Between Representations
  • 5.2 Modelling Operations On Special Models
  • 5.3 Compound Models
  • 5.4 Conclusions

Selected subsections

  • 5.1 Conversions between representations
  • 5.2 Modelling operations on special models
  • 5.2.1 Setting a wireframe model in a surface

Implementation checklist

  • Support “wireframe-on-surface” data:
    • curve-on-surface representations
    • parameter-space curves (p-curves) as first-class citizens
  • Blend/chamfer design:
    • treat these as topology + geometry operators
    • require strong neighbour discovery (around vertices/edges)
  • Sectioning:
    • robust plane/curve/surface intersection routines
    • correct classification (keep/discard regions)
    • clean topology rebuild for the resulting shells/faces

Pitfalls

  • Near-tangent intersections can explode trimming.
  • Tiny sliver faces appear easily after blends/booleans.
  • Non-manifold edge cases show up during “partial” sweeps and joins—decide whether to support them or heal them away.

Why “special” models are unavoidable

Imported data and user workflows produce intermediate states:

  • open shells (surface models)
  • dangling wireframes
  • mixed-dimensional constructs (edges attached to faces without a closed solid)

A practical kernel either:

  • supports these states explicitly, or
  • converts/heals them into a supported subset.

Practical exercises

  • Describe how you would “imprint” a curve onto a face:
    • compute intersections/projections
    • create new edges and p-curves
    • split the face loops accordingly