自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 内推几何建模与图形渲染职位

最近(可能也会是长期的)公司在大力招兵买马,急缺几何、图形方面的人才。初级、高级、专家或有致力于图形领域方面开发都欢迎。当然其他方面的也有,包括BIM相关的开发,感兴趣的同学们欢迎联系我:[email protected],直接内推。具体职位列表如下,薪资open可谈,坐标:上海、深圳、武汉三地均可。几何算法工程师 图形图像开发工程师 C++开发工程师 BIM软件架构师 BIM产品经理 UED设计师 测试开发工程师 建筑业务专家期待能跟您共事!有认识的周边朋友想要换工作的,也欢迎

2022-02-15 17:29:52 689

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

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

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

原创 BIM 360 二次开发入门

Autodesk BIM 360我们或多或少听过或者接触过Autodesk BIM 360,但可能还是有一个疑问,就是,Autodesk BIM 360到底是什么?如果用一句话来讲的话,BIM360就是云端的BIM。它的目标是可以使项目的参与者在世界的任何地方、任何时候处理BIM业务,包括设计、施工、运营和维护。作为云端的产品,BIM 360支持的访问方式有如下几种:PC客户端

2015-04-13 17:53:44 11746 1

原创 RevitAPI入门指南

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

2015-03-18 16:29:50 18192

转载 Navisworks API开发指南

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

2015-03-12 18:24:50 8284

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

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

2024-01-26 08:04:02 1024

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

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

2019-05-25 10:21:45 317

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

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

2019-03-25 15:57:38 9829 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 4040 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 7034

原创 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 16452 8

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

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

2016-03-28 10:29:29 3699

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

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

2016-03-18 17:33:39 7093 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 2603

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

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

2016-02-26 17:02:05 3546 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 1640

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

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

2016-02-19 11:01:17 3088 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 3528

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

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

2016-02-03 14:39:14 5149 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 8095 3

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

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

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

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

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

2015-09-15 22:30:24 3508

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

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

2015-09-14 16:52:54 1206

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

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

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

原创 RevitAPI: Keynote文件的位置

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

2015-09-01 11:08:10 1654

原创 RevitAPI: PlanarFace.Normal 和 PlanarFace.FaceNormal

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

2015-09-01 10:33:36 2939

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

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

2015-08-12 14:25:36 1890

原创 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 1716

原创 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 1783

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

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

2015-07-02 11:05:12 3674 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 1451

原创 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 3017 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 10792

原创 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 1869

原创 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 2232

原创 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 1407

原创 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 2044 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 3401

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

2015-05-22 18:01:19 1800

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

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

2015-05-22 17:20:07 4017

计算机图形学 基于WebGL的自顶向下方法 第7版 (英文版)

This book is an introduction to computer graphics with an emphasis on applica- tions programming. The first edition, which was published in 1997, was somewhat revolutionary in using OpenGL and a top-down approach. Over the succeeding 16 years and 6 editions, this approach has been adopted by most introductory classes in computer graphics and by virtually all the competing textbooks. The sixth edition reflected the recent major changes in graphics software due to major changes in graphics hardware. In particular, the sixth edition was fully shaderbased, enabling readers to create applications that could fully exploit the capabilities of modern GPUs. We noted that these changes are also part of OpenGL ES 2.0, which is being used to develop applications for embedded systems and handheld devices, such as cell phones and tablets, and of WebGL, its JavaScript implementation. At the time, we did not anticipate the extraordinary interest in WebGL that began as soon as web browsers became available that support WebGL through HTML5. As we continued to write our books, teach our SIGGRAPH courses, and pursue other graphics-related activities, we became aware of the growing excitement about WebGL. WebGL applications were running everywhere, including on some of the latest smart phones, and even though WebGL lacks some of the advanced features of the latest versions of OpenGL, the ability to integrate it with HTML5 opened up a wealth of new application areas. As an added benefit, we found it much better suited than desktop OpenGL for teaching computer graphics. Consequently, we decided to do a seventh edition that uses WebGL exclusively. We believe that this edition is every bit as revolutionary as any of the previous editions.

2018-08-23

空空如也

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

TA关注的人

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