niuge8905的博客

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

排序:
默认
按更新时间
按访问量

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

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

2018-08-17 10:29:11

阅读数:160

评论数:0

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

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

2018-05-31 23:47:43

阅读数:244

评论数:0

怎样用webgl显示Revit模型

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

2018-04-22 23:39:43

阅读数:890

评论数:0

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

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

2018-03-31 12:42:22

阅读数:366

评论数:2

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

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

2018-03-31 12:08:25

阅读数:588

评论数:1

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

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

2018-03-25 23:01:49

阅读数:288

评论数:0

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

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

2018-02-05 14:23:14

阅读数:875

评论数:0

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

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

2018-02-02 11:31:17

阅读数:379

评论数:0

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

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

2018-01-26 00:14:18

阅读数:682

评论数:0

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

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

2018-01-18 17:19:06

阅读数:412

评论数:0

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

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

2017-12-21 13:33:06

阅读数:639

评论数:0

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

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

2017-12-08 13:31:39

阅读数:305

评论数:0

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

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

2017-12-02 19:29:45

阅读数:557

评论数:0

Revit二次开发——怎样在类中直接应用WPF窗口

共同精进Revit及编程开发技能兴趣群:660319009 WPF是winform的升级版,在做Revit二次开发,用WPF界面来做会好看且方便快捷好多。那么怎么在Revit二次开发中用到WPF呢?这个也很简单。 在类中,没办法直接添加WPF窗口,只能方便快捷的添加Winform窗口,所以...

2017-11-21 21:03:33

阅读数:669

评论数:2

Dynamo中的Core对应着安装文件里的哪个dll文件

共同精进Revit及编程开发技能兴趣群:660319009 因为想在Python Script脚本中用到Mtah.Random()这个函数,直接用的时候,居然发现报错,然后就意识到肯定是哪个dll没引用进来。 经过反编译,最后发现是需要引用DSCoreNodes.dll这个文件。 直接放上d...

2017-11-08 13:04:45

阅读数:525

评论数:0

Revit中Dynamo编程——利用反编译工具读取Dynamo的ProtoGeometry.dll的代码

共同精进Revit及编程开发技能兴趣群:660319009 上一篇博客讲了怎么用反编译工具,这篇博客直接可以用在实战方面。 我们知道Dynamo好用,其实原因是它里面封装了好多方法,免去我们重复的操作。而RevitAPI又没有那么多方法怎么办?这个时候完全可以借鉴一下Dynamo的ProtoG...

2017-10-27 16:02:26

阅读数:605

评论数:0

反编译工具——ILSpy工具和Reflector

以前总是听人说起反编译工具,没试过,今天一试吓一跳,自己做的东西不做加密保护,一个试用版的dll文件给别人,你的工作就白搭!先来看一下ILSpy工具的效果:这里我加载了一个我之前做的dll文件。 通过这个工具直接可以看到你的源代码。接下来看Reflector: 好吧,以后不能给试用版的dl...

2017-10-27 12:29:28

阅读数:623

评论数:0

Revit明细表读取、将明细表数据存储到sql server数据库、python读取数据库

共同精进Revit及编程开发技能兴趣群:660319009 BIM运维,一个很重要的方向就是工程量。 怎么读取工程量? 1)软件本身读取:即所见即所得,需要依靠软件本身的计算功能,在Revit分析里有个明细表的功能。 2)通过插件以及自制功能来获得扣减后的工程量。 今天就顺带讲一下第...

2017-10-11 18:13:33

阅读数:476

评论数:0

在Revit中自由快速的给复杂结构加钢筋的办法

共同精进Revit及编程开发技能兴趣群:660319009 首先得明确用哪个版本的Revit给复杂的结构加钢筋。经过尝试,发现最好的版本还是2016版本的,2017、2018的不适合给复杂结构加钢筋。 原因如下: 2016版本的钢筋限制只有一个面,通过调整这一个限制就可以得到我们想要的位...

2017-10-06 15:18:10

阅读数:3725

评论数:7

Revit中Dynamo编程——如何保护自己的算法成果

共同精进Revit及编程开发技能兴趣群:660319009 Dynamo可视化编程有诸多好处,但也有一个坏处就是没法进行算法保护。 那如果我们想保护我们的算法怎么办呢?其实也是有好办法的——核心的办法就是把算法写成dll文件。 1)在Visual Studio里,把算法写...

2017-10-04 12:21:31

阅读数:956

评论数:0

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