自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(306)
  • 资源 (6)
  • 收藏
  • 关注

转载 Revit 2015 API 的所有变化和新功能

这里从SDK的文章中摘录出所有的API变化。主要是希望n

2014-04-25 16:47:34 16115 6

原创 文件打开时从中心文件分离用Revit API如何实现

问题如题:

2014-04-25 15:50:35 12194

原创 捕获参数修改事件从而修改Revit其它模型

我们收到中南市政院(Central & Southern China Municipal)的张辛平的

2014-04-25 15:19:23 3228

原创 ADN中国团队参加微软的Kinect全国大赛获三等奖,我们团队的创意项目用Kinect在Naviswork中虚拟漫游

下面是我写了一个英文的简单总结,直接贴出来了。

2014-04-22 11:30:54 3327

原创 ADN 招聘一位爱好编程的工程师(上海)

我们部门在上海需要新增加一名员工,

2014-04-22 10:34:08 2687

原创 获取Revit项目里面实例的连接键的参数

在项目里如何获取实例的连接键的参数,能不能读到族中的连接键说明?在族里的可以找到ConnectorElement ,然后get_Parameter(BuiltInParameter.RBS_CONNECTOR_DESCRIPTION)获取到,如何在项目中获取ConnectorElement 或者RBS_CONNECTOR_DESCRIPTION?还有没有其他方式可以在项目里获取指定的连接键。

2014-04-22 10:23:23 3620

原创 Revit 2015 发布!

Revit 15 发布了, 现在可以下载。大家可以搜索xi

2014-04-18 12:27:06 9241

原创 留言板的问题没有留意到

今天才发现有不少开发者给我在留言板留言,但是我一直没有接到留言的通知,所以没有看到各位开发者给我的留言。这里说声抱歉。如果大家有问题,请到论坛里去问下。在论坛里的问题可能有其它人看到来答复你。这个博客不是用来和大家交流问题的。请见谅!

2014-04-01 15:22:09 1474

原创 编程获取在协同共享模型中获得Revit对象的所有者

近期写了一篇文章说明如何获取共享模型中构件的所有者。在共享模型中,每一个构件都有一个work set,可以编程获取该work set的所有者。下面是一个小示例。原文链接:点击打开原文为了方便,将文章摘录如下:For any visible element in a Revit shared model, we can get this element’s work set work set id

2014-03-28 14:43:53 2100

原创 如何用Revit API获取Conduit、FlexPipe的类型

问题:已经获得Conduit对象和FlexPipe对象,我该如何获取它的类型。我现在获得到了实例,实例中得不到类型参数,那么我现在想通过这个实例获得它对应的ConduitType、FlexPipeType,我该如何做?如果是FamilySymbol的话,里面有一个变量Symbol可以直接获得,但是这个想了好久没有办法做到。答:几乎所有实例对象都提供GetTypeId() 方法,这个方法会返回实例对

2014-03-26 13:02:40 3192

原创 不通过硬盘中的族文件的方式来动态生成并加载一个族Document

关于编程加载族的问题我此前写过一些文章:Autodesk北京迁入绿色办公室。以及编程后台创建族,然后在模型文件中创建该族的实例编程加载族文件(Revit2012)Revit 2013里面用程序新建族然后加载到模型中Revit最近发生了一个变化,当用LoadFamily的这个重载形式时,无需当前主文档打开事务。 有一个共同点,那就是被加载的族文档是这个函数的CallerLoadFamily(Docu

2014-03-04 11:30:59 2735 4

原创 如何用API来创建斜板

在创建楼板时,我们常常用NewFloor() 来实现。但是当需要创建斜的楼板,需要调用NewSlab() 函数来实现。NewSlab()函数可以接收板的倾斜方向和倾斜角度。其函数参数如下:public Floor NewSlab( CurveArray profile, Level level, Line slopedArrow, double slope, bool isStructural)第

2014-02-28 18:13:15 3989 2

原创 蛇年最后一篇以及新春之礼:高效开发视频讲座下载

又是一年要过去,在这里不禁感概时间飞逝,不知不觉中近40岁了,好想酸一把。在潜意识中觉得好像自己还是30岁,处于一生中最黄金的阶段。 担心时间飞逝,黄金时间过去就再也不复返,无可追寻。从我的孩子出生,我开始这个博客,现在孩子也快3岁了,能说会道,能耍赖,也能辩解;好撒娇,亦很体贴人。让我禁不住想起她我就开心。 今天我看到我的一个好朋友的QQ相册里面都是他的孩子各种获奖的奖状和奖牌照片,父亲常以孩子

2014-01-28 19:42:29 2898 2

原创 到Autodesk 应用程序商店里一键下载大量插件;让你的插件传遍Autodesk产品的用户

本文欢迎转载!Autodesk3年前就启动了应用程序商店。二次开发者可以在商店里面发布你的Autodesk产品上的插件,目前是免费发布,你获得全部收益。应用程序商店现在如火如荼,应用程序商店的对二次开发者的作用我不想多讲,大家都是明白人:)你如何快速进入Autodesk应用程序商店。在Autodesk2014以上产品的标题栏有一个大写的X(一半蓝,一半白色)的图标,点击这个图标就可以进入你正在使用

