Generative Design Conversion to Editable and Watertight Boundary Representation☆,☆☆
Introduction
Generative design is a modern approach to synthesizing design alternatives by exploring the entire design space to achieve objectives such as minimal structural compliance, given a set of functional requirements and constraints based on geometry, material specifications, and manufacturing considerations. A precursor to this technology is topology optimization [1], a niche tool employed by a small number of expert users using specialized simulation software and know-how along with a significant budget. The availability of cloud as an “infinite computing” platform and novel manufacturing methods like additive manufacturing have opened up the possibility of using generative technology as a new approach to design. This capability is starting to become available in CAD packages such as [2], enabling users to leverage generative designs in diverse areas including aerospace, automotive, consumer products and architecture.
The generative design geometry constraints are defined as solid B-Reps and are placed in a optimization domain to avoid interference (keep-out) and specify attachment joints (keep-in) with other parts in a CAD assembly. However, many generative solvers, e.g., [3], [4], [5], do not operate directly on the exact geometry constraint B-Reps. Instead, B-Reps are sampled and replaced with volumetric representations such as level sets or tetra-/hexahedral meshes, which are significantly more convenient and efficient for physical simulations and material synthesis.
Inevitably, this conversion introduces a loss of surface precision due to the limitations of the target representation (Fig. 1). While this loss is negligible in the context of the generative computations, in general it prevents the output of a generative design that accurately represents the input solid surface geometry away from the organic material synthesized by the solver. Subsequently, when integrating the design within the complete model assembly, these surface inaccuracies can cause issues such as part interferences and manufacturing deficiencies (Fig. 3).
To resolve these inaccuracies, our fully automatic method (Fig. 2) converts a generative design into an editable, watertight B-Rep by leveraging the generative solver input and representation to:
- •
embed the exact input solid boundary surfaces where the design coincides with the input,
- •
approximate everywhere else the design boundary with globally smooth, editable “organic” surfaces, and
- •
join all surfaces to form a generative design output B-Rep.
Our method is applicable to generative designs that represent arbitrary combinations of material additions and subtractions, and leverages the solver geometry representation.
Section snippets
Related work
General B-Rep surface reconstruction from meshes and point clouds is a highly prominent and long-standing research topic with particularly important applications in the reverse engineering of existing physical objects [6], [7], [8], [9]. Reviewing this work is beyond the scope of our paper, so we refer to several recent comprehensive surveys: [10], [11], [12].
More relevant to our method is research work which focuses on partitioning and approximating a mesh with piece-wise smooth surfaces [13],
Input data
The primary input to our method consists of the generative solver input solid B-Reps and output mesh representing the generative design . To link to , we can also process the intermediate solver representation (level set or volumetric mesh). Alternatively, the solver representation accuracy error, e.g., the level set voxel grid edge length, can be supplied instead.
designate sub-spaces of the optimization domain. We use the standard notation and to denote the solid
Mesh partition
The first stage of our algorithm partitions into a pair of disjoint triangle subsets , where represents the input solid B-Reps in , and represents the boundary surface of the “organic” material synthesized by the solver. We use to denote the union of disjoint sets. To compute this partition, our method builds an “incidence” relation using the solver geometry representation, where is the power set of . can map a mesh element to zero, one or multiple input solids.
Organic boundary
Let be the subset of edges separating and . We refer to as the organic boundary and to its elements as the organic boundary edges, or just boundary edges: this shorthand notation is not ambiguous since is closed by definition.
Organic surfaces
We construct an editable smooth surface for each organic component . As the construction is identical , in this section the component index is omitted to simplify the notation.
Our representation of choice is T-NURCCs [56] due to the following useful properties:
- •
The surface is defined by a quad control mesh, a very popular tool for shape editing employed by industry designers.
- •
Local refinement [57] allows for error reduction by adding control points only where needed [27], [28].
- •
General
Boundary contact
Typically, the constructed organic surface boundary is within a small distance ( the generative solver accuracy) away from the input solid constraints . For the composed output B-Rep to be watertight, it is necessary that . Hence, we apply a small “pull” modification to each organic surface boundary to move it in the interior of (Fig. 9). Then, we construct the corresponding B-Rep contact intersection curves to ensure the successful outcome of our subsequent
Composition
The final stage of our method composes the watertight B-Rep representing the generative design by combining the organic surfaces and the input solids . Contact curves for are now constructed, so it only remains to determine what volume must be assigned to the output generative B-Rep.
So far, we did not disambiguate in our algorithms between keep-in and keep-out input solids. We now define the subsets where , and are respectively the keep-in, keep-out and seed input solids.
Results
We include five more generative designs conversions output by our method (Fig. 10, Fig. 11, right column). In all illustrations, the input mesh is shown after being partitioned into incident (yellow) and organic (white) regions. Input keep-in (transparent, red tint) and keep-out (transparent, blue tint) bodies are overlaid on the organic T-NURCC surfaces (white). In all results, T-spline patches have been merged where possible to produce a simpler patch layout for the output B-Rep.
All
Conclusion
We propose a fully automatic method for generative design to B-Rep conversion capable of processing extremely complex and intricate shapes, implemented and tested over a wide range of data. We hope it can be a driver for growth of the popularity and adoption of generative design models. Engineers and designers looking to incorporate generative designs in their workflows are no longer constrained by the inaccuracy and detail loss of the solver output: instead they can work with an editable,
Acknowledgments
We would like to thank the anonymous reviewers for their helpful feedback, Max Lyon, David Bommes and Leif Kobbelt for their support with integrating IGM, Andreas Bastian, Bryce Heventhal, Karl Willis and Michael Smell for providing generative design test data, and our colleagues in the Autodesk modeling components, simulation, Fusion 360, platform and research groups for supporting the development of our algorithms. This work is funded by Autodesk, Inc, United States .
References (77)
- et al.
Reverse engineering modelling of free-form surfaces from point clouds subject to boundary conditions
J Mater Process Technol
(1998) - et al.
Algorithms for reverse engineering boundary representation models
Comput Aided Des
(2001) - et al.
Structure recovery via hybrid variational surface approximation
Comput Graph Forum
(2005) - et al.
Variational mesh segmentation via quadric surface fitting
Comput Aided Des
(2012) - et al.
A direct approach for subdivision surface fitting from a dense triangle mesh
Comput Aided Des
(2004) - et al.
Optimization methods for scattered data approximation with subdivision surfaces
Graph Models
(2005) - et al.
Blending of mesh objects to parametric surface
Comput Graph
(2015) An algorithm for high speed curve generation
Comput Graph Image Process
(1974)- et al.
Estimating differential quantities using polynomial fitting of osculating jets
Comput Aided Geom Design
(2005) - et al.
Recursively generated B-spline surfaces on arbitrary topological meshes
Comput Aided Des
(1978)
Optimal shape design as a material distribution problem
Struct Optim
Reconstructing surfaces and functions on surfaces from unorganized three-dimensional data
Algorithmica (New York)
A survey of surface reconstruction from point clouds
Comput Graph Forum
Review of reverse engineering systems - current state of the art
Virtual Phys Prototyp
Reverse engineering modeling methods and tools: a survey
Comput Aided Des Appl
Partitioning 3D surface meshes using watershed segmentation
IEEE Trans Vis Comput Graphics
Hierarchical mesh segmentation based on fitting primitives
Vis Comput
Implicit B-spline surface reconstruction
IEEE Trans Image Process
Variational reconstruction using subdivision surfaces with continuous sharpness control
Comput Vis Media
Periodic global parameterization
ACM Trans Graph
Integer-grid maps for reliable quad meshing
ACM Trans Graph
Cited by (0)
- ☆
This paper has been recommended for acceptance by Pierre Alliez, Yong-Jin Liu & Xin Li.
- ☆☆
One or more of the authors of this paper have disclosed potential or pertinent conflicts of interest, which may include receipt of payment, either direct or indirect, institutional support, or association with an entity in the biomedical field which may be perceived to have potential conflict of interest with this work. For full disclosure statements refer to https://doi.org/10.1016/j.cad.2019.05.016.