自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (3)
  • 收藏
  • 关注

原创 RevitAPI入门指南

有些朋友写信问我们哪里可以找到RevitAPI的学习资料,尤其是初学者应该怎么入手。我推荐下面几个地方:[英文] 博客:如果英文可以的话,首选我瑞士的同事Jeremy Tammiik的博客,全世界最全的写RevitAPI的博客。RevitAPI入门可以看这里。[英文] 官方:Revit官方开发者中心,有往年RevitAPI培训的视频以及相关资料,还有RevitSDK下载等等。[英文

2015-03-18 16:29:50 18524

转载 Navisworks API开发指南

转载一篇我ADN同事的文章,关于Navisworks API开发入门的。更多内容查看原文:http://blog.csdn.net/autodeskinventorapi/article/details/43792823Navisworks产品 产品能力任何API都是用来对产品能力的拓展,有必要先了解Navisworks产品能做什么?需要明确的是,Naviswo

2015-03-12 18:24:50 8604

原创 Qt的绘制是如何发生的

当用户鼠标在应用之外时,会触发QEvent::WindowDeactivate事件,对应的父类QWidget的响应事件方法,会先调用自己的update,再遍历所有儿子,并传播该事件给可见儿子而update函数会把自己加到QWidgetBackingStore的dirtyWidgets列表中去。

2024-01-26 08:04:02 1129

原创 javascript的一个有点奇怪的问题

请问下面的代码输出的是什么?console.log(0)[88].forEach(xx => console.log(xx));

2019-05-25 10:21:45 343

原创 如何在不卸载Revit插件的情况下禁用插件?

如何在不卸载Revit插件的情况下禁用某个插件?这个问题对于Revit开发的朋友,不是问题,但对于Revit的终端用户,可能就无从下手。解决此问题的答案就是禁用插件的.addin文件。Revit的插件注册方式之一就是通过.addin文件,我们叫manifest file。文件会存放在两个位置:一个是%ALLUSERSPROFILE%\Autodesk\Revit\Addi...

2019-03-25 15:57:38 10169 1

原创 Revit的journal文件在哪里

大家可能没有注意到,Revit每次运行都会产生journal,类似于我们程序的log文件,记录了用户对revit的一些操作序列。journal一般放在这样的路径下:C:\Users\<username>\AppData\Local\Autodesk\Revit\Autodesk Revit 2016\Journals我们可以通过将如下文字粘贴进Windows+R的"运行"窗口或...

2019-03-20 10:37:33 4218 3

原创 Node.js中怎么获取北京时间?

基于Node.js开发开发的时候,调用new Date()出来的时间是这样的:2017-01-18T09:30:38.405Z 而当前时间北京时间是17:30,为了不让自己总有穿越感,于是需要转换一下。过程可以是这样的(在Node.js的命令行下): &gt; a = new Date();2017-01-18T09:30:38.405Z&gt; m = a.getT...

2017-01-18 17:36:29 7281

原创 Revit SDK下载地址

20190325更新:共享了如下sdkREVIT_2014_SDK.exe REVIT2015SDK_SubscriptionRelease.msi REVIT_2016_SDK.msi Revit_2017.1_SDK_(Update_Oct_19__2016).msi REVIT_2017_SDK_(Update_June_23__2016).msi REVIT_2018_1...

2016-09-10 15:56:27 16624 8

原创 RevitAPI:获取管道的水平对正和垂直对正属性或约束

选择管道,可以看到最上面有两个属性,分别是水平对正和垂直对正我们都知道,使用RevitLookup工具找到对应的BuiltInParameter之后,调用Element.get_Parameter(BuiltInParameter)就可以获得对应的参数了。只不过这里的参数返回值是Integer,具体哪个数字代表那种对正方式还却没有明确说明。我查了一下,貌似没有对应的枚举类型,所以通

2016-03-28 10:29:29 3775

原创 RevitAPI: 如何获得链接CAD里面对象的图层信息?

当导入或者链接CAD文件之后,一般我们在Revit里面选中该CAD,点击"导入实例”的“查询”,选中某个图元,就会弹出图层信息那么API如何实现此功能呢?本人刚开始并没有找到如何做到,后来偶然机会发现Line/GeometryObject类有个属性叫GraphicsStyleId,试了一下,答案就出来了。那就是,使用Selection.PickObject或Sele...

2016-03-18 17:33:39 7277 8

原创 RevitAPI: Document.ExportImage导出文件格式并不都是.png,即便设置了HLRandWFViewsFileType为ImageFileType.PNG

RevitAPI有导出图片的功能,那就是使用Document.ExportImage方法,一个实际的例子如下FilteredElementCollector FEC_Views = new FilteredElementCollector(OpenDoc).OfClass(typeof(View));FEC_Views.OfCategory(BuiltInCategory.OST_Views

2016-03-08 13:53:40 2665

原创 RevitAPI:监听文档改变ControlledApplication/Application.DocumentChanged事件

很多时候,我想通过API获取上一次操作有哪些对象被创建、修改或者删除了。或者想监听文档的改变事件,一旦改变发生,程序就做一些特定的事情,例如,把这些改变记录在数据库中,再和其他应用进行交流。这个时候,就要用到ControlledApplication.DocumentChanged或者Application.DocumentChanged事件了。这里,我先推荐大家学习一个SDK里面的例子,

2016-02-26 17:02:05 3698 4

原创 RevitAPI:创建不连接任何设备的导线Wire.Create

Revit 2015暴露了一个方法用来创建导线,那就是:public class Wire{ static Wire Create(Document document, ElementId wireTypeId, ElementId viewId, WiringType wiringType, IList vertexPoints, Connector star

2016-02-26 16:40:32 1701

原创 RevitAPI: 设置管件族的连接件的半径属性抛异常 - 如何获取关联族参数

管件族的连接件有一个属性叫“半径”,我们想使用api来修改它的值,直观的做法可能是这样的:connectorElement.Radius = 0.041;但是,Radius属性是只读的,编译不过,或者编译过了,但是抛异常。另外一种做法是使用Parameter:var radiusPara = connectorElement.get_Parameter(BuiltInPar

2016-02-19 11:01:17 3196 3

原创 RevitAPI: 获取图形显示选项 Graphic Display Options

有不少朋友问到如何使用api获取图形显示选项 (Graphic Display Options),我稍微调查了一下,发现api目前提供的功能还比较有限,能够获取到的信息如下图的1,2,3点使用的方法分别是:ViewDisplayModel displayModel = view.GetViewDisplayModel(); //1ViewDisplaySketchyLines s

2016-02-18 15:56:01 3609

原创 RevitAPI: 使用DMU(Dynamic Model Update)实现联动

我们知道Revit的一大特色功能就是关联修改,即,一处修改处处修改,比如,在三维视图修改了墙的位置,二维视图上墙的位置也跟着变化了,同时,墙上的门窗也会跟着移动。但有时候我们有自己的特殊需求,也想做到自定义的联动关系,比如我希望两面墙的总长度是固定的,增加一面墙长度之后,另外一面墙会跟着缩减。又或者,链接文档的某个构件移动了,希望主文件的某个不相关的构件也移动。这个时候,Revit本身的关系已

2016-02-03 14:39:14 5310 6

原创 RevitAPI: Revit 2016里的Python代码例子Sample code

Revit 2016的新功能之一,就是支持Python和Ruby的宏。但是Revit 2016的SDK里面却没有示例代码,可能大家都不知道一个功能,就是示例代码都隐藏在创建出来的工程里面,如下图,注意里面的if False,它下面的函数都是示例代码,我们可以把if False去掉,然后把下面的函数向前缩进4格,然后编译,就可以在宏对话框里面看见了:

2016-01-14 17:37:16 8146 3

原创 RevitAPI: 如何获取点云PointCloud数据?

通过Revit菜单的“插入>点云"操作,可以把点云数据插入到Revit中,那么如何才能获得导入的这些点云数据呢?通过使用RevitLookup查看到,点云数据在RevitAPI中表现为PointCloudInstance,再看PointCloudInstance有个方法叫GetPoints(),这个方法就是我们想要的。GetPoints()有三个参数public Point

2015-11-30 15:41:49 6195 2

原创 《Autodesk Revit二次开发基础教程》书籍终于上架了

由Autodesk中国研究院Revit开发团队的几位同事一起编撰的《Autodesk Revit二次开发基础教程》于今天在天猫同济大学出版社旗舰店正式上架,购买链接在这里:https://detail.tmall.com/item.htm?_u=m1vm4lrf259d&id=521852354085欢迎购买的朋友给我们提出指正意见。

2015-09-22 14:04:50 17187 16

原创 RevitAPI: 如何使用API创建墙饰条

墙饰条对应的类是WallSweep,很明显在Document.Create下面没有NewWallSweep这样的函数,那么如何创建呢?答案就是使用WallSweep的静态函数Create:public static WallSweep Create(Wall wall, ElementId wallSweepType, WallSweepInfo wallSweepInfo);

2015-09-15 22:30:24 3572

转载 发布有礼!2015 Autodesk程序商店有奖发布活动拉开序幕

您是不是有希望您的 Autodesk 产品应用程序有更多的用户?您是不是正在寻求更广阔的市场机会?您是不是在激荡人心的云时代大潮中有许多奇思妙想没有小试身手?来吧,来参加Autodesk应用程序发布活动吧!– 参与此活动您不但有机会将应用程序直接呈现在全球Autodesk 用户面前,以零成本开辟全球业务,还可以获得应用程序发布的奖励以及在Autodesk 相关会议或媒体上宣传或展示的机会。

2015-09-14 16:52:54 1227

原创 RevitAPI: 注意Revit 2016事件注册和注销行为的改变

在以前的Revit版本中, 我们可以在一个非模态对话框中注册或者注销一个事件,但是Revit 2016做了一些改变,不再允许这样做,凡是在非Revit主线程里面的注册或者注销事件,系统会抛出异常,如果您没有捕获这个异常,将会导致系统崩溃。官方的原话是这样的:API events - behavioral changeAlthough the Revit API has

2015-09-09 10:36:07 5130 6

原创 RevitAPI: Keynote文件的位置

有人想获取keynote文件的位置,调查了一下,好像隐藏的比较深:KeynoteTable.GetKeynoteTable(Document).GetExternalResourceReferences() 返回一个字典, 从字典里面获取 ExternalResourceReference 对象, 然后通过 InSessionPath属性获得它的路径。

2015-09-01 11:08:10 1703

原创 RevitAPI: PlanarFace.Normal 和 PlanarFace.FaceNormal

在Revit 2016里面PlanarFace.Normal已经被标识为Obsolete,这就意味着它在下个版本里面将被去掉,取而代之的是PlanarFace.FaceNormal属性,那么这两个有什么区别呢?我们应该用哪个呢?一般情况下我们都是推荐使用新的方法啦,即PlanarFace.FaceNormal。那么Normal属性有什么问题呢?我们来看下面的图:一个

2015-09-01 10:33:36 2999

转载 欢迎参加 2015 Autodesk 产品开发培训课程 (2015/8/17开始)

欢迎参加 2015 Autodesk 产品开发培训课程尊敬的Autodesk 合作伙伴:当前互联网及BIM热潮正在席卷中国的建筑工程设计行业,随之而来的是BIM行业的各种设计需求如雨后春笋般涌现,当前,不仅大的工民建单位开始应用Revit来做解决方案的基础平台,就象码头设计、施工行业、铁路设计与施工、地铁等大土木行业也开始使用Revit作为BIM平台

2015-08-12 14:25:36 1921

原创 BIM360: C#如何发送HTTP GET和POST请求登陆BIM 360 Glue以及获取项目列表

登陆首先是登陆,通过发送HTTP POST请求:int timestamp = GetTimestamp();string sig = GetSig(api_key, api_secret, timestamp);string url = "https://b4.autodesk.com/api/security/v1/login.json";HttpWebRequest oRe

2015-08-12 10:29:09 1785

原创 Camtasia Studio 7.0编辑视频出现多条横线问题解决方法

最近用Camtasia Studio 7.0做视频的时候,发现做出来的视频有几条横线,有的视频没有这个问题,有的视频有几条,有的很多。简直匪夷所思:以为是什么设置除了问题,找了半天也没有找到,于是网上搜索了很多文章,用了各种关键字,例如”get rid of black lines in camtasia“, ”How To Remove The Black Bars”等等

2015-08-07 13:35:59 1827

原创 RevitAPI: 关闭当前文档Close Active Document

有客户想要实现关掉当前文档,再重新打开,他参考了Jeremy的博客,产生了一些Event相关的问题,只是看了半天问题描述,有点晕。我们知道要关掉一个文档可以调用UIDocument.SaveAndClose()或者Document.Close(),然而,如果要关闭当前打开的文档的话,会得到一个异常:InvalidOperationException: The active docume

2015-07-02 11:05:12 3731 1

原创 RevitAPI: FamilyManager.Set - InvalidOperationException: There is no current type

在Family中调用Set(FamilyParameter)的时候,会抛出异常InvalidOperationException: There is no current type,例如下面的代码:var para = RevitDoc.FamilyManager.AddParameter("Length", BuiltInParameterGroup.INVALID, ParameterTy

2015-06-29 17:41:47 1491

原创 RevitAPI: Revit 2016调用NewFamilyIntance的时候抛出异常The symbol is not active

有时候,Revit 2016调用NewFamilyIntance的时候抛出异常The symbol is not active. Parameter name: symbol.这个问题解决办法是,在调用NewFamilyInstance之前,需要先判断FamilySymbol.IsActive,如果返回false的话,就要调用FamilySymbol.Activate(),把这个类型激活。

2015-06-23 16:26:11 3053 2

原创 Navisworks Plugin: 插件教程Hello World

这几天玩了一下Navisworks API,给大家共享共享。官方帮助文档首先是官方的帮助文档,有什么问题可以直接查阅它。不过它不是随着Navisworks安装的,而是在SDK里面,需要另外下载,下载地址:http://usa.autodesk.com/adsk/servlet/index?id=15024694&siteID=123112找到Navisworks 2015 SD

2015-06-19 09:44:35 11161

原创 Revit2016不在提供单独下载包而是只包含在Building Design Suite里面

从Revit 2016开始,Revit不在提供OneBox的单独下载包,而是被包含在Building Design Suite Premium/Ultimate 和Infrastructure Design Suite Ultimate里面。详见:http://adn.autodesk.com/adn/servlet/index?siteID=4814862&id=22817699ht

2015-06-15 21:21:57 1899

原创 RevitAPI: 创建四通失败CrossFitting - InvalidOperationException: failed to insert cross.

最近一个客户问到一个关于创建四通的问题。我记得创建四通的函数Document.Create.NewCrossFitting传入的是4个Connector,而这4个Connector的顺序是有讲究的,应该是主干-主干-分支-分支,而不能是主干-分支-主干-分支。对此Jeremy也有一篇文章提到了这个问题:http://thebuildingcoder.typepad.com/blog/201

2015-06-10 17:10:39 2291

原创 RevitAPI: 调用NewExtrusion的时候抛出异常 One of the conditions for the inputs was not satisfied

当调用Document.FamilyCreate.NewExtrusion的时候,可能会抛出下面的异常Autodesk.Revit.Exceptions.ArgumentException: One of the conditions for the inputs was not satisfied. Consult the documentation for requirements f

2015-06-01 17:00:10 1468

原创 RevitAPI: 如何创建云线?How to create RevisionCloud

首先通过RevitLooup工具,我们可以看到云线的类是RevisionCloud,那么创建云线的方法不是在Document.Create里面寻找,就是在自己的静态方法里面寻找。果然,被我们发现有一个静态的Create函数,如下:public static RevisionCloud Create(Document document, View view, ElementId revisi

2015-06-01 14:46:55 2098 1

原创 Autodesk BIM 360 Glue API 入门视频课程

问题汇总:Q: 资料或在哪里下载?A: 这里有一个在线的PPT,最后一页有所有的参考链接: http://xiaodongliang.github.io/BIM360_Glue_API_Slides_CHSA: 我的博客基本涵盖了所讲的关于GlueAPI的内容:http://blog.csdn.net/lushibi/article/details/45029735

2015-05-22 18:02:10 3468

原创 RevitAPI: Revit 2016新功能和API介绍视频

2015-05-22 18:01:19 1826

原创 RevitAPI: 如何在族里面创建一条带颜色的二维线?

我们知道,手工创建一条带颜色的线过程如下:新建族,例如,使用模板“Generic Annotation.rft” 点击菜单“创建” > “直线”,画一条线 选中该线,“管理” > ”对象样式",可以看见里面有多个类别 选中“常规注释”,修改子类别的“新建”按钮高亮,点击“新建”,新建一个子类别,并设置颜色和线宽 关闭窗口,再次选择该线 在“修改|线”,子类别下面的多选框中就出现了我

2015-05-22 17:20:07 4096

原创 RevitAPI: 在墙上创建灯具族实例

有人碰到一个比较头疼的问题,就是试了好多种Document.Create.NewFamilyInstance的重载,都无法把想要的东西在墙上创建出来。下图就是他想要创建的墙上的灯具:我们手工放置的时候,可以发现它是放在墙的某个面上的,所以,基本可以排除其他NewFamilyInstance的重载函数,而只锁定下面的几个:NewFamilyInstance(Reference,

2015-05-18 18:44:38 5383

原创 RevitAPI: 如何在详图构件上创建尺寸标注

下图是两根详图构件,每个构件本身就是一条线。我们想要做到这样:我们知道NewDimension函数是这样的:Dimension NewDimension(View view, Line line, ReferenceArray references)前面两个参数很容易理解,一个是要创建尺寸的视图,一个是尺寸线的位置,那么最后一个ReferenceArray

2015-05-18 17:57:27 8502 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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