请选择 进入手机版 | 继续访问电脑版

01BIM社区

 找回密码
 立即注册

扫一扫,访问微社区

查看: 402|回复: 4

OBJ文件导出JSON文件

[复制链接]

150

主题

517

帖子

2036

积分

金牌会员

Rank: 6Rank: 6

积分
2036
发表于 2022-6-26 21:39:37 | 显示全部楼层 |阅读模式
<OBJ文件导出JSON文件>
2022年6月26日


回复

使用道具 举报

150

主题

517

帖子

2036

积分

金牌会员

Rank: 6Rank: 6

积分
2036
 楼主| 发表于 2022-6-26 21:45:51 | 显示全部楼层
本帖最后由 tzbm123456 于 2022-6-27 07:23 编辑

一、工具软件:
         CesiumLab
二、转换步骤:
1、选择OBJ文件
2、配置参数
(1)空间参考
(2)属性文件:CSV格式文件

         备注:CSV格式文件第一行为数据结构字段;第一列是实体名称;第一行的第一列必须是:“唯一名称”。


微信图片_20220626214735.png

微信截图_20220626215041.png

微信截图_20220626215457.png
备注:第一行数据是什么类型,整个字段的数据均为这个类型。



回复 支持 反对

使用道具 举报

150

主题

517

帖子

2036

积分

金牌会员

Rank: 6Rank: 6

积分
2036
 楼主| 发表于 2022-6-26 22:06:15 | 显示全部楼层
<如何创建CSV格式文件>

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



回复 支持 反对

使用道具 举报

150

主题

517

帖子

2036

积分

金牌会员

Rank: 6Rank: 6

积分
2036
 楼主| 发表于 2022-6-28 08:34:04 | 显示全部楼层
紧凑和散列区别
散列:是指本地的硬盘文件,这种文件组织方式最简单直观,而且部署静态服务很容易。
紧凑:是指把这些文件当作二进制记录的方式存储到sqlite文件里。这种方式不直观,而且需要动态服务支持,但是它的优势是对于大量散列切片能够加速存储和迁移。

紧凑格式就是sqlite数据库,一条记录对应一个文件,自己实现服务按照前端请求规则,从sqlite里查询到对应行,返回即可。

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

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




回复 支持 反对

使用道具 举报

150

主题

517

帖子

2036

积分

金牌会员

Rank: 6Rank: 6

积分
2036
 楼主| 发表于 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=0
while line = file.gets
      if (line.include?("Mesh") or line.include?("Model") )
           p i;
           line=del_MeshOrModel(line);
           p line;
           i=i+1;
      end
end
file.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[0]+" "+arr_New[1]+"\n"
      end
end
3、关闭保存文件
file.close();


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|01BIM社区 - 最专业的BIM技术交流平台 ( 渝ICP备15000873号 )

GMT+8, 2022-8-10 13:51 , Processed in 0.053680 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表