niuge8905的博客

还有什么比it技术更有趣???

Revit二次开发——另存为软件崩溃的问题及解决办法

1、另存为软件崩溃的问题 经过我的多次实验,发现另存为软件崩溃的原因是我安装的wps导致的。这点wps可得长点心,害苦了其他软件。 2、解决办法 这里另存为的代码片段如下: private void Export_Click(object sender, RoutedEventArgs ...

2019-03-13 10:17:56

阅读数 18

评论数 0

Webgl展示Revit模型(带贴图)

Webgl展示的Revit模型如何带贴图? 1、首先需要把Revit中每个面的材质的贴图路径找出来; 2、需要在Threejs中还原出来,其中最重要的是UV计算的方法; 3、因为在Revit中很多材质是材质库,所以最好在服务端放置材质图片。 ...

2019-02-26 18:05:32

阅读数 104

评论数 0

几种Revit轻量化结果的对比

Revit轻量化,其实就是把Revit数据提取出来,然后在浏览器或者其他平台中重现出来。这里主要以转成Three.js作为对比。 本文主要以样例中的Technical_school-current_m.rvt(大小15.1m,压缩rar后大小:13.9m)作为样例,: 1.把Revit中每...

2018-12-23 23:37:38

阅读数 795

评论数 4

Webgl显示Revit模型(二)——利用Three.js优化显示效果

Webgl显示Revit模型(一)请见: https://blog.csdn.net/niuge8905/article/details/80044802 Three.js已经算是开发webgl最常用的开源库了。Autodesk团队开源了一个va3c来在web端显示revit,但是这个更新很慢...

2018-11-01 21:59:03

阅读数 1024

评论数 0

C#计算凸包的点的方法

参考资料: https://download.csdn.net/download/u010991835/10223982 http://www.cnblogs.com/HolyChen/p/5982184.html 传进来点集,输出凸包的点集: #region 计算点的凸包,并返回凸包的...

2018-10-16 16:16:12

阅读数 189

评论数 0

Revit二次开发高级应用(二)——怎样在Revit中使用多线程

在Revit中完全可以使用多线程,只是需要满足一定的规则:不改变Revit的Document文档的工作都可以在线程中完成,改变Document文档的工作都需要在主线程中完成。 如下:不改变文档,只是在线程里创建辅助的线,运行之后,丝毫不错。 namespace RevitUseThread ...

2018-10-09 09:48:19

阅读数 461

评论数 0

Revit二次开发高级应用(1)——利用wcf做简单的族库管理

因为对应用场景不是特别明确,暂时就用wcf做一个可以上传和下载的功能来管理族库。 1、用WCF做服务端的上传下载管理 首先添加上传下载的接口: [ServiceContract] public interface IFileService { //上传文件 ...

2018-10-03 13:24:22

阅读数 402

评论数 0

Revit二次开发——如何搭建多版本的框架,方便编程

       Revit基本两年一大变。所以在做开发的时候需要做多个版本的才行。但是每个版本做一个项目又很不方便,因为很多代码类似,改了前面忘了后面的版本,所以很头疼,最好能够几个版本共用一个类,不同版本通过预编译来解决。这里只说怎么解决多版本共用一个类的问题,预编译比较简单,自己去查查相关内容即...

2018-08-17 10:29:11

阅读数 1176

评论数 2

Revit二次开发——字体的问题

在Revit二次开发中设置文字字体还是一件比较容易的事情,因为有现成的API.首先需要获取系统文字名称,这里用最简单的方式,百度一下:https://zhidao.baidu.com/question/69549353.html获取好系统名称后,只用在Revit的API中传入系统文字的名称即可:t...

2018-05-31 23:47:43

阅读数 589

评论数 0

怎样用webgl显示Revit模型

探索了一阵子,发现这个完全可以实现,模型带几何信息,带材质信息。目前还是有点缺陷,比如官方的这个例子中地形、和树木没显示出来,显示效果一般般。实现方法是通过插件把revit模型数据转成中间数据,然后webgl读取中间数据,然后重新生成最终的模型。目前还不支持直接读取rvt模型。 前者可以修改代码...

2018-04-22 23:39:43

阅读数 2932

评论数 0

Revit二次开发——加快过滤速度,以及对ElementIntersectsSolidFilter的API的Bug的处理办法

在Revit的API中有快过滤器和慢过滤器,其中慢过滤器和快过滤器合用会加快过滤器的速度。首先来看一个例子,以下是一个用了ElementIntersectsSolidFilter 慢过滤器的例子,如果元素多达几千个,下面最后一行代码起码耗时三四十秒: FilteredElementCollecto...

2018-03-31 12:42:22

阅读数 639

评论数 2

Revit二次开发——非模态窗口

非模态窗口有一个好处,就是可以一直停留在程序之前,然后持续完成操作。但是在Revit二次开发中,非模态窗口也有几个注意事项。1、需要在文档关闭的时候,把非模态窗口也关闭掉,不然会导致文档关闭,窗口还在这样奇怪的Bug。2、非模态的窗口的事件需要在IExternalCommand里注册。3、每个操作...

2018-03-31 12:08:25

阅读数 1245

评论数 1

Revit二次开发——利用Dispatcher类添加进度条

当程序运行时间很长,然后避免程序假死,比较好的办法是增加一个进度条,如果当前只有你的这一个功能在跑,用Dispatcher类是一个简单的好选择。这里用wpf的窗口来实现。public partial class ProgressBarView : Window { Exte...

2018-03-25 23:01:49

阅读数 616

评论数 0

怎样自己制作Dynamo软件包(1)——在GitHub上寻找原始资料

共同精进Revit及编程开发技能兴趣群:660319009GitHub上很多大牛共享的源代码,其中Dynamo的源代码也在上面,在里面有个Dynamo的软件包制作方法:https://github.com/DynamoDS/Dynamo从上面的链接中,可以找到案例以及源码。以下是简单的样例源码,可...

2018-02-05 14:23:14

阅读数 1512

评论数 0

Revit二次开发——关联族参数

共同精进Revit及编程开发技能兴趣群:660319009在建族的时候,有个关联族参数的操作。应用场景比如:给族里的元素关联材质,关联长度等。string paramName = "材质"; FamilyParameter fam...

2018-02-02 11:31:17

阅读数 755

评论数 0

Revit二次开发——怎样建变直径螺旋箍筋

变截面螺旋箍筋是一条空间曲线,在Revit当中,空间曲线可以通过CurveByPoints来建立空间可见的螺旋曲线,也可以通过HermiteSpline在后台来建立空间曲线。 其实通过LookUp,就可以看到,其实CurveByPoints就是HermiteSpline曲线。 所以把这点搞...

2018-01-26 00:14:18

阅读数 987

评论数 0

Revit二次开发——读取链接cad文件的地址

共同精进Revit及编程开发技能兴趣群:660319009链接cad文件的地址没法用Lookup来查找,所以常规方法读取不了这个地址。这个时候需要用如下方法来读取这个地址:Reference reference = uiDoc.Selection.PickObject(ObjectType.Ele...

2018-01-18 17:19:06

阅读数 586

评论数 0

Revit二次开发——让窗口一直显示在Revit前面

共同精进Revit及编程开发技能兴趣群:660319009 在做开发的时候,经常会碰到这个问题,你把插件的窗口打开之后,然后运行其他软件,盖住Revit后,然后再打开Revit就会发现窗口不见了,感觉像死机一样。这个时候需要将窗口绑定到主窗口之上,也就是在view.ShowDialog()的时候...

2017-12-21 13:33:06

阅读数 1095

评论数 0

Revit二次开发——从链接文件中选取指定元素

共同精进Revit及编程开发技能兴趣群:660319009 这里稍微讲一下怎么从链接文件中选取指定元素,这里以选取Space为例。 首先要另写一个Class。 public class SelectionLinkFilter : ISelectionFilter { ...

2017-12-08 13:31:39

阅读数 637

评论数 0

Revit二次开发winform简单的标准模板以及wpf简单的标准模板

共同精进Revit及编程开发技能兴趣群:660319009 《Revit二次开发官方教程》里的代码适合练手以及功能测试,但是在实际开发中,这种代码肯定不符合开发公司的标准。 这里可以使用这个简单的标准模板,这个标准模板的主要参考revit的SDK的Samples案例以及我自己在公司开发的实践来...

2017-12-02 19:29:45

阅读数 981

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