在cython-csg中使用bsp树在网格上构造实体几何。

cython-csg的Python项目详细描述


cython csg

埃文·华莱士的javascript https://github.com/evanw/csg.js/和tim-knip原始python版本https://github.com/timknip/pycsg的cython端口。

cython csg是什么

CSG代表结构实体几何。它允许对三维对象(如减法)进行布尔运算。

用法

减法

简单的减法如下

from_cython_csgimportCSGa=CSG.cube()b=CSG.cube([0.5,0.5,0.0])c=a-bc.saveVTK('subtract.vtk')

联合体

一个简单的联合如下所示

from_cython_csgimportCSGa=CSG.sphere(center=[0.5,0.5,0.5],radius=0.5,slices=8,stacks=4)b=CSG.cylinder(start=[0.,0.,0.],end=[1.,0.,0.],radius=0.3,slices=16)a.union(b).saveVTK('union.vtk')

自定义对象

下面是一个自定义对象的示例

from_cython_csgimportBSPNode,Polygon,Vertexv0=Vertex([0.,0.,0.])v1=Vertex([1.,0.,0.])v2=Vertex([1.,1.,0.])p0=Polygon([v0,v1,v2])polygons=[p0]node=BSPNode(polygons)

如果要将其转换回csg对象,可以执行

CSG.fromPolygons(node)

安装

构建运行

python setup.py build
python setup.py install

其他注意事项

要查看输出,我建议使用paraview这样的程序

需要帮助

欢迎为源代码或文档提供修补程序

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我有一个(单个)类别和子类别树,现在我想在其中添加项目作为treeNode   java使用ICU将输出数字(字符串)拼写为整数   在Java中,检查字符是否为元音的最佳方法是什么?   如何解决这个问题。println Apache jkenvar SSL_CLIENT_DN从mod_SSL到java、javascript或html?   有没有办法比较两个Java war文件   java spark sql问题:第一个匹配行上的联接表:rank()不工作   数学模型   所有类文件中的java错误:无法解析R   在64位Windows上发送ctrlbreak到java进程,在32位Windows上发送信号   java是什么让spring boot控制台变得多彩?   java在当前时间和下周六之间还有剩余的分钟/小时吗?   java强制从控制台输入有效的If/Else扫描程序   用组成员显示组名的java   java MediaCodec编码dequeueInputBuffer返回信息\u稍后重试\u?   java是否可以为整个struts webapp配置统一的日期格式格式?   java无法更改#vbox:focused上的vbox边框   java如何解析没有标记的JSON对象   java组织。jsoup。选择选择器$SelectorParseException:无法分析查询“”:位于“”的意外标记