Multiscale structures are becoming increasingly prevalent in the field of mechanical design. The variety of fine-scale structures and their respective representations results in an interoperability challenge. To address this, a query-based API was recently proposed which allows different representations to be combined across the scales for multiscale structures modeling. The query-based approach is fully parallelizable and has a low memory footprint; however, this architecture requires repeated evaluation of the fine-scale structures locally for each individual query. While this overhead is manageable for simpler fine-scale structures such as parametric lattice structures, it is problematic for structures requiring non-trivial computations, such as Voronoi foam structures. In this paper, we develop a set-based query that retains the compatibility and usability of the point-based query while leveraging locality between multiple point-based queries to provide a significant speedup and further decrease the memory consumption for common applications, including visualization and slicing for manufacturing planning. We first define the general set-based query that consolidates multiple point-based queries at arbitrary locations. We then implement specialized preprocessing methods for different types of fine-scale structures which are otherwise inefficient with the point-based query. Finally, we apply the set-based query to downstream applications such as ray-casting and slicing, increasing their performance by an order of magnitude. The overall improvements result in the generation and rendering of complex fine-scale structures such as Voronoi foams at interactive frame rates on the CPU.
翻译:多尺度结构在机械设计领域正变得越来越普遍。精细尺度结构的多样性及其各自的表示方式导致了互操作性挑战。为解决这一问题,近期提出了一种基于查询的API,允许不同表示方式在多个尺度上结合以进行多尺度结构建模。基于查询的方法完全可并行化且内存占用低;然而,该架构需要对每个独立查询在局部重复评估精细尺度结构。虽然这种开销对于较简单的精细尺度结构(如参数化晶格结构)尚可管理,但对于需要复杂计算的结构(如Voronoi泡沫结构)则存在问题。本文开发了一种基于集合的查询方法,在保持基于点的查询的兼容性和可用性的同时,利用多个基于点的查询之间的局部性,为常见应用(包括制造规划中的可视化和切片)提供显著的加速并进一步降低内存消耗。我们首先定义了通用的基于集合的查询,该查询整合了任意位置的多个基于点的查询。随后,我们针对不同类型的精细尺度结构实现了专门的预处理方法,这些方法在使用基于点的查询时效率较低。最后,我们将基于集合的查询应用于光线投射和切片等下游应用,将其性能提升了一个数量级。这些整体改进使得在CPU上以交互式帧率生成和渲染复杂精细尺度结构(如Voronoi泡沫)成为可能。