ThingJS技术分享:建筑建模常用软件一览 3D 可视化

2026年四大3D建模软件更新盘点:Blender、C4D、Maya、3ds Max实战对比 在GPU算力普及与USD成为行业标准的大背景下,3D建模软件正加速向实时渲染、程序化流程和AI辅助方向演进。Blender凭借几何节点4.0的GPU异步计算与节点烘焙,让程序化建模和手工精修无缝衔接;AI智能拓扑和文字生成基础形状,进一步释放创作效率。C4D将布料、流体、毛发整合进统一模拟框架,搭配风格化渲染器,为动态设计和商业视觉提供全链路解决方案。Maya以模块化绑定和MASH增强,解决影视角色维护与大规模散布的痛点。3ds Max则通过高速布尔、Python 3和BIM协同,巩固建筑可视化与游戏场景的 阅读详情

聚焦物联网领域的3D开发软件,3D效果的描绘对象包括建筑、实景和室内、设备,面向的用户大致分为(1)非3D专业设计师、(2)建筑设计师和(3)转3D开发的前端工程师,不同群体的需求层次不一样,而不同的群体,因为技术的侧重点有区别,大致会选择以下三大工具:
在这里插入图片描述

做这一行的都知道,选择工具需谨慎,因为会存在模型数据格式不统一的问题,所以一般要考虑格式转换,软件组合必不可少。

3D效果爱好者

大部分非3D专业的设计师会倾向于使用通用3D软件,用于广告宣传或者地图导航,比如谷歌SketchUp,直接输出为谷歌地图,利用GPS追踪,足以满足车辆导航等可视化需求。

面向广告、地图类的三维建模方法,组合软件包括SketchUp+3DSMAX,不会开发也不用愁

在这里插入图片描述

专业的建筑设计师

专业的建筑设计师对施工精度要求高,选用的是BIM建筑设计为主导的软件,例如Revit,这是一款专业的BIM设计软件,支持建筑外立面和室内设计。

对于专业建筑设计来说,3D效果只是一种表现形态,视不同的情况,有些设计师会使用SketchUp转lumion导出,仅作为演示效果而已,更多的是外包给效果图开发商制作。

组合软件包括AutoCAD+Revit+SketchUP,3D效果视不同情况而定。

在这里插入图片描述

小插件大功能轻量化森BIM插件手把手教学 你还在头痛如何将BIM相关的 .rvt 文件 转换成ThingJS使用的TJS场景文件格式吗 伴随「森BIM插件 for Revit」 重磅推出 ( 竟然还是免费使用的!) 这些问题迎刃而解! 使用该转换插件 能够自定义配置 并快速完成BIM模型转换 场景迅速转换到ThingJS/ThingJS-X 生态中 (使用森BIM插件完成的场景转换应用) 这么“神”的插件上手是不是很难? 并不会!五步即可完成BIM模型转换到ThingJS使用 下面手把手教你使用森BIM 阅读详情

相关推荐

基于WebGL的三维大屏可视化技术实践 thingjs 3d 开发

DataV, 腾讯云图,帆软等可视化大屏应用厂商,都提供三维可视化分析工具。ThingJS是近两年新兴的3D可视化开发组件,助力物联网3D可视化的未来发展。新基建浪潮汹涌,智慧城市建设也到了落地阶段,不再是纯粹的概念,很多物联网技术开始崭露头角,相较于之前的低调行为,3D可视化领域有何变化呢? 以前 三维可视化城市大屏应用属于保密项目,CVS(可视化展示服务)系统部署在安全消防、城市交通、智慧工厂、城市管理等运营管理客户端,属于小众需求,随着云模式部署比例加大,大屏应用支持可视化组件进行监控画面搭建,中小开

ThingJS的博客 3780

NASA样本实验室之3D渲染图,一分钟搭建教程!3D 可视化 ThingJS

ThingJS在实现物理空间与信息空间的融合过程中,空间数据模型无疑是两者之间重要的联系纽带。 号外!美国宇航局(NASA)约翰逊航天中心向公众发布了目前正在建设中的实验室的渲染图,该实验室将用于研究小行星样本和其他 “宇宙之谜”。 按照计划,Bennu小行星样本将在2023年返回地球,到那时,约翰逊航天中心计划已经完成了实验室的建设,保证“研究材料到分子水平而不受损害”。除了建设实验室,这项工作还将包括新的工具、存储区和清洁设施。 本文就来解析一下,如何完成NASA样本实验室的3D渲染图? 一个实验室

ThingJS的博客 2065

轻松挑战3D场景开发,ThingJS只需4步做完

ThingJS 3D代码示例全都是一种类型的编程语言,没有更底层的开发技术挑战,房屋、建筑等场景展示变得非常简单。 ThingJS如何去展示房屋?这个太简单了,首先我们要知道,ThingJS 是物联网可视化PaaS开发平台,能帮助物联网开发商轻松集成 3D 可视化界面。ThingJS 名称源于 物联网Internet of Things (IoT)中的 Thing (物),ThingJS 使用当今最热门的 JavaScript 语言进行开发。不仅可以针对单栋或多栋建筑组成的园区场景进行可视化开发,搭载丰富插

ThingJS的博客 2059

一个前端的三维可视化开发心路历程

前言:我公司是做资讯平台的,每天用户不少,作为一个只有一年工作经验的前端开发工作者,临危受命要做可视化大屏,就是那种放在显眼区域实时能看到动态数据的大屏,要酷炫要抗造耐用。怎么办?网上各种找渠道啊,各种问啊,幸好本人没少混前端技术交流群。经打听,我了解到了ThingJS。可谓是救我于水火之中呀~ 这是一个神奇的平台,此处使用官方介绍: ThingJS 是物联网可视化PaaS开发平台,帮助物联网...

1万+

ThingJS之了解ThingJS的在线开发平台来创建可视化项目

作为一个物联网可视化方面的PaaS平台,ThingJS提供了在线开发环境,那么新手该如何使用ThingJS的在线开发环境来开发一个3D可视化项目呢?第一个关键之处就是使用ThingJS的前置要求,必须会javaScript,也就是说,这个也有一定的门槛,会java转javaScript也是较为简单的事情,如果完全不会编程,不建议直接学习和使用。 创建项目 创建项目之前需登录ThingJS账号,如果...

qq_42739428的博客 893

仅需30分钟,学会制作阿里云IOT的3D可视化项目

ThingJS和阿里云物联网合作推出在线的空间数据可视化开发,仅4个步骤就可以完成一个3D商业展示场景。 阿里云物联网和ThingJS达成合作,推出空间可视化数据分析,从2D扩展到了3D界面,常见的有智慧园区3D场景,和平面图最大的区别在于,我们可以进入建筑内或物体中,设置多个层级,找到更多人与物、物与物之间的联系。 作为3D开发人员,或者一个物联网项目的主理人,这一套3D开发流程对你有什么帮助?1、可以进行物联网项目演示,2、可以激活并控制设备。当然,想让传感器的电子数据传输至接收的设备,就需要更多IoT

ThingJS的博客 2275

三个3D可视化案例:不只酷炫,实用最重要

你眼中的3D可视化的案例是否是各种条形图、柱状图等等堆积在一起进行数据的展示? 今天看完为大家整理的三个3D可视化优秀作品,你就知道原来3D可视化应用还可以这样做,欢迎大家分享与收藏。 一、智慧工厂3D可视化 3D可视化工厂厂房在数字化的今天,已经被越来越多的公司和企业应用。智慧工厂3D可视化管理平台基于数字孪生的理念,集成工厂生产、经营、安全、监控、设备等业务系统的数据,结合三维仿真技术,创建虚拟数字孪生工厂,实现对现实世界的全域感知、镜像再现,在数字孪生世界里构建智慧工厂各类智能应用。主要建设

ThingJS的博客 3156

最新物联网3D可视化在线开发平台入门教程

此文只写给有需要的人,如果你与这相关:1.你是技术人员 2.你懂前端开发,懂js,熟悉webgl 3.对物联网3D可视化有极大的兴趣 4.愿意花时间研究开发。那么这篇入门教程很适合你喽~请继续往下看: 创建项目 创建项目之前需登录ThingJS账号,如果您尚未登录账号或页面出现“登录已过期,请重新登录!”的提示,为保证项目的正确保存及运行,请您在账号登录之后再创建项目。您可通过以下三种方式...

1481

前端开发使用物联网pass平台应知事项

从事物联网相关行业的人员越来越多,作为物联网pass开发平台,能够让用户更好地使用平台是我们必须要做的事情,不断地修改完善产品是我们应尽的义务。那么大家知道作为前端开发工程师使用thingjs应该有哪些要了解的吗? 首先要认清自己的技术水平: ThingJS 使用当今最热门的 Javascript 语言进行开发。不仅可以针对单栋或多栋建筑组成的园区场景进行可视化开发,搭载丰富插件后,也可以针对...

1277

【DICOM后处理】qt+vs 实现DICOM数据四视图显示

方法用于 设置 2D 视图的“向上”方向,即定义图像在屏幕坐标系中的朝向。该方法直接影响影像的显示方向,尤其在多平面重建(MPR)或非标准切面显示时至关重要。:方法用于 设置渲染窗口在屏幕上的显示位置(以像素为单位)。它控制的是 VTK 渲染窗口的左上角在屏幕坐标系中的坐标位置。DICOM四视图通常指同时显示医学影像的四个不同平面或视角,用于全面分析三维数据(如CT、MRI等)。:基于 标量值 设置不透明度(控制不同组织的显示),显示骨骼or显示高密度流体等。默认朝向原点 (0, 0, 0)

weixin_41804847的博客 1325

手把手教你用ET-BERT预训练模型搞定加密流量分类(附完整代码)

本文详细介绍了如何使用ET-BERT预训练模型实现加密流量分类,包括环境配置、数据预处理、模型微调及优化策略。通过实战代码示例,帮助开发者快速掌握这一技术,提升网络安全领域的加密流量分析能力。

weixin_29166013的博客 493

nature子刊:MCNN基于电池故障诊断的模型约束的深度学习方法

本研究提出了一种基于模型约束神经网络(MCNN)的锂离子电池在线故障诊断方法,整合物理模型与深度学习,有效解决了随机工况下传统方法诊断精度低、依赖故障样本等问题。通过统计修正电池包模型和双向LSTM网络,实现了电池状态的高精度预测(平均RMSE 3.9%),并设计模型耦合自动编码器提取可解释特征。在包含18.2百万条真实车辆数据的验证中,该方法故障检测TPR在FPR=0.1时达85%,较基准方法提升超46.5%,且能提前30分钟预警内部短路等故障。研究还展示了算法在跨电池包结构迁移中的优越性,为工业应用提供

hasakie的博客 1757

超级详细!!!新手使用AutoDL跑深度学习(MixVPR项目)的学习记录

新手第一次在AutoDL上跑深度学习的实验,遇到一些问题,简单记录一下。如果大家发现问题,欢迎和我讨论。

weixin_45152283的博客 5万+

104基于深度学习识别是AI生成还是真实图片

的可视化界面,通过点击左侧可以加载要识别的检测对象图片,点击中间的识别按钮,会识别出结果,识别结果在右侧显示,当前识别的图片是真实的图片,非假图片。有兴趣的小伙伴也可以自行扩充数据集,或训练自己的数据集。文本,分别存放了图片路径和对应的标签。文本里面的数据,并将训练好的模型也保存在本地。即可加载训练好的模型,真假图片进行识别。本期给大家介绍的是基于深度学习识别是。代码整体是非常简便的,总共三个。个文件夹分别是真图和。

xcvxvfgdfgfh的博客 2261

手把手教你用TP4056和PMOS管搭建锂电池自动切换电路(含元器件选型指南)

本文详细介绍了如何使用TP4056和PMOS管搭建锂电池自动切换电路,包括核心架构设计、元器件选型指南和PCB布局优化。通过智能充电算法和电源路径切换模块,实现外部供电与锂电池的无缝切换,提升便携式设备的电源管理效率。

julia4scientist的博客 888

基于滤波反投影的图像重建算法matlab仿真

基于滤波反投影的图像重建算法是一种用于医学影像重建的计算机辅助技术。该算法可以从投影数据中重建出高质量的三维图像,被广泛应用于医学影像学、CT、PET等领域。本文将详细介绍基于滤波反投影的图像重建算法的原理、步骤和应用。一、原理介绍基于滤波反投影的图像重建算法基于X射线CT成像原理,它的主要思想是通过对投影数据进行处理,反推出被成像物体的三维形状。其核心原理是投影数据与目标物体之间的线性关系,即通过估计目标物体的吸收率来计算投影数据的变化,从而反推出目标物体的三维形状。

平时工作较为繁忙,私信消息一般晚上回复,谢谢大家~~ 385

【Autoware】Autoware.universe安装过程与问题记录

Autoware.universe安装过程与问题记录

DevFrank的博客 2739

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: 基于WebGL的三维室内可视化逻辑建模 thingjs
下一篇: 基于WebGL的三维大屏可视化技术实践 thingjs 3d 开发
ThingJS_小锘
博客等级 码龄6年 170粉丝 254原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值