2014-01-13 11:01:37 6458

原创 如何编程隐藏Revit 中的组Group?

我在ADNDevBlog中写了一篇英文博客, 由于比较语言简单,直接在这里黏贴出来分享给大家。我们无法直接用HideElements() 函数来隐藏一个组Group对象。但是可以分别隐藏组中的对象,达到对这个组进行隐藏的目的。Through Revit UI command, we can hide group by picking it and click the hide command li

2014-01-06 12:44:56 5060 3

原创 用Revit API 如何获取工作集的名称

问题:我得到的一个参数名称是:工作集,但是我获取它的值是Integer类型(438)。但是属性对话框中显示的是“建筑内墙”。这个438表示什么呢?怎样得到“建筑内墙”这个字符串呢?谢谢!答:最简单的办法是你从这个参数里的AsValueString() 函数可以直接获得工作集的名称, Parameter.AsValueString()为了大家对WorkSet有一个更好的理解,下面我用完整代码来演示如

2014-01-02 16:27:36 3981

原创 AU 2013 没有参加? 没关系,精彩课程也不会错过

AU 2013 的实际讲座+网络课程 加起来有100多。没有参加是很遗憾,错误了宏达的场面,没有看到大神的风采,错失与一些牛人们的面对面的交流。 但是课程的内容Autodesk不会让你错过。 所有的课程都有视频录制。请到这里来下载 建筑行业的课程  http://au.autodesk.com.cn/plus/list.php?tid=4&industry=1&TotalResult=313&Pa

2013-12-20 11:47:33 1637

原创 如何取得镜像图元的ElementID

问题:用函数ElementTransformUtils.MirrorElement(doc, wall.Id, plane)创建一个墙的镜像,我想对镜像出来的墙做一些处理,可惜这个函数没有返回值,得不到镜像墙的句柄。我现在的做法是做镜像之前取一遍墙的List,镜像之后在取一遍,看多出哪个,有没有更有效率的办法?答:不知道你是否想在同一个命令中来获知镜像后新生成的墙?如果想在同一个Revit二次开发

2013-12-16 11:25:48 4503

原创 详谈用API读取Revit对象的参数值

问题:要取某个FamilySymbol的所有属性的值,现在已经把属性对象取到了(parameter类的一个实例),发现其中有AsDouble(),AsString(),AsInteger()等方法,通过什么方法能知道我应该调用哪一个函数呢答:Revit的读取参数值的方法都是Parameter类下面的函数中,包括如下这些: AsDouble () AsElementId() AsInteger()

2013-12-09 11:40:15 7600 4

原创 基于云服务的API设计和客户沟通

现在云技术高速发展。一些大型开发公司不仅在提供云的平台服务,同时提供云平台的API服务。我们的研发团队现在也很需要在云上封装 云 API的技术力量。这个职位的级别高(13级,普通开发者是10-11级)(意思那就是内什么很高)。如果您有您周围的人有兴趣,请简历我。 谢谢!Job Posting – API DesignerThis position is for an API Designer to

2013-12-03 15:42:45 2208

原创 Revit中如何通过API获取对象的位置坐标和旋转角度

Revit中的基于点的族实例可以旋转,我们如何获得旋转角度呢?谈这个问题之前我们综合的说下Revit对象是如何定位的。Revit对象的定位信息由2种方式来获得:1. 最简单的方法是通过Revit.Location 来获得。这类对象是族实例(FamilyInstance),包含两类对象:       a. 基于点的族实例,比如柱子,门窗,家具。基于点的族势力的Location属性返回Location

2013-11-27 12:13:27 13808 1

