在你的设备上运行 · 你的文件从不离开你的设备。
STL 文件来自扫描仪、切片软件和打印网站,里面只有形状。把它转成 OBJ,就得到大多数建模软件更乐意导入的文件,而且之后可以为它加上材质和贴图。
STL 几乎从不带颜色,所以 OBJ 通常只带着一个朴素的单一材质——转换没有什么可以凭空造出来(少数为每个三角形存了颜色的二进制 STL 会保留这些颜色,写成顶点颜色)。你得到的是一个可以在 Blender、Maya、3ds Max 以及许多其他软件里打开的网格,可以开始给它指定表面。
全部在你自己的机器上完成,这一点对 3D 文件尤其重要:模型往往是客户的产品、建筑的扫描件或尚未公开的设计。没有任何东西发往服务器,因此事后也没有什么需要删除。
不适用于: 添加 STL 中从未有过的颜色或贴图——没有任何转换器能还原源格式无法存储的信息。
STL 把每个三角面的三个角各自单独列出,从不记录两个三角面共用一个角。OBJ 则把每个不同的角点位置只写一次,让三角面共用它,所以建模软件打开时,模型是一个连在一起的表面。每个三角面保留 STL 为它存储的朝向,因此表面看起来仍有棱面,和在 STL 里一样。
OBJ 里没有 UV 坐标,因为 STL 本来就没有。它在一行 usemtl 里指定一个名为 default 的材质,但不附带 .mtl 文件,所以打开它的软件会给这个材质套用自己的朴素表面。少数打印软件会用非标准的方式在二进制 STL 里为每个三角面存一种颜色,这种颜色会保留,写在每个点的坐标后面。含有多个命名实体(solid)的 STL 会合成一个对象,名称不保留。
OBJ 是文本。每个数字都写出足够的位数,以便精确还原 STL 存储的值,所以存成 37.3 的坐标会写成 37.29999923706055。数值本身没有变;是文本这种写法让 OBJ 比二进制 STL 大,即使共用的角点只写一次。
为打印制作的 STL 几乎都以毫米为单位,但格式本身不注明,OBJ 也不注明,所以默认情况下 OBJ 里的数字与 STL 相同。如果你要用来打开 OBJ 的软件把数字当作米来读(Blender 默认如此),请选择“一毫米”:数字会改写成以米为单位,45 mm 的零件到了那里仍是 45 mm。哪些格式会注明自己的单位,见 /3d-converter 。
打印文件以 Z 轴朝上,而 OBJ 通常按 Y 轴朝上读取。除非你选择“保持坐标轴不变”,模型会转动四分之一圈,在打开 OBJ 的地方竖直站立。
本页的其他语言版本: English · العربية · Deutsch · Français · Español · Русский · Português · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা