
BIM
文章平均质量分 90
新缸中之脑
这个作者很懒,什么都没留下…
展开
-
用SpectorJS调试WebGL应用
显示自定义信息是快速识别材质与其着色器之间或网格与其缓冲区之间关系的好方法。通过将名为 __SPECTOR_Metadata 的特殊字段添加到任何 WebGLObject,可以将自定义数据添加到捕获中。设置字段后,任何依赖此对象的命令都会在属性面板中显示相关元数据。这使自定义名称 cubeVerticesColorBuffer在使用缓冲区的捕获元数据中可见。原创 2023-01-16 17:49:27 · 2676 阅读 · 0 评论 -
OpenSceneGraph纹理API开发指南【OSG】
前面的教程中,我们用彩虹的所有颜色画了一个正方形。然而,还有另一种成为纹理映射的技术,将光栅二维图像应用于三维几何。在这种情况下,效果不是针对几何体的顶点,而是通过栅格化场景更改获得的所有像素的数据。这种技术可以显着增加最终图像的真实感和细节。OSG 支持多种纹理属性和纹理模式。但是,在讨论纹理之前,让我们先谈谈OSG如何在光栅图像上运行。为了处理光栅图像,OSG提供了一个特殊的类osg ::Image ,它在其自身中存储图像数据,最终用于对象的纹理处理。原创 2023-01-13 09:02:11 · 1437 阅读 · 0 评论 -
Speckle Revit连接器使用教程
默认情况下,Speckle将尝试将传入的Speckle对象与本机 Revit 对象进行匹配。它通过尝试匹配 Speckle 对象的类别、族和类型属性来实现此目的。如果要导入标准化对象(如结构剖面),则此方法非常有效。例如,Speckle 将能够轻松分辨出类型为“W12x19”的传入对象将与宽法兰族中同名的类型匹配(假设该系列类型已加载到项目中)。如果没有加载到与类型属性完全匹配的正确类别的Revit中的族类型,则Speckle必须最好地猜测要匹配的对象类型。若要避免这种情况,可以利用对象类型映射设置。原创 2023-01-12 21:05:23 · 1092 阅读 · 0 评论 -
Python WebGL 3D应用开发快速入门
简单地说,PyWeb3D是一个使用Python语法的three.js库。这是一个用Brython和three.js构建的开源项目,它旨在扩展three.js,同时使用python语法与库进行交互。本文是系列的第一篇,因此我们将保持简单。原创 2023-01-12 08:33:31 · 2219 阅读 · 1 评论 -
OpenSceneGraph几何基础教程【OSG】
默认情况下,OSG 使用顶点数组法和显示列表法来渲染几何体。但是,渲染策略可能会发生变化,具体取决于几何数据的呈现方式。在本文中,我们将了解在 OSG 中处理几何体的基本技术。OpenSceneGraph 后端的 OpenGL 使用几何图元(例如点、线、三角形和多边形面)来构建三维世界中的所有对象。这些图元由它们的顶点指定,包括顶点坐标、法线分量、颜色数据和纹理坐标。此数据存储在特殊数组中。例如,可以通过为描述它们的对象指定顶点索引列表来形成图元。这种方法称为顶点数组法;原创 2023-01-08 08:58:27 · 3332 阅读 · 0 评论 -
用八叉树优化RayCasting
在之前的文章中,我们不得不等待 8 分钟来渲染一盏精灵灯和一个球体。总而言之,我们询问每个像素是否有多个三角形之一相交。为我们提供了超过 105 亿次针对单个渲染场景的查询。通常,CPU 的单线程频率为 1-2 GHz。这意味着一个线程每秒可以计算大约 1-20 亿步。现在一个 CPU 可以有多个内核 — 我的有 4 个内核。教程代码可以在下载。原创 2023-01-07 09:05:56 · 1256 阅读 · 0 评论 -
Speckle核心概念【3D数据引擎】
Speckle 中的主要数据结构是流(Stream)。流只是数据的集合,其中包含一些附加信息以帮助你管理和检索它们。每个流都分配有一个 streamId,它唯一标识服务器上的流。你还可以指定名称和描述以帮助跟踪您的流。流还允许你管理权限:它有一个协作者列表,包括所有者以及所有者选择与之共享流的其他审阅者和贡献者。分支(Branch)为你在流中提供了额外的组织层。Speckle 用户经常使用分支来执行并行研究/设计选项。所有流都以一个名为 main 的默认分支开始。原创 2023-01-06 08:35:48 · 666 阅读 · 0 评论 -
Speckle 3d数据引擎Python开发实战
在这个教程中,我们将使用 Speckle 数据并使用它来创建一个超级简单的仪表板。我们将从Speckle流中接收几何图形,更新数据,并使用它来使用 Plotly 和 Dash 进行一些计算和简单绘图。我们假设你具有 Python 和 Speckle 的一般知识。如果有任何问题让你感到困惑,请回顾一下 Python 示例或 Speckle 概念。如果您想跟随代码,可以在此处找到该项目的仓库。原创 2023-01-05 11:37:39 · 871 阅读 · 1 评论 -
CadQuery二维Sketch教程
2D草图是3D CAD的基础。本文介绍如何在CadQuery中使用不同的方法构建二维草图(Sketch)。原创 2022-12-21 23:54:39 · 805 阅读 · 0 评论 -
33个CadQuery程序化建模实例
此示例使用点集定义的样条曲线来定义边。当边需要复杂的轮廓时很有用。原创 2022-12-20 23:15:24 · 1873 阅读 · 0 评论 -
22个最流行的三维重建软件【2022】
摄影测量是一种通过从照片创建 3D 模型来获取环境中真实世界对象的可靠数据的技术。从图像中提取 2D 和 3D 数据,并与对象、建筑物或地形的重叠照片一起转换为数字 3D 模型。这允许捕捉大型物体,甚至是风景,否则无法扫描。因此,测量员、建筑师、工程师和承包商经常使用摄影测量来创建地形图、网络或点云。摄影测量软件有多种形状和形式。当然,也有适合工业和工程应用的商业解决方案。但是,如果你想尝试一下,也有很多程序和应用程序可以免费下载。原创 2022-12-19 12:33:48 · 15235 阅读 · 1 评论 -
IfcOpenShell正确设置几何体的坐标
在之前的文章中,我们使用 IfcOpenShell (IOS) 读取 ifc 几何并将其转换为 brep。当我们读取 wikilab.ifc文件时,一切似乎都是正确的,但真的如此吗?当你在项目中使用 BIM 时,坐标始终是正确讨论的主题。就此而言,我建议你阅读 Dion Moult 的文章 IFC Coordinate Reference Systems and Revit 以及文章中引用的参考资料。本教程使用的 IfcOpenShell 版本:0.6.0a1,教程中的完整代码可以从这里下载。原创 2022-12-18 18:27:52 · 1289 阅读 · 1 评论 -
Speckle+IFC.js:开源BIM
2021年12 月底,我有机会参加了一个关于两个开源工具的网络研讨会:Speckle 和 IFC.js。该网络研讨会是由一个名为 Agile BIM 的社区组织的,我对此也一无所知。然而,我所知道的事实是开源软件开发在任何领域的重要性,开发人员作为一个团队聚集在一起创建软件,这些软件可以免费提供以进行可能的修改和重新分发,从而允许它进一步开发 . 使用开源开发的技术通常是商业软件公司无法提供的,其业务是开发专有软件。原创 2022-12-16 10:29:11 · 1721 阅读 · 0 评论 -
IfcOpenShell简明教程【BIM】
IFC 是用于存储 BIM 数据的 ISO 标准格式。IfcOpenShell 是一个包含 Python 库的项目,可以用来解析 IFC 文件。原创 2022-12-14 16:10:37 · 3802 阅读 · 0 评论 -
BIM IFC模型在线查看工具
IFC Viewer是一个免费的BIM模型在线查看工具,无需下载软件,在浏览器里就可以快速查看IFC格式的BIM模型。访问地址:IFC Viewer - BIM模型在线查看工具。原创 2022-12-14 08:29:08 · 2026 阅读 · 0 评论 -
基于约束的装配设计【CadQuery】
H = 400W = 200D = 350SLOT_D = 5值得注意的是,v 槽轮廓是从 DXF 文件导入的。这样就很容易更换为其他铝型材,例如博世或其他供应商提供的 DXF 文件。接下来我们要定义根据指定参数生成装配组件的函数。原创 2022-11-16 21:03:15 · 1187 阅读 · 0 评论 -
数字孪生技术:WebGL vs. 游戏引擎
3D城市建模已成为各大城市的既定活动。作为这一发展的一部分,城市模式得到日益发展,以支持涉及大型用户群体的许多应用,如协作城市规划、行人导航、活动规划以及在城市中发现服务和企业。城市、公共组织和私营公司自行制作的3D城市模型越来越普遍,在某些情况下甚至作为开放数据(图1)。此外,由于在线社区提供了大量开放软件、教程和其他教育材料,学习如何利用地理空间数据变得比以往更加容易。图1 赫尔辛基的3D城市模型可作为开放数据资产提供 - 现实网格模型(左)和语义城市信息模型(右)利用 3D 城市模型的应用程序原创 2021-11-03 06:33:02 · 4633 阅读 · 0 评论 -
激光雷达 vs. 雷达【选型比较】
LiDAR(激光雷达)和RADAR(雷达)都是用于检测、跟踪和各种物体成像的遥感设备,在很多领域都有助于测量,包括环境研究、太空探索和医学发现。虽然它们在广泛的行业内使用,但激光雷达和雷达正在激发其在自动驾驶车辆领域的功能。对于LiDAR和RADAR哪个更好的讨论已经困扰了整个行业一段时间。大多数制造商选择激光雷达传感器作为他们的顶级传感设备。另一方面,特斯拉的首席执行官、行业核心人物伊隆·马斯克曾多次表示他更喜欢雷达。自动驾驶车辆需要了解周围的环境。通常,在自动驾驶车辆中实现物体检测的系统包括通过传原创 2021-08-24 07:19:16 · 2926 阅读 · 0 评论 -
5个免费的城市规划软件
作为一名城市规划师,你一定知道清晰易读性和可理解性在沟通建筑环境规划中的重要性。深入了解城市规划工具软件是实施有效规划的关键因素之一。在这篇文章中,我们将介绍GIMP等5个免费的城市规划软件。1、GIMPGNU 图像操作程序,通常称为 GIMP,是一种栅格图像操作软件。如果你熟悉 Adobe Photoshop,就会发现 GIMP 是具有类似功能的有效的免费替代方案。在城市规划中,GIMP 用于编辑图像、向图像添加文本以及在地图上迭加图形内容。此外,GIMP提供一些出色的免费教程。2、SketchUp原创 2021-08-19 22:24:55 · 3921 阅读 · 0 评论 -
Three.js PBR渲染入门教程
最近基于物理的渲染(PBR)已成为实时和电影3D场景渲染的行业标准方法。顾名思义,这种渲染技术基于现实世界物理定律,根据场景中的材料和照明设置来计算表面对光的反应方式。PBR是Disney公司为其动画制作发明的技术,也用于现代游戏引擎,如Unreal和Frostbite。令人惊讶的是,压缩后仅 600kb的three.js核心使我们能够使用与这些巨头一样的渲染技术,甚至还可以在智能手机等低功耗设备上运行。就在几年前,这还是需要强大算力支撑的尖端技术,而现在我们可以在任何地方只需网络浏览器就可以运行。使用T原创 2021-08-12 23:26:31 · 2465 阅读 · 1 评论 -
OpenCascade基础图元建模API快速教程【 BRepPrimAPI】
OpenCascade BRepPrimAPI包提供了创建以下图元(primitive)的 API:盒;锥体;柱体;棱镜。可以创建部分实体,例如一定经度范围内的球体。在实际模型中,图元可用于轻松创建特定的子部件。BRepPrimAPI也提供了扫掠方式(Sweep)建模的API,支持轮廓沿线性路径或旋转方式创建实体模型。扫掠将轮廓沿指定路径移动从而获得几何实体。轮廓可以是任何拓扑,路径通常是曲线。轮廓根据以下规则生成几何对象:顶点(Vertex)生成边(Edge)边(Edge)生成面(原创 2021-08-06 10:06:59 · 6578 阅读 · 0 评论 -
BIM仿真软件
在这篇文章中,我们将介绍如何利用BIM模拟各专业现实状况,解释背后的技术原理,并学习如何通过不同的 BIM 软件优化你的工作。具体来说,BIM (建筑信息建模) 对这一行业产生了巨大影响,为建筑、工程和施工流程 (AEC 部门) 各个阶段的合作设计方法提供了新的机会。BIM 允许你优化建筑物的规划、构建和管理阶段,这要归功于使用 3D 虚拟模型,这些模型由软件生成并包含实体对象的所有信息。当前的 BIM 仿真软件包括一类工具,使虚拟模型能够模拟现实。这些模型包含从设计到施工、运营、维护和拆除等与设施整原创 2021-07-31 22:37:51 · 1728 阅读 · 4 评论 -
Three.js的DEM建模【数字高程模型】
在这个教程中,我们将学习如何使用three.js渲染土耳其最高的Ağrı山脉的数字高程模型(DEM)数据,使用的工具包括Three.js、geotiff、webpack和QGIS。我们将要使用的数据是由USGS (美国地质调查局)免费提供的。使用USGS Earth Explorer我下载了Ağrı山脉的DEM(数字高程模型)和卫星图像,这是一个休眠的火山,也是土耳其境内最高的山。我使用USGS应用程序下载了一些卫星影像,然后尝试着找出云层覆盖率小于10%的图像:1、Landsat????️ - 用原创 2021-07-20 12:46:39 · 4415 阅读 · 0 评论 -
Three.js建模基础
在Three.js中,一个可见的物体是由几何体和材料构成的。在这个教程中,我们将学习如何从头开始创建新的网格几何体,研究Three.js为处理几何对象和材质所提供的相关支持。1、索引面集/Indexed Face SetsThree.js中的Mesh网格对象是索引面的集合。Three.js网格对象类型为THREE.Geometry,包含一系列的顶点(其类型为THREE.Vector3)。除了顶点,Mesh网格还包含一系列的三角面(其类型为THREE.Face3),每个Face3对象都指定了Mesh几何体原创 2021-07-17 09:59:58 · 3736 阅读 · 1 评论 -
Three.js如何计算Mesh的体积
计算Mesh网格的体积是一个相对简单和众所周知的问题。在这个教程中我们将介绍计算Mesh网格对象体积的一般思路、数学依据,给出JavaScript实现代码,并对大量重复对象的体积计算给出优化算法。1、基础知识计算Mesh网格体积的基本思路是计算网格中每个三角面对应的体积并将其加起来。一个三角形本身没有体积:它是二维的,因此我们计算从原点 (0,0,0,0) 到三角面的四面体(tetrahedron)的体积。计算四面体的体积有简洁的方程。给定三角形的点v1,v2,v3的四角体的体积是另一种解读是原创 2021-07-14 21:23:15 · 1185 阅读 · 1 评论 -
Three.js重建真实地形【教程】
在这个教程中,我们将学习如何搭建一个3D场景,如何编写GLSL程序并使用Vertex Shader和Fragment Shader重建澳洲著名的Ululu巨岩附近的真实地形。为了方便起见,我们将使用Three.js和React来编写本教程中的示例代码。0、飞行模拟器你可能知道微软去年8月发布的游戏 Flight Simulator,如果你和我一样对飞行模拟器或在计算机中重建现实生活中场景,可能已经花了很多时间敬畏地注意到这个游戏中的那些惊人的细节。Terrain in Microsoft Fligh原创 2021-07-07 21:25:07 · 5735 阅读 · 1 评论 -
基于DNN的3D点云语义分割
由于增强现实/虚拟现实的发展及其在计算机视觉、自动驾驶和机器人领域的广泛应用,点云学习最近备受关注。深度学习已成功地用于解决二维视觉问题,然而在点云上使用深度学习技术还处于起步阶段。语义分割的目标是将给定的点云根据点的语义含义分成几个子集。本文重点研究基于点的方法这一技术路线中最先进的语义分割技术。深度学习的早期尝试,是将点云预处理成结构化的网格格式,但代价是计算成本的增加或深度信息的丢失。3D 点云分割是将点云分类到不同区域的过程,同一区域中的点具有相似的属性。由于冗余性高、采样密度不均匀以及点云数据缺原创 2021-07-01 07:35:04 · 782 阅读 · 2 评论 -
数控机床CNC编程入门【G-code】
如果你的工作或爱好与数控机床(CNC)或 3D 打印机相关,那么了解 G -code是什么以及其工作原理对于你就很重要。在此教程中,我们将学习 G -code语言的基础知识以及常见的 G-code命令,并且解释这些G-code命令的工作原理。1、什么是 G-code?G-code是 CNC(计算机数控)机床的编程语言。G-code指的是Geometric Code,即几何代码。我们使用这种语言告诉机器做什么或怎么做某事。G-code命令指示机器移动位置、移动速度以及要遵循的路径。对于数控机床而言,切割原创 2021-06-26 09:26:16 · 47828 阅读 · 13 评论 -
从零实现一个3D建模软件
Dust3D是Jeremy HU 个人开发的一款3D建模软件,主要用于游戏模型的快速制作。虽然作者已经在某种程度上放弃了该项目,但其分享的Dust3D从起心到技术选择到最终实现的整个心路过程,很有借鉴意义。1、起心动念自2015年以来我就想写一个3D建模软件,那时我正在开发2.5D的MMORPG游戏。我在YouTube自学了一段时间的Blender软件,Blender其实相当不错,但是,这个过程中的工作量让我意识到,一个人不可能完成大量的模型、制作纹理、动画,然后在游戏中使用,因为只是建立一个简单的恐龙原创 2021-06-22 21:36:25 · 2201 阅读 · 1 评论 -
6个好用免费的LiDAR数据处理软件【2021最新】
要找到免费的激光雷达数据处理软件并不容易,因此在这篇文章中,我们将介绍6个最出色的免费或开源的LiDAR软件,可以用于3D点云查看、点云数据分析、点云操作等。1、QGIS 3 - 查看3D 点云的最佳LiDAR软件QGIS3 查看激光点云的视觉效果令人印象深刻,因为你可以在 3D 环境中进行原生地缩放、平移和飞行。首先,你可以拖放LAS和LAZ文件,我们非常喜欢这一特性。无需转换为中间格式,因为 QGIS 3 可以处理原始点云格式。QGIS3提供有基于类、高度和 RGB 属性来表示点云的选项。但它原创 2021-06-17 08:34:57 · 7784 阅读 · 0 评论 -
Revit 2021插件开发入门教程
在这个教程中我们将学习如何开发一个Revit插件,并利用此插件实现设计自动化。课程代码可以从github下载。第一步是创建 C# Libray新项目,这就是我们的"DeleteDoors"插件项目。1、Visual Studio配置在VS 界面中需要配置大量元素,以便能够正确编译代码。在工具栏中单击 Debug >???? DeleteDors 并按照以下步骤操作:1- 使用 Revit v2021 的用户应确保目标框架为 .NET 框架 4.82- 将调试器定义为外部程序,并指向revi转载 2021-06-15 19:29:45 · 2773 阅读 · 0 评论 -
Dynamo可视化程序结构剖析【BIM】
Dynamo 使我们能够采用一种可视化的方法创建程序。在这篇文章中,我们将介绍了Dynamo可视化程序的元素、Dynamo 库中可用的节点的组织、节点的部件和状态以及工作空间的最佳实践。1、节点在 Dynamo 中,节点是你用来连接以形成可视化程序的对象。每个节点执行特定的操作 - 有时可能像存储数字一样简单,有时又可能是一个更复杂的操作,如创建或查询几何形状。1.1 Dynamo节点Dynamo 中的大多数节点由五个部分组成。虽然有例外,如输入节点,但每个节点的结构可描述为:名称 - 遵循C原创 2021-06-05 17:33:51 · 2341 阅读 · 2 评论 -
IFC vs. DWG - 谁是最佳BIM文件格式?
如果你看看数字BIM世界,你会发现有许多文件格式,无论是开放的还是封闭的。开放的文件格式是指你可以在任何 BIM 软件中打开和处理的文件格式。但是,封闭的文件格式只能由特定程序处理。在将其导入其他软件时,可能会丢失一些存储的数据。此外,很难确定单个文件的正确目的或每个文件可能包含哪些信息。例如,某些文件适合导出线和点,而其他文件则适用于 3D 平面和实体。经过长时间的分析,我觉得根据文件的目的正确认知和使用文件是BIM顶层基础之一。因此,我们将了解 BIM 技术支持的基础设施项目中可用文件格式的作用和目的原创 2021-06-04 16:54:32 · 1000 阅读 · 1 评论 -
15个Rhino Grasshopper技巧【最新】
确实,你不必成为 Rhino 超级用户即可创建好的脚本。大多数 Grasshopper 用户只需要 Rhino 进行可视化和数据导入。在我看来,忽视学习 Rhino 是一个巨大的错误。使用脚本时,了解程序会很有用。此外,掌握一些 Rhino 技巧可以为您节省大量时间和精力。立即学习 Grasshopper Rhino 技巧!1、命名视图 - Rhino让我们从一个小秘密开始:你不需要打开四个标准视口。我知道这是 Rhino 的默认设置,但老实说,你多久使用一次正面和右侧的视图?这就是为什么我建议关闭它而原创 2021-06-02 19:53:45 · 8679 阅读 · 0 评论 -
初学者需要知道的22个BIM术语
BIM 技术意味着流程、软件和产生许多结果的信息。然而,如果没有这些流程的标准化,BIM 不会如此有效。因此,标准化伴随着标准化的术语。然而,它不会仅仅因为有很多与 BIM 相关的术语和概念的概要。在下面的文章中,我将重点介绍几个主要和最流行的概念。如果你正在寻找所有 BIM 术语的数据库,请访问:https://bimdictionary.com/本文的目的是使你更好地理解这些术语是什么。1、二维(CAD)设计和文档的方式是在两个维度上完成和交付的。任何协调都基于个人图纸。BIM 级别 0 的特征原创 2021-06-02 12:02:42 · 1953 阅读 · 0 评论 -
Revit API之镜像变换研究【BIM】
在这篇文章中,我们将研究Revit API中的Instance.GetTransform方法。Revit API 中的Instance.GetTransform方法 不包括反射,下图展示了一个被镜像的族实例以及等效的 GetTransform 值:下面是Python代码:import sysimport clrclr.AddReference('ProtoGeometry')from Autodesk.DesignScript.Geometry import *data= UnwrapEle原创 2021-06-02 11:11:19 · 765 阅读 · 1 评论