Revit二次开发基础
peng08303
这个作者很懒,什么都没留下…
展开
-
revit二次开发 获取依附于墙上的门窗等图元
要获取墙上的门窗,可以先把所有门窗过滤出来,再拿门窗的Host跟墙比,如果一个门或窗的Host Id和墙的Id相同,说明门窗依附于墙上。代码片段如下:FilteredElementCollector collector = new FilteredElementCollector(uiDoc.Document);collector.OfClass(typeof(Opening)).OfCategory(BuiltInCategory.OST_SWallRectOpening);//wallId原创 2021-10-22 14:44:21 · 1507 阅读 · 2 评论 -
Revit 二次开发 异常:Curve must be in the plane Parameter name: curve
画详图线的时候有时候会出现异常Curve must be in the plane Parameter name: curve。看这异常的意思,是线段必需在平面内,那这是为什么呢?这是因为,详图线是画在XY平面上的,其中只有X,Y轴是有效的,如果Start点和End点的Z值不一样,那实际上Start点和End点就构成了两个平行于XY平面的平面,由Start点和End点定义的线段就横跨了这两个平面,所以才会抛出这个异常。其实这个异常的意思是线段必需在XY平面内,当然这个平面不一定是处于原点的XY...原创 2020-11-14 15:16:22 · 1087 阅读 · 0 评论 -
Revit二次开发 生成阀门找不到Connector的问题
最近,在做管道连接的时候,生成阀门时,当即获取阀门的原创 2020-10-23 13:20:47 · 826 阅读 · 0 评论 -
Revit二次开发 获取Element的族类型参数
Revit二次开发 获取Element的族类型参数方法一方法二总结在Revit中,如果想获取Element的实例参数,直接调用Element的LookupParameter函数就可以了,但是想获取类型参数,这样操作却找不到参数。以墙为例,如下图:上图中的“功能”和“墙体类型”是属于类型参数,如果用上面的方法,是找不到这两个参数的,也就没办法取到它们的值。那应该怎么做呢?有两种方法实现。方法一用Revit Lookup查看,会发现其中有个GetValidTypes:点开:其中,左边的是族原创 2020-09-20 01:33:14 · 3058 阅读 · 0 评论 -
Revit二次开发-在程序中生成族类型
Revit二次开发-在程序中生成族类型有时候,在程序中生成族实例需要多种族类型,但在做族的时候,我们又不知道具体使用的时候要用到多少种类型。那能不能在程序中生成呢?当然是可以的。首先,根据一个族实例和项目的Document 打开一个族编辑器:Family family = familyInstance.Symbol.Family;Document familyDoc = document.EditFamily(family);上面代码中的familyInstance是族实例,document原创 2020-07-11 21:35:48 · 1716 阅读 · 2 评论 -
Revit二次开发-在程序中生成族类型
有时候,在程序中生成族实例需要多种族类型,但在做族的时候,我们又不知道具体使用的时候要用到多少种类型。那能不能在程序中生成呢?当然是可以的。- 首先,根据一个族实例和项目的Document 打开一个族编辑器:```Family family = familyInstance.Symbol.Family;Document familyDoc = document.EditFamily(family);```上面代码中的familyInstance是族实例,document是当前项目的Doc原创 2020-07-11 21:32:01 · 1530 阅读 · 2 评论 -
Revit二次开发-修改标注线尺寸界线的方向
有时候,我们想标注一个尺寸,正常情况下尺寸界线最好是贴着要标注的物体。尺寸界线贴着物体在Revit中,用以下代码生成标注Line lineVertical = Line.CreateBound(new XYZ(-3, 0, 0), new XYZ(-3, 0, 1));Dimension deV = m_Doc.Create.NewDimension(cpView, lineVertical, refVertical);得到以下结果:标注的尺寸界线反了在上图中,本来是要对墙体原创 2020-06-16 15:05:54 · 3275 阅读 · 0 评论 -
Revit2020怎么安装AddIn插件
以住的版本,在安装完SDK后,SDK安装文件夹下会有一“Add-In Manager”的文件夹,里面会有Addin插件的DLL。但Revt2020的SDK 安装后,却没有这个文件夹,那应该怎么安装呢?打开SDK安装目录下Sample中的工程,编译“HelloRevit”,在生成目录里,就可以找到“AddInManager.dll”。...原创 2020-06-16 14:35:05 · 3762 阅读 · 2 评论 -
Revit二次开发 RadioButtonGroup设置被选中按钮
Revit二次开发 RadioButtonGroup如何设置被选中按钮,请看。。。原创 2016-03-09 20:49:50 · 1437 阅读 · 0 评论 -
Revit二次开发之可停靠窗口
环境:Revit2014+VS2010关于Revit中可停靠窗口的开发,SDK sample中已经有了一个示例工程:DockableDialogs。不过这个工程做得比较复杂,学习起来比较费劲,所以在这里总结一下要点,并给出一个简单直观点的例子,方便上手。首先,显示的可停靠窗口是一个UserControl,UserControl继承自Page类和IDockablePaneProvider接口原创 2015-11-06 10:43:13 · 9850 阅读 · 12 评论 -
revit二次开发 获取水管的坐标
代码如下: LocationCurve curve = pipe.Location as LocationCurve; if (curve != null) { XYZ start = curve.Curve.GetEndPoint(0);原创 2015-06-09 14:43:35 · 3656 阅读 · 0 评论 -
Revit文字生成
在Revit中,生成文字用的是Autodesk.Revit.Creation下的Document 类的NewTextNote(View, XYZ, XYZ, XYZ, Double, TextAlignFlags, String)方法。下面是一个例子//生成文字 [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attribut原创 2015-04-29 14:03:10 · 2796 阅读 · 0 评论