OpenSCAD空间几何布尔运算

原文地址(英): https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/CSG_Modelling#difference

Union:合并

创建一个合并的对象,使用union操作符,如下图所示。

Usage example:

union() {
        cylinder (h = 4, r=1, center = true, $fn=100);
        rotate ([90,0,0]) cylinder (h = 4, r=0.9, center = true, $fn=100);
}

注意: union是隐含的,当未使用时。但当两个对象相交时,就成为必然的操作。

difference:切割

从主对象中把所有字对象挖出,如下所示:

Usage example:

difference() {
        cylinder (h = 4, r=1, center = true, $fn=100);
        rotate ([90,0,0]) cylinder (h = 4, r=0.9, center = true, $fn=100);
}

intersection:求交

创建所有子对象的交集,保留重叠的部分。如下所示:

Usage example:

intersection() {
        cylinder (h = 4, r=1, center = true, $fn=100);
        rotate ([90,0,0]) cylinder (h = 4, r=0.9, center = true, $fn=100);
}

render:渲染

总是计算CSG model(even in OpenCSG preview mode).

Usage example:
render(convexity = 1) { ... }
convexity Integer. The convexity parameter specifies the maximum number of front sides (back sides) a ray intersecting the object might penetrate. This parameter is only needed for correctly displaying the object in OpenCSG preview mode and has no effect on the polyhedron rendering.

This image shows a 2D shape with a convexity of 4, as the ray indicated in red crosses the 2D shape a maximum of 4 times. The convexity of a 3D shape would be determined in a similar way. Setting it to 10 should work fine for most cases.

时间: 2024-08-04 20:46:30

OpenSCAD空间几何布尔运算的相关文章

Matlab绘制空间几何图

在写论文需要配图的时候,经常为了画3D图而发愁,而MATLAB就可以方便地画出各种各样的图,只不过要折腾一点: 下面先给出最终效果: 虽然说不是特别华丽,但是也蛮好看的: figure [x,y,z]=ellipsoid(0.5,0.5,0.5,0.55,0.55,0.55); lightGrey = [0.8 0.8 0.8]; % 将球体的线设置为灰色% 可以看到图中的球体网格线并不是特别细密,所以实际上是用的隔行画 surf(x(1:2:end,:),y(1:2:end,:),z(1:2:

求空间内两条直线的最近距离以及最近点的坐标(C++)

关键词:空间几何 用途:总有地方会用到吧 文章类型:C++函数展示 @Author:V_Shawn @Date:2016-11-19 @Lab: [email protected] 对于空间内的两条直线A,B我假设他们一定不平行,也不相交.若已知A上两点A1.A2,B上两点B1.B2,那么可以很容易得到两条直线的方程. 然后调用函数即可解得结果: 下面提供了一个用于解决这个问题的类: #include <math.h> //用于求解两条空间直线的最近距离,以及他们最近的两点坐标 //autho

怎样用几何画板计算正方体表面积

  几何画板在构造空间几何体方面有着独特的应用.正方体的表面积是空间几何体的表面积的引入部分,正方体的表面积的计算原理引出了空间几何体表面积的计算原理,需要将空间几何体转化为平面图形计算.但只利用黑板或者平面几何软件,难以将空间几何体表面的展开形象生动的展示出来.利用几何画板的旋转功能,可动态视觉化正方体表面. 利用几何画板制作正方体的基本过程: 一.制作正方体 建立三维坐标系以及三个参数a=1,b=1,c=1:点击[绘制多边形工具],构造出正方体A1B1C1D1-A2B2C2D2. 二.构造侧

ArcGIS 空间查询一例

ISpatialFilter spatialFilter = new SpatialFilterClass(); spatialFilter.Geometry = Polygon ;//设置用于筛选几何对象 patialFilter.GeometryField = featureLayer.FeatureClass.ShapfieldName; //设置筛选几何字段 spatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelWithi

几何画板演示柱锥台体的变换

在学习空间几何知识时,会学到柱.锥.台.体等空间几何体,而且他们之间有想通之处,可以由变换得到.所以老师在讲课的时候,制作变换课件是很有必要的,下面就来学习制作柱锥台体的变换课件. 几何画板是专业的课件制作工具,可以帮助数学老师们制作课件进行讲解,访问http://wm.makeding.com/iclk/?zoneid=17783即可获取该软件. 动态演示柱锥台体的转动与演变课件模板样图: 几何画板课件模板--动态演示柱锥台体的转动与演变 该课件中点击"转动"."翻转&qu

JavaScript 空间分析库——JSTS和Turf【转】

https://blog.csdn.net/neimeng0/article/details/80363468 前言 项目中有管线的空间拓扑关系查询需求,在npm中检索到JSTS和Turf两个JavaScript 空间分析库. JSTS JSTS是一个符合OGC规范的简单要素空间位置判定函数JavaScript库,JSTS也是Java类库JTS的一个接口,且与OpenLayer3具有互操作性.       目前原生的OpenLayers3并不支持空间拓扑关系查询,此类库可以作为重要的补充.通过此

3D-GIS地理信息系统研发解决方案

(一)主要研究开发内容空间数据的获取是GIS建设与运行的基础,数据源及数据获取方式的不同,对数据模型的生成产生很大的影响,如何根据不同的需要,采取合适的方法来获取数据,以及如果保证数据的精确度,最终使可视化程度更接近现实,提高系统的空间查询分析能力.由于客观世界的多样性和复杂性,可视化要涉及多方面的数据集成,要采用较复杂的数据模型.为了有效的管理和分析三维GIS中的各种数据,要求三维GIS的数据模型有着很强的数据表达能力.三维GIS数据模型不但要满足三维空间分析的需要,也要满足三维图形空间生成和

Unity3D游戏开发初探—2.初步了解3D模型基础

一.什么是3D模型? 1.1 3D模型概述 简而言之,3D模型就是三维的.立体的模型,D是英文Dimensions的缩写. 3D模型也可以说是用3Ds MAX建造的立体模型,包括各种建筑.人物.植被.机械等等,比如一个大楼的3D模型图.3D模型也包括玩具和电脑模型领域. 互联网的形态一直以来都是2D模式的,但是随着3D技术的不断进步,在未来的时间里,将会有越来越多的互联网应用以3D的方式呈现给用户,包括网络视讯.电子阅读.网络游戏.虚拟社区.电子商务.远程教育等等.甚至对于旅游业,3D互联网也能

漫步支持向量机(svm)之一

设输入为$x$,表示训练集的特征向量,输出为$y=\{1,-1\}$,这些向量都属于两类中的其中一类,假设这些向量是线性可分的,现在要找一个最优的平面(在二维的时候为一条直线),将这些特征向量正确分类,除此之外,能够将新的输入分到合适的类. 设中间直线方程为$$\hat \omega x+\hat b=0$$好了,svm中不是还有另外两条边界线吗?他们就是中间这条直线的左膀右臂,而且到中间这条直线的距离是一样的,这两条边界线正好和两侧的特征向量紧挨着,他们的方程就可以表示为$$\hat \ome