<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[疯狂的蒲公英]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ztz87</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ztz87]]></copyright><item><title><![CDATA[freeCAD 学习 step1]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/148560617</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/148560617</guid><author>ztz87</author><pubDate>Tue, 10 Jun 2025 15:19:03 +0800</pubDate><description><![CDATA[基于freeCAD开发，怎么开始？]]></description><category></category></item><item><title><![CDATA[css3d放置的面板方向不对问题排查]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/145976843</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/145976843</guid><author>ztz87</author><pubDate>Mon, 03 Mar 2025 10:11:16 +0800</pubDate><description><![CDATA[本来应该是(0,0,1)方向，结果显示却是（0，-1，0），本来应该是y轴方向，结果却是(0,0,1)。以往在threejs左手坐标系下，camera=new THREE.Vector3(0, 0, 1)，好像在贴css3d的时候从来不会出问题。而这次接到一个朋友是用右手坐标系的，camera默认不设置方向，则应该是（0，1，0）css3d的样式，本质上它是一个div，而面向我们眼睛的角度就是这个css3dobject的目标朝向，可以利用lookAt来改变它的方向。]]></description><category></category></item><item><title><![CDATA[BIM模型+GIS信息的融合加载（纯Threejs方案）]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/145934864</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/145934864</guid><author>ztz87</author><pubDate>Fri, 28 Feb 2025 18:00:06 +0800</pubDate><description><![CDATA[以前还是使用threejs+Cesium叠加来完成的，在控制上是以Cesium为主，Cesium非常笨重，想做好相机的控制，对不熟悉它的人来说真难，而且在渲染效果上也有不小的差距。而现在，如果只是一个项目的周边环境分析，利用threejs简单载入一下天地图的切片，效果也完全没有问题，而它从根本上还是一个BIM模型浏览器，只是多了载入地图的能力。把地图信息（天地图）整合到threejs中，并在此基础上解决BIM模型+GIS信息的加载。前几年一直没完成的作品，今天随手完成了。感慨一下，AI真是强大。]]></description><category></category></item><item><title><![CDATA[unity&BIM]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/139376461</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/139376461</guid><author>ztz87</author><pubDate>Sat, 01 Jun 2024 18:08:25 +0800</pubDate><description><![CDATA[unity的编程也不算难，纯粹的体力活。每个项目要做到比较好的效果，需要一个团队来支持，至少配置美术、建模、编程、产品4个职位，能以一人之力做出很好的效果，那真的是大佬，会遇到很多问题。Revit里的族本来不是用于好看的，多余的细节都不建议使用，FBX减面工具优化有限，提升性能上限还是要靠人力去堆。我什么都还没做，只建立了一个空的URP效果，把FBX拖进去，挂了一个相机控制器，效果勉强看得过去。2、通过Navisworks导出FBX，拖到unity里面。不好意思，gif效果太渣了。]]></description><category></category></item><item><title><![CDATA[Revit模型用来做运维展示]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/138393966</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/138393966</guid><author>ztz87</author><pubDate>Thu, 02 May 2024 16:33:17 +0800</pubDate><description><![CDATA[显示设备点位和图标，包括报警图标时，也是2行代码。先放个剖面，更清楚的看到模型的内部，然后在内部去显示2D精灵标注，永远查向相机。模型美观度凑合，运维所需要的控制展示基本齐全了。相机飞行到指定位置（就一行代码，不过相机的点位可以从demo中先移好，再使用get方法取出来用。例如首先，通过web端引入的qmodel组件，打开Revit轻量化后的模型。完整的代码可以查看链接，通过F12查看，真正的控制代码没几行。插件css3d标签，并且增加一些点击回调。仅显示指定的楼层，然后飞到该楼层开始漫游。]]></description><category></category></item><item><title><![CDATA[revit\navisworks各种安装问题]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/138201767</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/138201767</guid><author>ztz87</author><pubDate>Thu, 25 Apr 2024 22:51:29 +0800</pubDate><description><![CDATA[You have entered a nonvalid serial number ,Autodesk，网络许可。]]></description><category></category></item><item><title><![CDATA[基于threejs加载大型BIM模型的优化尝试]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/131869112</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/131869112</guid><author>ztz87</author><pubDate>Sat, 22 Jul 2023 16:46:40 +0800</pubDate><description><![CDATA[threejs实现BIM模型轻量化的一些优化尝试。八叉对，遮挡剔除，LOD]]></description><category></category></item><item><title><![CDATA[Revit模型在Web端展示的免费方案]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/120455523</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/120455523</guid><author>ztz87</author><pubDate>Wed, 31 Aug 2022 16:29:35 +0800</pubDate><description><![CDATA[问我Revit模型在Web端展示，第一次接触这个行业，也有不少公司没有那么多资源投入，也想着花最少的钱实现项目交付，并且期望有一个可持续发展的路线，将来做大做强不受制于人卡脖子，而且工作不会白费。有的，基于webgl(threejs)的客户端渲染解决方案有免费的，我说的是免费是纯粹从github上找得到的资料，方便一些愿意跳坑的小伙伴精准跳入大深坑，别坑口都找不着。7，交互的优化，比如点选框选，测量，漫游，显隐，透明，染色；8，各种效果，比如自发光，环境光，动画，阴影；......]]></description><category></category></item><item><title><![CDATA[BIM模型轻量化-SSAO效果-自然光漫反射阴影]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/123865941</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/123865941</guid><author>ztz87</author><pubDate>Thu, 31 Mar 2022 10:54:22 +0800</pubDate><description><![CDATA[hello，我又来做知识的搬运工了。今天的主题是，如何让模型看起来呈现自然光的漫反射出现的阴影轮廓呢？

首先，推出threejs官方的一个后处理通道效果，先看demo,在轮廓的边缘出现阴影。示例：

three.js examples





源码


&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
	&lt;head&gt;
		&lt;title&gt;three.js webgl - postprocessing - Screen Space Ambie.]]></description><category></category></item><item><title><![CDATA[Revit-BIM模型轻量化 发光特效]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/121520117</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/121520117</guid><author>ztz87</author><pubDate>Fri, 03 Dec 2021 10:01:37 +0800</pubDate><description><![CDATA[threejs有很多种特效，但是原理是同一个原理就不分开写了，懒，也没必要混分。

这门手艺叫做“后处理”，外语叫“PostProcessing”，基本概念请大家多查一查，而对于threejs来说，本质上是利用一个EffectComposer和pass来实现的.

EffectComposer中会初始化两个WebGLRenderTarget，一个叫writebuffer，另一个叫readbuffer。在渲染执行的时候，composer会遍历内部所有的pass，然后执行每个pass的渲染，每个pass都会传.]]></description><category></category></item><item><title><![CDATA[Revit-BIM模型轻量化 关于合批（merge)那些小技巧]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/120439769</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/120439769</guid><author>ztz87</author><pubDate>Thu, 23 Sep 2021 18:36:44 +0800</pubDate><description><![CDATA[减drawcall是我唯一的执念

1、有些物体看起来只有2种材质组成，但是有可能groups有上千个。这种物体会出现极多的drawcall,先调整顶点顺序，减少groups吧。减1个groups少一次drawcall

2、理论是，只要是纯色的不透明的物体可以全部合并。因为颜色可以用顶点颜色设置，且材质直接换为

newTHREE.MeshLambertMaterial({

vertexColors:THREE.VertexColors,//顶......]]></description><category></category></item><item><title><![CDATA[Revit-BIM模型轻量化 帧率控制]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/120301045</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/120301045</guid><author>ztz87</author><pubDate>Wed, 15 Sep 2021 08:48:33 +0800</pubDate><description><![CDATA[最近有些忽悠大侠出来，说他的技术利用“视觉残留”欺骗用户的眼睛，以达到性能优化，有多么牛逼，那么今天我们来研究一下所谓视角欺骗是怎么一回事。

第一点：人的眼睛有一种视觉暂留的特性。眼睛的一个重要特性是视觉惰性，即光象一旦在视网膜上形成，视觉将会对这个光象的感觉维持一个有限的时间，这种生理现象叫做视觉暂留性。对于中等亮度的光刺激，视觉暂留时间约为0.1至0.4秒。中国古代的走马灯，就是通过这个特性来实现视觉的动画效果。让我颇为怀念的是20年前跟着我大伯用翻斗车接着十大麻袋的电影胶卷去周边村子播放李连杰的《少]]></description><category></category></item><item><title><![CDATA[使用ThreeJs搭建BIM模型浏览器-天空盒或底图]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/120109571</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/120109571</guid><author>ztz87</author><pubDate>Sun, 05 Sep 2021 07:18:57 +0800</pubDate><description><![CDATA[一看竟然有5个月没有写东西了，今天写个简单的小技巧吧。如何制作天空盒效果，或者是叠加底图呢？

底图效果

其中底图的关键在于设置threejs全使用的canvas变成透明，然后把在canvas后面放一个div设置好图片。



就3行到位

renderer=newTHREE.WebGLRenderer({canvas:document.getElementById('canvasmain'),alpha:true,antialias:true,preserveDrawingB......]]></description><category></category></item><item><title><![CDATA[cesium+threejs结合实现GIS+BIM大场景-2]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/117257095</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/117257095</guid><author>ztz87</author><pubDate>Tue, 25 May 2021 15:53:40 +0800</pubDate><description><![CDATA[最终效果

示例的demo我没做，但是可以放一个最终调试完的QModel产品的效果。大概是这个样子：示例网站



常见问题

1、原理是什么？

原理是利用threejs在Canvas上渲染支持背景透明的特性。把两个Canvas叠加在一起，然后在render时，使threejs的camera随Cesium的相机联动。

2、如何屏蔽掉表层threejs这个div的鼠标操作，只让底下的cesium响应操作？

一句话实现，让某个div忽略所有的鼠标事件：ThreeContainer.style.pointe]]></description><category></category></item><item><title><![CDATA[cesium+threejs结合实现GIS+BIM大场景-1]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/116303796</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/116303796</guid><author>ztz87</author><pubDate>Fri, 30 Apr 2021 15:53:42 +0800</pubDate><description><![CDATA[前面已经花费了许多内容去介绍BIM如何搭建了。其实我不太担心抄袭，让有一些节省成本的老板想自己搞引擎的。（你搞去~看是不是能节省成本！那我们一步步说。有源码放源码。搭不出来说明你基础不好了。首先Cesium入门准备。先下载吧。]]></description><category></category></item><item><title><![CDATA[使用ThreeJs搭建BIM模型浏览器-CSS3D图层]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/116041534</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/116041534</guid><author>ztz87</author><pubDate>Fri, 23 Apr 2021 09:21:17 +0800</pubDate><description><![CDATA[再然后，最重要的是它：import { CSS3DRenderer, CSS3DObject } from './jsm/renderers/CSS3DRenderer.js';CSS3D的本质是在Canvas之上罩了一层透明的div，然后把原本的DOM元素通过CSS的变换实现了立体感。如何实现的呢，首先我们得先学习一下threejs提供的示例Demo。1、关于图层叠加后，WebglRender会出现一些新的小问题。剩下的一些延伸出来的问题要解决，这部分代码不免费提供了，再见。2、如何做到遮挡不显示面板。]]></description><category></category></item><item><title><![CDATA[Revit的顶点法线及threejs渲染圆弧面的渐变亮度]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/114846846</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/114846846</guid><author>ztz87</author><pubDate>Mon, 15 Mar 2021 20:01:50 +0800</pubDate><description><![CDATA[本文主要用于分享基于Revit的法线理论，导出模型后让threejs呈现立体真实的效果。Revit的顶点法线及threejs渲染圆弧面的渐变亮度。

法线有什么用的？没有法线能否成模型？可以的，没有法线，模型几何信息照样是完成的，把它送到threejs里面渲染没有问题，但是效果却让人很失望，没有法线，整个模型会成为一个白模一样没有立体感，配合再好的光照也显示不出亮光面和暗光面。



这个时候，你可以简单的使用mesh.computeVertexNormals()来解决问题，这是threejs自带的一个计.]]></description><category></category></item><item><title><![CDATA[使用ThreeJs搭建BIM模型浏览器，加载GLTF模型]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/110122280</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/110122280</guid><author>ztz87</author><pubDate>Wed, 25 Nov 2020 11:59:04 +0800</pubDate><description><![CDATA[总有朋友问GLTF模型支持浏览吗？IFC模型支持吗？

IFC在前面有一篇文章已经介绍过了。有两个办法，第一种，转Obj，目前这个技术是不成熟的，转换过去数据丢失，除了看看，啥都做不了。第二种，自己解读IFC，这个工程浩大，别问我，我也不懂。

GLTF是目前国际上对模型交换最好的格式。至少在BIM领域应该是最通用的一种。Threejs官方对这个支持就已经做得很好，在到处找加载器的，总得看一看官方的GLTFLoader吧？官方网址打不开也不要紧，百度搜索，郭隆邦技术博客。或者到我放的一个threejs资源上]]></description><category></category></item><item><title><![CDATA[一种简单的DWG在线浏览方法]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/110005308</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/110005308</guid><author>ztz87</author><pubDate>Mon, 23 Nov 2020 19:29:59 +0800</pubDate><description><![CDATA[想尽了无数报表，把通过Webgl技术或者直接使用Canvas去渲染图纸，可惜的是，SHX字库解决起来十分艰难。笔者水平有限，无论是ODA还是ARX都不知道怎样把文字转换成WEBGL可以描述的线条和Mesh。

如果可以抛开Canvas这种可以测量和图层过滤的需求，单纯浏览的话，使用PDF的途径反而是个最好的选择。首先速度够快，还原度也非常高,批注功能也可以实现，鼠标操作可以仿CAD实现平移、缩放。放出来请各位老板评估，有需要这个解决方案的也可以联系我们。



http://www.qmodel.cn/i.]]></description><category></category></item><item><title><![CDATA[使用ThreeJs搭建BIM模型浏览器，超大模型的分时渲染]]></title><link>https://blog.youkuaiyun.com/ztz87/article/details/109577711</link><guid>https://blog.youkuaiyun.com/ztz87/article/details/109577711</guid><author>ztz87</author><pubDate>Mon, 09 Nov 2020 16:15:49 +0800</pubDate><description><![CDATA[使用Threej搭建大场景，超大模型渲染的时候特别卡，渲染构件数量过多，顶点多，数据量大，一次性渲染耗时超长，FPS小，甚至掉到5以下。这种情况直接的体验是，无法操作！

那如何让它变成优先响应鼠标操作呢，至少让人体验起来不卡。首先我们看一下Revit，如果模型特别大，转换起来是什么样的。

http://www.qmodel.cn/file/20191205/rvt/1.mp4

是不是发现Revit也闪得十分厉害？在拖的时候，几十栋的园区，也只剩下1栋房子还在，其他的都等拖完了再慢慢渲染出来。这种特性.]]></description><category></category></item></channel></rss>