世界最资讯丨电力布局三维编辑器功能设计
最近和一家公司在谈一个项目合作,他们公司主要是做电力相关的。 项目背景大概是这样的:国家电网对电网资产需要做到数字化管理,对现有变压器台区内的电表箱电能表做可视化数字孪生管理。由于涉及到的台区非常多,所以客户希望开发的不是单个项目,而是可以实现项目的3D编辑器,使得电网的台区经理使用编辑器编辑出所负责的变压器台区的设备关系场景及数据状态展示。
三维可视化方面,三维组态,我们经验还是挺多的,比如数据中心、医院、学校等三维可视化项目,还包括智慧园区、智慧城市、智慧小镇的方向的等三维可视化。下面先上几张三维可视化的图瞅瞅:客户需要的是一个布局工具,而不是直接的三维场景,这比直接搭建一个三维的场景要难许多。但是所谓万事开头难,难在不开头。 天下事有难易乎,干就是了。由于之前做过油田的三维布局,虽然内容上不太一样,但是技术上是类似的,还是相对来说容易很多。在商务人员和客户确立合同,正式立项后, 我们的设计小姐姐,开发小哥哥,建模小弟弟,都各司其职,下边就讲一下项目的大概内容。
创建模型库模型库主要包括了园区模型(通用),楼宇模型(通用),台区模型,电表箱,电能表等等。首先是开发同事搭建一个模型库的功能,主要包括了对于模型的管理。 模型库功能主要包括,模型的上传,预览和分类和列表功能。同时让建模小伙把相关模型使用3D建模工具 3d max或者c4d 进行模型的建模。建模后,导出后缀为obj/gltf/fbx格式文件,建模后的所有模型文件,最终会上传到模型库,模型库的管理目录如下图所示:
(资料图片)
三维编辑能力是电力布局三维编辑器的核心功能。
生成模型三维编辑能力之一是把模型列表的功能拖拽到三维画布上,生成三维模型。主要的技术实现包括了 DragAndDrop和模型加载:其中drag and drop 大致如下:
function dragstart_handler(ev) { ev.dataTransfer.setData("model","./xxx.gltf");}function dragover_handler(ev) { ev.preventDefault(); ev.dataTransfer.dropEffect = "move";}function drop_handler(ev) { ev.preventDefault(); var data = ev.dataTransfer.getData("model"); let model = ModelLoader.load(data); ...}而模型加载主要使用了GLTFLoader,大致如下
loader.load(modelPath, function (gltf) { // todo // add gltf to scene}场景编辑模型拖入场景中后,还可以在场景中二次编辑模型的位置,大小和其他属性。 可以通过属性框设置属性,也可以通过gizmo工具进行平移,旋转和缩放模型。如下图所示:
当然还有更多的底层能力,包括undo,redo,批量生产,批量布局,打组,解散打组,拖拽复制能力,批量移动,旋转和缩放等等能力,都是用于易用性的开发,此处不在详细说明。后面将会有文章专门说明编辑器的底层能力。
动态楼层客户需要能够动态生产楼层,楼层模型拉入场景时,手动输入 地上层数,地下层数,单元数,然后按照输入的层数自动生成相应楼宇模型。楼层支持动态修改楼层数和单元数量。这样可以达到的目的就是通用型,不用针对每个台区进行楼层的建模,减少后期的工作量。
通过对于楼层+ 楼顶进行分开建模,然后把楼层进行组合的能力,来实现上述功能。
连线功能在台区和电表之间要能够添加连线,表示联通关系,效果如下所示:输入台区模型编号和电表模型编号。 然后按照横平竖直的方法连接连线。其中由于webgl的line宽度只能为1,影响效果,所以我们的连线使用了自己封装的Line,类似threejs的MeshLine,通过Mesh来模拟Line,可以指定line的宽度。代码如下所示:
const material = new dt.MeshLineMaterial({ useMap: true, map: texture, color: new dt.Color("red"), transparent: true, clipRatio: .1, opacity: 1, depthTest: false, // depthWrite: false, resolution: new dt.Vec2(graph.width, graph.height), sizeAttenuation: false, lineWidth: 100, repeat: new dt.Vec2(20, 3), offset: new dt.Vec2(0, 0), gradientStop: [0, 0.2, random(0.55, 0.65), 1], gradientColor: ["blue", "green", "orange", "red"], blending: dt.AddtiveBlending, }); var g = new dt.MeshLine(); g.setGeometry(geo); var mesh = new dt.Mesh(g.geometry, material);特效通过平台的脚步能力,可以实现二次开发的能力,二次开发实现的特效如下:
线条的流动效果
通过uv流动动画+特定的贴图,可以实现线条的流动效果,比如demo效果如下:有关uv流动动画的原理,可以参考笔者之前的文章《》。
台区、电能表模型轮廓发光的呼吸灯闪烁效果
通过引擎的OutlineRenderer,可以实现模型的轮廓效果,并且通过OutlineRenderer的参数的不断修改,便可以实现呼吸灯的闪烁的效果,代码如下所示:
graph.outlineMethod = "glow";if (graph._outlineRenderer) { let pass = graph._outlineRenderer.outlinePass; pass.visibleEdgeColor = new Color(controls.visibleEdgeColor); pass.hiddenEdgeColor = new Color(controls.visibleEdgeColor); pass.edgeGlow = controls.edgeGlow; pass.edgeThickness = controls.edgeThickness; pass.edgeStrength = controls.edgeStrength; pass.downSampleRatio = parseInt(controls.downSampleRatio);}最终的效果如下图所示:
总结本文主要阐述了电力行业三维布局的主要功能特点。
最后,关注公号“ITMan彪叔” 可以添加作者微信进行交流,及时收到更多有价值的文章。
标签:
推荐文章
- 世界最资讯丨电力布局三维编辑器功能设计
- 焊接工艺评定由谁签字审批_怎样做焊接工艺评定 焊接工艺评定由谁出-环球要闻
- 科普开放日活动:探秘微生物 丰富大餐桌
- 装修软件自学
- ldquo是什么意思_ldquo 疏离 rdquo 一词是什么意思_焦点短讯
- 一季度我国邮政寄递业务量达341.7亿件 同比增长8.5%
- 什么是服务式办公室工作_什么是服务式办公室 焦点速读
- 天天热门:DNF复活药水叫什么_复活药水有什么用
- 9-15,五大联赛要乱:米兰蓝军纪录或破,巴萨为皇马上课,太强 环球时快讯
- 西媒:中巴开启友好合作新阶段_通讯
- 曲阜市吴村镇九仙山“三月三”庙会暨乡村全域旅游启动仪式举行
- 环球速读:如何清洗防辐射服_怎么清洗防辐射服
- 第一波疫情产生的抗体还能保护多久
- 世界速看:黄雁社区开展“人大代表接访日”活动 零距离听民声解民忧
- 12月19日是什么星座_12月17日是什么星座_今日快看
- 新资讯:安庆迎江:“一房二卖”引纠纷,检察听证化解四年僵局
- 北京:调配优质医疗资源全力救治长峰医院火灾伤病员
- 三防机_三防机
- 诡计之雾_《DOTA2》诡计之雾详解
- 孟加拉猫多少钱一只_孟加拉猫
- 如何防止蟹饼散开_女朋友送什么生日礼物给男朋友好呢
- 通讯!惊动央视的五一调休方案,大家觉得调还是不调好?
- 癌症标志物检查的费用谁承担_癌症标志物检查的费用-每日信息
- go的数据类型-其他数据类型-channel(二)
- 看点:淄博迎“最热”五一多数酒店客房提前售罄,当地商场:提供免费临时夜宿,可供近80名游客休息
- 全球快资讯丨宝马蒸发市值150亿:能买5亿个冰淇淋
- 苏州首批数字贸易创新企业名单公布 20家企业榜上有名
- 2023年度“湘人才”公共招聘即将启动
- 世界速讯:《国家儿童肿瘤监测年报2022》发布,白血病在新发儿童肿瘤中超三成
- 潍坊国际风筝会开幕_天天热消息
- 大语言模型中的涌现现象是不是伪科学?_世界聚看点
- 【环球新视野】“夫妻本是同林鸟”,但这一次,章子怡也救不了汪峰
- 改用可重复使用的吸管,为地球做点好事
- 健康人每天喝多少水_每天喝多少水最健康_当前观察
- 晶弘冰箱触屏温度调节(晶弘)_环球今热点
- 【自传体小说】苍白色【第九章+第十章】
- 如何确保AGV分拣小车系统的稳定性?_全球资讯
- 世界通讯!孔子:被遗忘的古代科学家
- 焦点速看:巫蛊术尸的故事_巫蛊术尸
- 环球今日讯!民生控股:公司目前注册地在青岛崂山区。关于您第二个问题,公司并未知悉
- 【当前独家】火神写的小说有哪些_火神写的小说
- 全球快讯:圣湘生物:4月21日融资买入808.26万元,融资融券余额2.97亿元
- 唯有源头活水来的全诗_唯有源头活水来出自哪全文是什么
- 2023重庆潼南幼升小报名指南
- 马云受聘港大荣誉教授,将聚焦教育和企业创新-天天看点
- 日本政府回应“杀害岸田文雄威胁信”:将确保首相安保工作万无一失
- 腊八节有什么风俗-腊八节都有什么习俗-世界关注
- 世界视讯!史诗级公关灾难详细内容
- 如何储存香蒜酱-全球新消息
- 【全球播资讯】光环新网(300383.SZ):一季度净利降10.26%至1.74亿元
- 全球快看点丨火热!“五一”假期铁路客票销售创同期历史新高
- 乡加个食念什么字_乡加个食念什么|全球快播报
- 我的世界流浪者英文_我的世界流浪者_新资讯
- 精神抖擞是什么意思解释词语_精神抖擞是什么意思
- 环比折年率_关于环比折年率介绍
- 环球观热点:郎酒庄园三品节:品质是根 品牌是帆 品味是魂
- 2023浙江湖州市德清县第二批引进教育高层次人才体检递补人员名单公告
- 每日消息!杜锋谈和胡明轩关系:就像恋人 相知后才能升华在一起
- 当前时讯:早报:塞维利亚主场大胜曼联晋级欧联四强 尤文15分扣分处罚撤销
- 如意湖办事处开展“四送一助力”结对帮扶义诊活动
- 4月21日基金净值:易方达高端制造混合最新净值1.7641,跌0.96% 焦点日报
- 钠与氧气反应的化学方程式_钠与水反应的化学方程式 当前聚焦
- 五菱“神车”正在败走新能源?|焦点速看
- 新钢股份最新公告:一季度净利润9568.42万元 同比下降90.71%|每日关注
- 克拉克斯顿谈被驱逐:球队需要我 我得控制情绪&打得更聪明点
- 陈飞宇“睡粉”后再遇磨难,新片被质疑抄袭,朱一龙助他“飞升”|今日最新
- 歌尔股份:公司与暂停智能声学整机产品项目所涉海外大客户的其他业务合作均在正常开展中
- 冬天用冷水洗脸对皮肤好吗(冬天用冷水洗脸好)
- 《双面胶》:“被掐脖子不反抗”的丽鹃,她的嚣张,尽显卑微愚蠢 要闻
- 证监会回应泽达易盛、紫晶存储欺诈发行案中投资者保护方面的安排
- 每日报道:暗黑三李奥瑞克庄园的任务怎么做_暗黑3李奥瑞克庄园套装地下城宝典
- 公元股份一季度净利润同比增长138.52%_环球快播
- 中国海军第8艘055型驱逐舰咸阳舰,入列!|天天报资讯
- 【全球播资讯】vip是什么意思_vip什么意思
- 天天速讯:越跌越买 资金不断抄底军工
- 一季度券商债券承销榜出炉 中小券商成“黑马”领跑多项指标
- 腾讯会议如何连接外部摄像头?腾讯会议如何设置虚拟背景?-全球独家
- 罕见!深圳发现一例黑热病
- 今年首次日食今日午后上演 情况到底怎么样的? 世界今日报
- 以金融创新扩大消费刚需,浦发银行多场景助力消费市场回暖_今日热闻
- 空调节能等级3 一小时多少度电_空调节能等级 当前关注
- 火锅底料歌曲gai_火锅底料歌曲 天天观热点
- 正在公示!德化县公务员考试成绩
- 新技能从解锁到精通,按照这10步走就行了 视讯
- 要闻速递:央行答21记者问:部分地方银行为何下调存款利率,未来是否还会下调
- 世界即时看!全网打卡淄博烧烤:短视频造神、社交平台种草和网红城市的网感
- 【环球新视野】中国艺术科技研究所科研成果《巡天遥看一千河》惊艳亮相
- 大风、阵雨、降温,马上就来!|世界视点
- 天天新动态:中州期货:焦化利润空间尚存,双焦震荡偏弱运行
- 汽车贴膜后多久能开窗,新车贴膜后几天能开窗-全球焦点
- 【全球播资讯】国家超算互联网启动建设,2025年底完成总体布局
- 【环球新视野】华池县气象台发布沙尘暴黄色预警信号
- 扬州瘦西湖成功发行2亿元中票 发行利率3.52% 世界看点
- 怎么关闭网吧电脑的防火墙 网吧怎么关闭防火墙
X 关闭
资讯
X 关闭

