OBJ文件导出JSON文件
<OBJ文件导出JSON文件>2022年6月26日本帖最后由 tzbm123456 于 2022-6-27 07:23 编辑
一、工具软件:
CesiumLab
二、转换步骤:
1、选择OBJ文件
2、配置参数
(1)空间参考
(2)属性文件:CSV格式文件
备注:CSV格式文件第一行为数据结构字段;第一列是实体名称;第一行的第一列必须是:“唯一名称”。
备注:第一行数据是什么类型,整个字段的数据均为这个类型。
<如何创建CSV格式文件>
在Sketchup中开发属性导出程序,将实体名称和属性内容按csv格式的要求导出,保存为XXX.csv文件。
紧凑和散列区别 散列:是指本地的硬盘文件,这种文件组织方式最简单直观,而且部署静态服务很容易。 紧凑:是指把这些文件当作二进制记录的方式存储到sqlite文件里。这种方式不直观,而且需要动态服务支持,但是它的优势是对于大量散列切片能够加速存储和迁移。
紧凑格式就是sqlite数据库,一条记录对应一个文件,自己实现服务按照前端请求规则,从sqlite里查询到对应行,返回即可。
可以让后端程序员看下,拿到一个sqlite文件,怎么当做服务分发出去呢,表格式已经在帮助文档里给出了,需要后端程序员写后端程序,比如用户前端访问 一个tileset.json,后端程序员从这个库里面去找到这个tileset.json,把里面的blob数据给扔回去。相当于要写一点后台的服务代码就可以完成你的服务分发。
当然也可以直接用CesiumLab,添加3dtiles服务clt文件,把CesiumLab放到你自己的服务上就可以用了。
本帖最后由 tzbm123456 于 2022-7-3 09:01 编辑
<除去Mesh和Model>1、识别包含Mesh或Model的行file = File.open("D:/A1_IT/Cesium/Cesium_WEB/DataSource/TZBM/jjj/jjjj_F.obj","r+");i=0while line = file.gets if (line.include?("Mesh") or line.include?("Model") ) p i; line=del_MeshOrModel(line); p line; i=i+1; endendfile.close();
2、删除含Mesh或Model的字符串def del_MeshOrModel(str) if (str.include?("Mesh") or str.include?("Model")) arr=str.split(" "); arr_New=[]; arr.each{|en| if !(en.include?("Mesh") or en.include?("Model")) arr_New.push(en); end } str=arr_New+" "+arr_New+"\n" endend3、关闭保存文件file.close();
页:
[1]