tzbm123456 发表于 2022-6-26 21:39:37

OBJ文件导出JSON文件

<OBJ文件导出JSON文件>2022年6月26日

tzbm123456 发表于 2022-6-26 21:45:51

本帖最后由 tzbm123456 于 2022-6-27 07:23 编辑

一、工具软件:
         CesiumLab
二、转换步骤:
1、选择OBJ文件
2、配置参数
(1)空间参考
(2)属性文件:CSV格式文件
         备注:CSV格式文件第一行为数据结构字段;第一列是实体名称;第一行的第一列必须是:“唯一名称”。






备注:第一行数据是什么类型,整个字段的数据均为这个类型。



tzbm123456 发表于 2022-6-26 22:06:15

<如何创建CSV格式文件>
      在Sketchup中开发属性导出程序,将实体名称和属性内容按csv格式的要求导出,保存为XXX.csv文件。


tzbm123456 发表于 2022-6-28 08:34:04

紧凑和散列区别 散列:是指本地的硬盘文件,这种文件组织方式最简单直观,而且部署静态服务很容易。 紧凑:是指把这些文件当作二进制记录的方式存储到sqlite文件里。这种方式不直观,而且需要动态服务支持,但是它的优势是对于大量散列切片能够加速存储和迁移。
紧凑格式就是sqlite数据库,一条记录对应一个文件,自己实现服务按照前端请求规则,从sqlite里查询到对应行,返回即可。

可以让后端程序员看下,拿到一个sqlite文件,怎么当做服务分发出去呢,表格式已经在帮助文档里给出了,需要后端程序员写后端程序,比如用户前端访问 一个tileset.json,后端程序员从这个库里面去找到这个tileset.json,把里面的blob数据给扔回去。相当于要写一点后台的服务代码就可以完成你的服务分发。

当然也可以直接用CesiumLab,添加3dtiles服务clt文件,把CesiumLab放到你自己的服务上就可以用了。



tzbm123456 发表于 2022-7-3 08:03:42

本帖最后由 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]
查看完整版本: OBJ文件导出JSON文件