概念说明
叶雄进-橄榄山
中国Revit二次开发技术推动者和l领军者
展开
-
Environment.SpecialFolder 与App有关的枚举常量分别对应哪个文件夹?
Environment.SpecialFolder.ApplicationData 对应:用户目录下的:AppData文件夹下的Roaming,例如:"C:\\Users\\User\\AppData\\Roaming"Environment.SpecialFolder.CommonApplicationData对应:系统盘下的ProgramData,例如:"C:\\ProgramData"En原创 2017-04-27 18:02:27 · 2324 阅读 · 1 评论 -
到欧特克应用程序商店发布程序(一个100美金), 参加欧特克编程大赛, 有奖又学习!
Autodesk Exchange 应用程序发布竞赛你是不是有 Autodesk 产品应用程序希望有更多的用户使用?你是不是在激荡人心的云时代和BIM大潮中有许多奇思妙想没有小试身手?来吧,来参加Autodesk® Exchange 应用程序发布竞赛活动吧!– 参与此活动你不但有机会将你的应用程序直接呈现在全球Autodesk 用户面前,你还可以有机会获得每个应用程序发布 100美元的奖励以及赢得转载 2014-09-16 12:10:01 · 2156 阅读 · 0 评论 -
Revit 安装补丁的下载链接
Revit每个大版提供几个补丁.一般一年内发布3个左右的补丁,用于修正首发版的问题.原创 2014-09-12 15:42:30 · 4347 阅读 · 2 评论 -
用API能否修改Revit链接模型
一直由一个疑问,可否原创 2014-08-13 15:40:53 · 8280 阅读 · 14 评论 -
为Revit的造型能力正名. Revit 二次曲面造型能力的实现. 二次曲面幕墙的实现
这是我第一次写非开发类的Revit技术文章.原创 2014-08-23 18:44:19 · 18237 阅读 · 1 评论 -
Revit 里面角度的正方向是如何定义的
在AutoCAD里面,圆弧的起始角度小于终止角度。原创 2014-07-24 14:38:22 · 7986 阅读 · 0 评论 -
将Revit选中图元居中显示的办法
Revit的UIDocument.ShowElements() 可以将指定的对象在视图的中间gao'liang原创 2014-07-21 16:44:19 · 9573 阅读 · 0 评论 -
如何能通过API接口找到当前活动文档的SketchPlane?
问题如题原创 2014-07-17 13:43:55 · 3908 阅读 · 0 评论 -
请问如何使用RevitAPI创建体量?
来自苏州比目云的Yunyun Fan 提出下面这个went原创 2014-05-19 21:45:41 · 5227 阅读 · 0 评论 -
提高模型创建速度有什么办法?
叶老师:您好!我写了个根据房间生成装饰墙的插件,其中使用了Create、Move、Set、JoinGeometry方法来生成装饰墙并进行移动和连接等操作,但在140多兆的项目文件中生成一个房间的墙就要20秒,请问有什么办法提高速度?模型更新功能能关闭吗? 谢谢!答:Revit 二次开发的命令,提供了手动模型更新模式原创 2014-05-19 16:38:56 · 3581 阅读 · 1 评论 -
ADN 招聘一位爱好编程的工程师(上海)
我们部门在上海需要新增加一名员工,原创 2014-04-22 10:34:08 · 2709 阅读 · 0 评论 -
Revit 2015 API 的所有变化和新功能
这里从SDK的文章中摘录出所有的API变化。主要是希望n转载 2014-04-25 16:47:34 · 16173 阅读 · 6 评论 -
捕获参数修改事件从而修改Revit其它模型
我们收到中南市政院(Central & Southern China Municipal)的张辛平的原创 2014-04-25 15:19:23 · 3249 阅读 · 0 评论 -
获取Revit项目里面实例的连接键的参数
在项目里如何获取实例的连接键的参数,能不能读到族中的连接键说明?在族里的可以找到ConnectorElement ,然后get_Parameter(BuiltInParameter.RBS_CONNECTOR_DESCRIPTION)获取到,如何在项目中获取ConnectorElement 或者RBS_CONNECTOR_DESCRIPTION?还有没有其他方式可以在项目里获取指定的连接键。原创 2014-04-22 10:23:23 · 3665 阅读 · 0 评论 -
文件打开时从中心文件分离用Revit API如何实现
问题如题:原创 2014-04-25 15:50:35 · 12296 阅读 · 0 评论 -
到Autodesk 应用程序商店里一键下载大量插件;让你的插件传遍Autodesk产品的用户
本文欢迎转载!Autodesk3年前就启动了应用程序商店。二次开发者可以在商店里面发布你的Autodesk产品上的插件,目前是免费发布,你获得全部收益。应用程序商店现在如火如荼,应用程序商店的对二次开发者的作用我不想多讲,大家都是明白人:)你如何快速进入Autodesk应用程序商店。在Autodesk2014以上产品的标题栏有一个大写的X(一半蓝,一半白色)的图标,点击这个图标就可以进入你正在使用原创 2014-01-13 11:01:37 · 6544 阅读 · 0 评论 -
用Revit API 如何获取工作集的名称
问题:我得到的一个参数名称是:工作集,但是我获取它的值是Integer类型(438)。但是属性对话框中显示的是“建筑内墙”。这个438表示什么呢?怎样得到“建筑内墙”这个字符串呢?谢谢!答:最简单的办法是你从这个参数里的AsValueString() 函数可以直接获得工作集的名称, Parameter.AsValueString()为了大家对WorkSet有一个更好的理解,下面我用完整代码来演示如原创 2014-01-02 16:27:36 · 4015 阅读 · 0 评论 -
上海市人民政府办公厅转发市建设管理委关于在本市推进BIM技术应用指导意见
关于在本市推进建筑信息模型技术应用的指导意见 建筑信息模型(BuildingInformationModeling,以下简称“BIM”)技术是在计算机辅助设计(CAD)等技术基础上发展起来的多维建筑模型信息集成管理技术,是传统的二维设计建造方式向三维数字化设计建造方式转变的革命性技术,是促进绿色建筑发展、提高建筑产业信息化水平、推进智慧城市建设和实现建筑业转型升级的基础性技术。推行BIM技术应用转载 2014-11-12 14:52:21 · 2889 阅读 · 0 评论 -
4月1-5号在武汉举行第五届全国Revit开发中高级实战训练营
各建筑设计、施工、咨询、业主、高校等单位: BIM在工程建设行业的应用越来越广泛和深入,在教育、设计、施工、咨询等方面迅速发展,Revit二次开发人才炽手可热。在BIM快速发展之际,拥有Revit软件开发技能和培训证书,对于找到高端BIM工作非常有帮助。部分大型企业随着应用的深入,广大BIM用户对于Revit功能的需求呈现出多样化,Revit软件现有功能不能满足多样化的需要。比如有些用户希望将Re原创 2017-02-10 22:04:26 · 2206 阅读 · 1 评论 -
BIM执行之道: BIM落地应用的准则是什么?
BIM概念经过许多前辈们的宣传已经说得很多了。现在一些省市发文要求用BIM,比如施工阶段用BIM,设计阶段用BIM。条件是比如国有投资,参与奖项评比等等,面积达到多少限额的。但是政府发文却从没有说明BIM改如何落实,有什么标准来衡量说项目所用到的BIM技术成果达到怎样才算合格。不像二维图时代,把二维图纸提交给相关审查部门就可以,标准很简单。 政府管理部门如何衡量项目是否使用了BIM技术 呢原创 2016-12-10 23:16:55 · 2386 阅读 · 0 评论 -
Visual Studio 2015里 C++ 整形变量的默认值是0,不是一个负数
最新我们的软件升级到AutoCAD 2017. 需要用到VS2015,挺奇怪的是在AutoCAD2016里(用VS2012编译的ARX)值是正确的。但是在2017里,结果是异常,随不崩溃,但是结果是错的。经过分析是发现在VS2015里,整形值的默认值是0,我的成立默认是一个负数才算正确,这个在VS2012以及之前的VS版本中都是默认负数。所以这点需要注意。最好的习惯是对所生命的变量都需要初始化。C原创 2016-11-13 23:57:25 · 2090 阅读 · 0 评论 -
Wall的LocationCurve获得的墙基线位置 是否与墙的定位线有关?
开发者常常迷惑墙的属性有一个墙定位线,有多个选项: 那么这写选项是否与用API Location属性获得的墙基线有关呢?答案是否定的。无论一个墙的定位线是怎么设置的,我们用编程的方式从Location获得的LocationCurve的位置信息均保持不变。 Location获得的位置是墙的中心位置。 如果墙有装饰层,Location获得是整个墙的中心线位置。所以墙的定位线是对用户操作墙而言的,比如原创 2016-07-05 14:47:06 · 6115 阅读 · 1 评论 -
中铁建工集团安装公司基于BIM物资施工运维系统由橄榄山软件研发完成
2016年6月6日,中铁建工集团安装工程公司在北京总部召开了由橄榄山公司承担研发的基于BIM的物资施工和运维管理系统应用前的评审会。 该系统是基于云的系统架构,包含了Revit上的机电算量和模型数据上传到云端的插件、项目管理网站以及手机Android App软件。Revit上的插件实现了机电模型的算量,以及将设备的信息上传到云端,供项目的管理网站和手机App来查看和更新设备的安装、验收、原创 2016-06-13 16:00:13 · 7131 阅读 · 1 评论 -
软件业的发展方向:云、Web以及App
随着行业互联网的发展,未来的软件发展方向是云技术、Web软件以及基于移动设备的Apps。 桌面软件主要负责大型的计算、渲染和消耗很大CPU和内存的图形软件,以及基于这些软件的二次开发软件如Revit插件。其他的存储、信息交流、协调会全部走向云端和移动应用。云端:阿里云、华为、百度等云基础服务框架已经成熟,早已走到前面。现在租用一个云端服务器只需要2-3千元一年,给固定IP,提供随意扩容。 比自己购原创 2016-01-18 11:16:43 · 6068 阅读 · 0 评论 -
Revit的二次开发带来的赢利点和后续故事
BIM已经从星星之火发展为燎然之势,一般单位设立的BIM部门均可用Revit来创建BIM模型。再此基础上,建设行业产业链上的业主、设计院、土建和机电建设单位、各种咨询公司、消防相关机构等纷纷都在挖掘BIM在本领域内如何带来更好的作用,产生更好的效益。更有理想的机构在想如何用BIM技术给自己打一个翻身仗,拓展自己的服务领域。互联网产早期,主要只是消息类网站和邮箱的使用,之后产生了更多更深入的应用,比如原创 2015-11-22 17:06:23 · 5642 阅读 · 1 评论 -
对族实例进行任意的矩阵变换,需要什么样的族?
问:一个小问题,想向您请教一下。 能不能实现一个这样的操作:创建了一个常规模型的FamilyInstance,然后知道旋转和平移的矩阵,能否根据变换矩阵更新FamilyInstance的位置,绕任意轴旋转任意角度。 请问什么样的实体才能在revit项目文件中任意旋转?貌似一般的实例只能在XY平面内旋转,并且LocationPoint中只有一个Rotation参数。答:您好,因为Revit里面的构件原创 2015-06-12 13:29:13 · 3444 阅读 · 2 评论 -
与大学生谈学习BIM软件开发所需要的准备
一个大学生的来信:我是大学土木工程学院大四本科生。打扰您宝贵的时间。通过网上,得知您的公司和您本人。关于bim是最近一段时间了解到这一领域,在国内是新方向,对此有一种说不出来的好奇心。而且研究生阶段,上交邓雪原老师所研究的方向也是bim的研究和应用。在这里想听听您的指点,关于以后有意在软件开发这一方向上的发展道路,和现阶段我应该准备的东西。对于自己的评价,土建的本科学习只是懂其皮毛没有深入,二关于原创 2015-03-11 22:41:51 · 11890 阅读 · 6 评论 -
如何编程旋转,镜像Revit实体(含美国AU的故事)
上周去美国参加AU, 一直没有时间更新博客. 回来后要分享下.去美国AU需要分享的内容是不少,苦于时间太紧. 待我以后慢慢分享出来.在那里见到一起工作过7年多的老同事,Jeremy Tammik, Building Coder 博客的博主. 非常高兴的事. 通过邮件的方式和电话会议的方式,我们有过很多的交流. 面对面交流是第一次.Jeremy也在他的博客分享了与我的见面. http://theb原创 2014-12-11 10:43:01 · 5566 阅读 · 0 评论 -
编程如何实现使用新建的Revit楼板族,创建楼板构件
问题:创建了一个新厚度的楼板族。FloorType newFamilyType = typeMoBan.Duplicate(sFmailyName) as FloorType;在板的创建接口没有设置族的地方啊Floor newFloor = m_ReviteDoc.Create.NewSlab(temCurveArr, simLevelInfo.FloorLevel, banSlopArrowLi原创 2014-12-18 11:35:27 · 8987 阅读 · 0 评论 -
读取Revit构件的材质
最近在公司正在做一个关于Revit模型展示的工具,需要获取Revit模型信息,然后在自己的3d控件中显示。通过学习,已经可以获取模型的Face,得到Mesh,进而得到三角网格和顶点数组等信息了,所以模型的样子已经可以在自制的控件中显示了,但是现在一直卡在怎么获取模型的颜色或材质上。 之前用的是得到FamilyInstance的MaterialID,但得到的是个ID列表,里面是这个原创 2014-10-16 21:03:38 · 9447 阅读 · 2 评论 -
ADN中国团队参加微软的Kinect全国大赛获三等奖,我们团队的创意项目用Kinect在Naviswork中虚拟漫游
下面是我写了一个英文的简单总结,直接贴出来了。原创 2014-04-22 11:30:54 · 3363 阅读 · 0 评论 -
关于Revit 二次开发问题请咨询Autodesk ADN
各位开发同仁原创 2014-11-13 10:19:49 · 4805 阅读 · 1 评论 -
编程如何获得通过草图创建的Revit构件关联的原始草图对象
问题:原创 2014-10-27 21:43:36 · 3597 阅读 · 1 评论 -
北京橄榄山软件网站与大家见面, 可以更多了解橄榄山和其二次开发产品
博主创立的橄榄山原创 2014-11-12 18:30:07 · 3767 阅读 · 0 评论 -
如何取得镜像图元的ElementID
问题:用函数ElementTransformUtils.MirrorElement(doc, wall.Id, plane)创建一个墙的镜像,我想对镜像出来的墙做一些处理,可惜这个函数没有返回值,得不到镜像墙的句柄。我现在的做法是做镜像之前取一遍墙的List,镜像之后在取一遍,看多出哪个,有没有更有效率的办法?答:不知道你是否想在同一个命令中来获知镜像后新生成的墙?如果想在同一个Revit二次开发原创 2013-12-16 11:25:48 · 4532 阅读 · 0 评论 -
基于云服务的API设计和客户沟通
现在云技术高速发展。一些大型开发公司不仅在提供云的平台服务,同时提供云平台的API服务。我们的研发团队现在也很需要在云上封装 云 API的技术力量。这个职位的级别高(13级,普通开发者是10-11级)(意思那就是内什么很高)。如果您有您周围的人有兴趣,请简历我。 谢谢!Job Posting – API DesignerThis position is for an API Designer to原创 2013-12-03 15:42:45 · 2228 阅读 · 0 评论 -
Revit里模型动态更新DMU的用法
许多时候,开发者希望Revit有这样的功能。当用户对模型进行修改后,二次开发的程序能够相应用户的修改,对模型作出一些相应的修改操作。例如,一些墙上的窗户要求永远居中显示。当用户对这个墙做了长度修改,这个窗户还要自动的在墙的中心处。这就是一个比较容易理解的应用。这要求Revit具有感知用户所做的操作,并且能随后对模型作出修改。对于感知用户的操作或动作,Revit有两个办法,一个是用反应器,也就是事件原创 2013-01-09 15:19:05 · 7247 阅读 · 1 评论 -
如何编程创建自适应族?
自适应族被广大的Revit用户喻为Revit特强大的宝剑之一。关于自适应族的特性请大家看Revit的相关文档。Revit同时也开放了API来创建自适应构件族,也可以用API来生成自适应构件对象。Revit提供了AdaptiveComponentFamilyUtils类来处理与创建族相关的功能,提供了10多个方法。具体请看RevitAPI.chm中的说明。下面列出了如何创建一个自适应构件族的代码。原创 2013-01-07 11:29:27 · 10986 阅读 · 2 评论 -
如何编程创建自适应构件对象?
在Revit里面创建普通族实例大家不陌生,用NewFamilyInstance函数即可。这个函数有10来个重载形式,可以创建各种族实例。在有自适应构件的模型里,我们用RevitLookup查看自适应构件的Location属性为空。(普通族实例的Location属性不会为空,或是一个LocationPoint,或者为LocationLine)。这个开发者带来困惑,我们如何编程创建自适应构件的实例呢?原创 2013-01-07 11:44:24 · 5603 阅读 · 3 评论 -
2012 Autodesk开发者大会和AU归来
2012.12.10-15号的一整个礼拜的时间,我们ADN中国团队忙于Autodesk开发者大会(Devdays) 和Autodesk 大学(AU)。是一年中最忙碌的时候。我们需要在上个礼拜之前把2014版本的产品下载安装,学习新功能以及如何演示新功能,了解新的API以及如何演示新的API的例程。每个人负责几个产品,我今年讲了4个主题:1. 云和移动应用的例子演示,开发者大会的主题演讲。在北京做汉原创 2012-12-17 18:19:13 · 2626 阅读 · 1 评论