原创 Revit2014 支持编程创建管道并且立即赋予系统类型名称

在Revit2013里面,当我们用NewPipe创建完成一个管道后,若这个管断是独立的没有与其它已经具有系统类型的管道或终端设备连接,这个管段的系统类型属性是没有定义的。通过编程也无法赋予系统类型。 这个问题已经办法我已经写过一个博文:http://blog.csdn.net/JoeXiongjin/article/details/8133749在Revit 2014里面,Pipe类提供了Crea

2013-11-25 15:21:36 10038

原创 族的坐标和实例的坐标间的对应关系

在Revit二次开发过程中,对于Revit内部的坐标系之间的关系的掌握是非常必要的。下面是一个典型的坐标问题。族的几何体和该族实例的几何体间什么对应关系?如何从族的局部坐标系,通过怎样的矩阵旋转、缩放、平移得到族实例在全局坐标系中的实际位置呢?首先说明下概念:在制作族的时候,族文件中的几何体具有自己的坐标系。当加载族文件到Revit模型文件中,插入改族实例到模型后,族实例中的几何体具有自己的坐标。

2013-11-22 14:40:41 8782

原创 请问关于如何获取Revit管线的中心线端点坐标

需求情形:想获取一根管线的中心线的端点坐标该如何用API来实现?这个坐标如果导出为FBX文件,这些点在FBX中的坐标是一致的吗?如果不是,该如何转换呢?答:Revit 里面有几种类型的对象,1. 基于点的对象,例如柱子,门,窗,家具等等。这类对象可以用Element.Location 获取一个LocationPoint的对象,然后可以从LocationPoint.Point 获取他们的位置信息。2

2013-11-21 12:03:35 6653

原创 刚刚结束Autodesk 2013 DevDays 北京和上海的会议

今年Autodesk Devdays 首站在北京举行, 紧接着北京的AU(Autodesk University),非常高兴再次看到开发界的许多老朋友! 在北京约有110人参加,在上海有近70位开发届客户参加。 今年Devdays的重点是:介绍Autodesk 云平台的特点,以及怎么使用在autodesk 云平台上的WebService API 来开发客户的云应用。在上午的议程中,Jim Quan

2013-11-15 18:28:09 3210

原创 编程调用Revit自己提供的命令

