{"title":"Computational Topology, Boolean Algebras, and Solid Modeling","authors":"Alberto Paoluzzi , Giorgio Scorzelli","doi":"10.1016/j.cad.2025.103839","DOIUrl":null,"url":null,"abstract":"<div><div>The paper aims to unfold and clarify both the theoretical approach and the practical implementation of an original and unusual solution to geometric modeling of any expression of the Boolean algebras generated by computer representations of solid models (Paoluzzi et al., 2020; Paoluzzi et al., 2023). Starting from the integration of generative, decompositive, enumerative, CSG, and Boundary primitive representation schemes, the paper describes both the underlying topological theory and how to make practical and effective use of a complete set algebra isomorphic to the Constructive Solid Geometry (CSG) enlarged with <span><math><mi>n</mi></math></span>-ary operations and explicit consideration of external space, including possible holes inside and between the elements of any assembly of solid models. All examples in this paper are supported by the straightforward Domain Specific Language (DSL) Plasm.jl <span><span>[1]</span></span>, <span><span>[2]</span></span> (Paoluzzi et al., 1995; Paoluzzi, 2003) , an extension to the geometry of FL (Function Level), by Backus and his group at IBM Almaden <span><span>[3]</span></span>, <span><span>[4]</span></span> (Williams and Wimmers, 1988; Backus et al., 1990) , and recently ported to the Julia language <span><span>[5]</span></span> (Bezanson et al., 2017) . The cover, text, and appendices present a concise and functional implementation of <figure><img></figure> , demonstrating simple examples and generating images of geometric objects corresponding to each section of the paper. The software, with a liberal license MIT, is available at <span><span>https://github.com/PlasmLanguage/Plasm.jl</span><svg><path></path></svg></span>.</div></div>","PeriodicalId":50632,"journal":{"name":"Computer-Aided Design","volume":"181 ","pages":"Article 103839"},"PeriodicalIF":3.0000,"publicationDate":"2025-01-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer-Aided Design","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010448525000016","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
Abstract
The paper aims to unfold and clarify both the theoretical approach and the practical implementation of an original and unusual solution to geometric modeling of any expression of the Boolean algebras generated by computer representations of solid models (Paoluzzi et al., 2020; Paoluzzi et al., 2023). Starting from the integration of generative, decompositive, enumerative, CSG, and Boundary primitive representation schemes, the paper describes both the underlying topological theory and how to make practical and effective use of a complete set algebra isomorphic to the Constructive Solid Geometry (CSG) enlarged with -ary operations and explicit consideration of external space, including possible holes inside and between the elements of any assembly of solid models. All examples in this paper are supported by the straightforward Domain Specific Language (DSL) Plasm.jl [1], [2] (Paoluzzi et al., 1995; Paoluzzi, 2003) , an extension to the geometry of FL (Function Level), by Backus and his group at IBM Almaden [3], [4] (Williams and Wimmers, 1988; Backus et al., 1990) , and recently ported to the Julia language [5] (Bezanson et al., 2017) . The cover, text, and appendices present a concise and functional implementation of , demonstrating simple examples and generating images of geometric objects corresponding to each section of the paper. The software, with a liberal license MIT, is available at https://github.com/PlasmLanguage/Plasm.jl.
本文旨在揭示和阐明由实体模型的计算机表示生成的布尔代数的任何表达式的几何建模的原始和不寻常的解决方案的理论方法和实际实施(Paoluzzi等人,2020;Paoluzzi et al., 2023)。本文从生成、分解、枚举、CSG和边界原语表示方案的集成出发,描述了基本的拓扑理论,以及如何实际有效地利用与构造立体几何(CSG)同构的完备集代数,该构造几何(CSG)具有n元运算,并明确考虑了外部空间,包括任何实体模型组合的元素内部和元素之间可能存在的孔。本文中的所有示例都由简单的领域特定语言(DSL)浆提供支持。[j] [[1], [2]] (Paoluzzi et al., 1995;Paoluzzi, 2003),对FL(功能层)几何的扩展,由Backus和他的团队在IBM Almaden [3], b[4] (Williams and Wimmers, 1988;Backus et al., 1990),最近移植到Julia语言[5](Bezanson et al., 2017)。封面、正文和附录提供了一个简洁而实用的实现,展示了简单的例子,并生成了对应于论文每个部分的几何对象的图像。该软件拥有麻省理工学院的自由许可,可在https://github.com/PlasmLanguage/Plasm.jl上获得。
期刊介绍:
Computer-Aided Design is a leading international journal that provides academia and industry with key papers on research and developments in the application of computers to design.
Computer-Aided Design invites papers reporting new research, as well as novel or particularly significant applications, within a wide range of topics, spanning all stages of design process from concept creation to manufacture and beyond.