1、CLI介绍
最近因为触及打印机的一些底层运作,因此必须要接触一些基础的文件格式。其中,CLI文件就是一个很有代表性、应用很广的文件格式。
![18936cedce0907e7deff95fdca4f3ff7.png](https://i-blog.csdnimg.cn/blog_migrate/e4866de98074132eda74a4951e6e4fa8.png)
这个格式存储的实际上是polygon line的坐标,是由德国人搞的。 全称叫做:Common Layer Interface (CLI)。 关于其介绍、格式见: https://www.hmilch.net/downloads/cli_format.html CLI一般用来存储切片过后的轮廓数据,由封闭的polygon line构成。但是实际上它不仅能存储轮廓,
也能存储路径。 怎么把STL切片成CLI呢, 详见这篇文章: 《 3D打印基本原理:扫描路径 》 各种文件格式实际上差别不是很大,拿通用的Gcode来说,它的好处是可以带参数处理。如果我们在Gcode后面附加激光功率,完全可以将之改造成振镜打印机所需要的格式。 难的不是创造一个格式,难的是让下位机能够解析你赋予的功能。例如: G1 X10.0 Y12.0 F600 L170 如果把这段代码用在SLM机型上,则它表示的是:从当前位置扫描至(10.0,12.0),速度600mm/s,功率170W。 只要下位机将各个数字转换为振镜运动信号、激光器功率调制信号,格式就完全可用。
国内的厂商有很多就是这么干的,直接就拿Gcode加几个参数,再把它封装成二进制格式,看起来很高大上的样子,这其中有多少是根据自己对工艺的理解制定的数据格式就不知道了。
2、CLI格式的基本结构
CLI格式由文件头($$HEADERSTART...$$HEADEREND之间的内容)、几何信息两个部分构成。这在其格式介绍里讲的非常明白,文件头里包含了如单位、模型大小、出版单位、版本等一系列的信息。需要注意的是,即使在二进制的CLI文件中,文件头一般都是以ASCII码形式存储的,一目了然。
主要需要注意的就是CLI的几何部分,它有129、130、131三种格式,区别就是用于存储坐标的字节数、数据类型不一样,单位也不太一样。不过绝大部分就是采用129格式,精度足够了。
![ab5f2c52e996a078638ea36286f8a5aa.png](https://i-blog.csdnimg.cn/blog_migrate/687f24fbafcd75da38c58e51f2097301.png)
这里有个坑,后文会讲到。
3、二进制的CLI
CLI格式可以很方面的被各种3D打印技术使用,在DLP这样的工艺里,直接就可以用作轮廓数据发送给打印机。其它的需要路径填充的,则对其进行填充后获得路径信息发送给打印机就可以了。
但是,因为ASCII文件一般比较大,所以绝大部分都是以二进制格式传播、交流。很多软件不提供导出ASCII码文件的功能,默认只能是二进制的,这其中有一份原因可能是软件厂商不愿意把自己的处理方式公布出来,亦