问题标签 [csg]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何从 STEP 几何到 CSG
我正在尝试将在 CAD 程序中创建的实体(保存在 STEP 文件中)转换为使用简单基元构造的CSG对象。
我对不同的几何文件格式不是很熟悉,但据我所知,至少对于一些简单的实体来说应该是可以做到的,因为有关面部形状等的信息存储在 STEP 文件中。我发现了这个问题https://github.com/tpaviot/pythonocc-core/issues/470这证明您可以提取其中的一些信息。但是我不确定这是否足以实现我的目标。
到一个 CSG 描述,它应该将几何描述为一个大圆柱体,三个较小的圆柱体作为减法。
理想情况下,我会为此目的使用 python 库,也许这个库是一个不错的选择。
但是,我担心这在理论上是不可能的,因为我在网上找不到太多信息。
作为最后的手段,我可以只对实体进行网格划分并使用镶嵌实体生成 CSG 描述,但我想尽可能使用简单的基元,例如盒子或圆柱体。
我很想知道这是否可行,如果可以,我很想阅读一些资源来了解这一点。谢谢!
openscad - OpenSCAD:如何避免 CSG 树中的额外分组
我想编写一个模块,可以选择将其子项组合为联合或差异。
我很惊讶这不起作用。事物的两个实例似乎都创建了立方体和圆柱体的联合。
CSG 树转储显示了问题。以下是相关摘录:
孩子们被包裹在一个组中,所以difference()
实际上只有一个孩子,这恰好是被包裹孩子的隐式联合。
有没有一种方法children()
可以避免这种不需要的分组?如果没有,模块是否有另一种方法允许调用者选择模块如何组合其子模块?