在AutoCAD二次开发中,我们可以直接启动AutoCAD的内部命令。这个功能非常的棒。现在不少的Revit开发者也特别希望得到这个功能,能启动Revit自带命令。Revit2014 版提供了这个功能。你可以调用UIApplication.PostCommand() 来发送Revit自导的命令。命令格式如下:public void PostCommand( RevitCommandId comma

2013-10-16 17:41:10 8854 3

原创 Autodesk 开发者日上大量2015版新API,看看有没有你急需的API?

参与本会议需要签署保密协议,听完后不能在网上传播。Autodesk软件(中国)有限公司ADN市场部真诚地邀请您参加 “Autodesk 开发者日” (简称DevDays),中国区的会议将分别在北京(2013年11月7日)和上海(2013年11月11日)两地举行。 每年我们都在努力让Autodesk开发者日变得更好,让参加开发者日的各行业的开发人员能够了解到Autodesk公司最新的技术及发展机遇。

2013-10-16 14:54:26 5596 2

原创 在体量文件中加载族,然后想放置构件。放置构件用什么函数?

现在在revit中使用C#做一些二次开发的工作,现在碰到一个问题:新建一个体量文件,编程实现加载族文件(已解决),现在想将族文件的构件放置到进来。如何做?需要用什么函数?请教一下。加载加来后,你可以得到体量族,以及其中的类型。然后应该调用NewFamilyInstance()方法插入体量构件到模型中。

2013-10-12 10:58:00 3648

原创 Revit编程修改板的边界(含完整源代码)

我在ADN AEC英文博客中发表了一篇文章用于修改板的边界。Revit没有直接提供API来修改板的边界。发现了这个解决方案,先写了英文版的。这里就不翻译,直接贴过来。原帖地址:http://adndevblog.typepad.com/aec/2013/10/change-the-boundary-of-floorsslabs.htmlChange the boundary of floors/s

2013-10-10 18:18:42 8122 4

原创 给Revit插件制作安装盘时,如何获取Revit的存放加载文件*.addin的目录

需求描述:在制作完插件后,我们需要制作安装盘。安装盘需要将加载文件***.addin 复制到Revit指定的目录。我们如何获取到这个目录呢?解决办法:Revit指定的存放addin文件的目录有两个,一个是对所有用户的,另一个是对当前用户的, 还有这个目录在不同的操作系统下是不同的。Windows XPC:\Documentsand Settings\All Users\Application Da

2013-10-10 15:56:40 6294

原创 程序创建明细表并添加自定义的参数列

问题描述:我通过ViewSchedule类可以创建一个明细表,通过definition.addfield函数可以添加显示的参数例如面积,体积等,可是如果我想添加一个类别里没有的参数怎么办呢,例如我想在明细表中添加一个序号的列的参数要通过什么方法实现解答:在这种情况下,你可以先变成添加一个共享参数到目标对象中,然后你应该就可以吧这个参数添加到明细表中。

2013-10-09 17:02:35 6616

原创 如何用Revit API从无到有创建构建的类型对象?

绘制管道之前,必须有“管道类型”。默认模版是没有这一项的,点击REVIT命令,绘制管道, 软件会自动生成 族-管道-管道类型。 请问,不点命令,如何用程序自动生成管道类型? 答:我们可以用ElementType.Duplicagte 来创建一个已有类型的拷贝。当然这个方法对于你来讲是没有帮助的。所以在Revit2012 以及之前的版本,你所需要的无法实现。在Revit 2014里面提供了跨文件的复

2013-10-09 15:57:11 3738

原创 如何编程判别一个Revit族的主题对象是墙还是基于面?

族的“主体”参数,代码如下:family.get_Parameter(BuiltInParameter.FAMILY_HOSTING_BEHAVIOR).AsInteger(),它返回的是数值。请问返回的数值准确对应基于的主体吗?这些数值分别代码了什么?或者其他方法。谢谢!

2013-09-10 23:02:05 5421 2

原创 在Revit中如何显示附件模块(Add Ins) 这个命令页?

在windows 7 32-bit OS 上装了 Revit Architecture 2013, 但在Tab 上没有看到 Add Ins (附加模块), 通常应该在 Manage 或  Modify 旁边。怎样让Add Ins (附加模块)出现? 同样我在windows 7 64-bit OS 上装了 Revit 2013, 但在menu 上也没有看到 Add Ins, 怎样让Add Ins 出

2013-08-22 13:58:05 12255 9

原创 欧特克开发者训练营(Autodesk DevCamp 2013)的视频教程可以下载

Autodesk 2013 DevCamp China 2013年6月19-21日在京举行。该活动详情请看 http://blog.csdn.net/joexiongjin/article/details/9170205在该活动中的所有课程全部录制下来,可以到Autodesk AU China上去下载,下载列表如下。演讲人员来自Autodesk上海研究院的2为资深研发人员(刘培君,夏晓飞)和我本人

2013-08-21 16:35:52 5135 9

原创 Revit编程如何获取内置参数对应的中文字符串?

Revit中参数都有一个组,我们通过Definition.ParameterGroup 将会返回一个BuiltInParameterGroup类型的枚举对象。如何获得这个对应的中文组的名字?答:通过LabelUtils.GetLabelFor(BuiltInParameterGroup) 既可以返回你要的结果。LabelUtils还可以返回内置参数的对应字符串,显示单位,参数类型等等内置类型的对应

2013-08-21 15:37:46 6044 1

原创 如何获取Revit工作集中的对象?

Revit 提供了一个快捷过滤器ElementWorkSetFilter来获得一个工作集中的对象。下面代码从RevitAPI.chm 中获取。public void WorksetElements(Document doc, Workset workset){ // filter all elements that belong to the given workset Filt

2013-08-16 17:00:08 3612 1

原创 如何用Revit API 在Revit的模型中获取轮廓族的截面信息

Revit提供了轮廓族,它相当于定义了一个界面,有多边形构成,也可以由弧形等组成的一个封闭的曲线。 在制作族的时候,可以对指定的轮廓族类型进行拉升或放样。也可以在做强饰条时候用到,还可以用户绘制板边。轮廓族提供了很便利的功能。在Revit项目中,如何读取这些轮廓族所定义的界面信息呢? 如果获得这些族的截面几何数据呢?一个方式是直接从这些用轮廓族构造成来的对象的几何信息中获得。比如一个墙饰条,直接用

2013-08-16 16:38:40 8229 1

原创 Revit 开发节省时间助手在Revit 最新的SDK中提供了

开发人员常用的两个工具RevitLookup以及Revit AddinManager 在Revit 2014 SDK第一版中没有提供。许多开发人员问起这两个工具在那里。没有他们Revit二次开发很困难。在Revit 2014最新的SDK中提供了这两个工具。大家可以到Autodesk Developer Center 去下载:www.autodesk.com/developrevit昨天我写了一篇文

2013-08-09 11:51:37 7149 3

原创 找不到Revit AddInManager 影响工作速度?

在Revit 2014 RTM版本中的SDK中没有包含RevitLookup源代码,以及我们开发者的利器AddinManager。在我们的最新的SDK中包含了上面两个工具,支持Revit2014. 请点击这里下载:http://images.autodesk.com/adsk/files/Revit2014SDK_RTM0.exe

2013-08-08 17:22:31 4150 5

Revit二次开发实现BIM盈利(以橄榄山快模为例讲解) PPT

由于参与者基本上都是从设计院和施工单位来的,所以对Revit二次开发做了纵览性的讲解, 以非程序员能听懂的方式讲解Revit二次开发. 使这些行业领导或负责人能明白Revit二次开发的大概特点,以及其能实现的功能. 便于他们在自己的业务需要Revit插件时,能更好的思考和决策插件项目的立项和推动.

2014-10-12

Revit高效调试和深入探究Revit内部世界

Revit高效调试 Revit Addin Manager 调试技巧: 高效调试,使用Revit Add-in manager 1. Revit Add-in manager 安装方法 2. 详细步骤 开发时,无需用Addin文件来配置 修改代码后如何立即使用新修改的代码 如果调试修改后的代码 最后发布时,需要附带Addin文件 深入探究Revit内部世界 RevitLookup 0. 编译和加载RevitLookup 1. 了解Revit内部对象的组织方式 2. 了解Revit内对象的代表类 3. 了解Revit内对象的可用属性和返回值 4. 辅助更好理解Revit属性的含义 5. 查询Revit参数含义和参数值 6. 连续深入参看对象的关系

2014-01-28

Revit 二次开发实例

从中了解Revit 二次开国外现状。(本讲座发生在2012年4月)

2013-06-05

房间内对象拷贝插件文件

我开发了一个很小的工具,用来拷贝一个房间内的家具,隔墙,电器,管道,卫生器具等到其它选中的多个房间。 要求把目标房间内需要拷贝的对象做成一个组(Group),如果有些对象不希望拷贝,可以不放入组内。 所以你需要先把一个房间内的东西都布置创建好,并且用Revit命令需要为每一个房间创建Room对象。有了这些条件就可以开始使用这个小工具了。 使用步骤: 0. 如果打开了Revit,关闭Revit 1. 解压文件 2. 把copyelements.dll 拷贝到c盘根目录 3. 把copyelements.addin 拷贝到下面目录: For Windows XP - C:\Documents and Settings\All Users\Application Data\Autodesk\Revit\Addins\2011\ For Vista/Windows 7 - C:\ProgramData\Autodesk\Revit\Addins\2011\ 4. 重新启动Revit,可以在Addin/插件 Tab中的外部工具下拉按钮找到命令:Lab6SelectRoomsAndPlaceGroup,点击可启动。

2011-03-04

Revit房间内对象拷贝插件加载文件

我开发了一个很小的工具,用来拷贝一个房间内的家具,隔墙,电器,管道,卫生器具等到其它选中的多个房间。 要求把目标房间内需要拷贝的对象做成一个组(Group),如果有些对象不希望拷贝,可以不放入组内。 所以你需要先把一个房间内的东西都布置创建好,并且用Revit命令需要为每一个房间创建Room对象。有了这些条件就可以开始使用这个小工具了。 使用步骤: 0. 如果打开了Revit,关闭Revit 1. 把copyelements.dll 拷贝到c盘根目录 2. 把copyelements.addin 拷贝到下面目录: For Windows XP - C:\Documents and Settings\All Users\Application Data\Autodesk\Revit\Addins\2011\ For Vista/Windows 7 - C:\ProgramData\Autodesk\Revit\Addins\2011\ 3. 重新启动Revit,可以在Addin/插件 Tab中的外部工具下拉按钮找到命令:Lab6SelectRoomsAndPlaceGroup,点击可启动。

2011-03-04

房间内对象快速拷贝工具

拷贝一个房间内的家具,隔墙,电器,管道,卫生器具等到其它选中的多个房间

2011-03-04

空空如也

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

TA关注的人

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