Cura 是一款开源3D打印机的切片引擎。
切片程序的主要过程如下:
i. 导入3D模型(STL,OBJ等等)。
ii. 分析并修复3D模型(源码里面貌似木有这一步…)。
iii. 将3D模型切割成2D层。
iv. 用上一步得到的2D图层形成LayerParts(他们自己的叫法),因为一层里面,很有可能有很多个不同的多边形,比如桌子,他的四个角,切出来后是四个圆形,上一步中只是得到了四个圆形,而没有确定这四个圆形是属于同一层的。
v. 进一步确定LayerParts中,各个part间的关系,比如得到了两个圆,大圆套小圆,我们就需要确认,小圆是空心的,而大圆和小圆形成的圆环是实心的。
vi. 将需要实心打印的部分标记出来(100%填充)。
vii. 将需要空心打印的地方打印出来(部分填充)。
viii. 根据生成的LayerParts生成每一层的G-code。
上述的每一步都有更多的逻辑关系在里面,但这只是一个工作的大概流程。切割引擎所有的数据都存放在一个叫SliceDataStorage的类里面。记住,上述的每一步都是基于前一步的数据来进行的。这里严格按照上述的流程来处理3D模型生成G-code。另外,在代码里面,坐标是用64位整数的形式存在的,比如,你在代码中看到的1000,他实际代表了1mm。这样做是因为Clipper使用了64为整数来表示距离。
标签:cura3d
2022-06-28 15:22:06
9.8MB
开源项目
1