图纸绘制流程图
2021-10-07 19:56:45 5 举报
自研图纸绘制流程图
作者其他创作
大纲/内容
图纸数据是否正常?
用户提供楼层真实图纸
制图时,需要以下7个图层:1. base:基础图层,确定cad图纸的基座2. gros:外墙图层,明确建筑平面的外墙范围3. rm:空间图层,描述空间的最小单元4. appendant:空间附加物图层,定义每个空间拥有的物件,如桌椅5. number:空间编码图层,为空间设置编码6. show:展示图层,配置仅用于展示的物体7. navi:导航图层,用于生成点到点室内导航路线
是
导出dxf类型的图纸文件
否
1、CAD绘图
根据three.js的绘图原理,使用javascript绘制3d图形的基础元素:场景、相机、光线、渲染器。
CAD绘图
3、网页绘制图纸
经过Java解析图纸文件
绘制图纸楼层基础模型
绘制7个图层
1、先根据base图层的x、y轴最大、最小坐标值,计算出图纸的中心坐标值,并绘制出该楼层的围墙。(标记出颜色、高度、名称)2、同理绘制gros图层。3、绘制rm图层。查找json数据中的rm图层数据,遍历每一项,分别绘制出对应的空间几何体、材质、编号、高度等数据。同理绘制appendant空间附加物。4、绘制icon图层,用于标记会议室、电梯、卫生间等空间类型。实例化一个类TextureLoader,传入base64类型的图片文件,使用精灵材质SpriteMaterial(精灵是一个总是面朝着摄像机的平面)渲染该图标。5、初试化show图层。根据Json数据查找show图层,绘制几何体形状。根据材质、形状,生成对应的3d模型,绘制到对应的坐标位置。6、绘制navi导航图层。使用Dijkstra算法计算导航最短路径。Dijkstra算法算是贪心思想实现的,首先把起点到所有点的距离存下来找个最短的,然后松弛一次再找出最短的,所谓的松弛操作就是,遍历一遍看通过刚刚找到的距离最短的点作为中转站会不会更近,如果更近了就更新距离,这样把所有的点找遍之后就存下了起点到其他所有点的最短距离。7、初始化指南针。类似icon图层的绘制,先初试化一个TextureLoader,传入直指南针的base64文件,使用精灵材质渲染。并计算其在画布中的位置。
对开源技术three.js封装
2、导出图纸数据
导入正确的图纸文件
0 条评论
回复 删除
下一页