本篇内容介绍了“Revit怎么创建柱子族类型”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
1.XYZ
位置信息,就是我们要把这个实例建在什么地方。这里我们就先把它放在原点new XYZ(0, 0, 0)吧。
2. FamilySymbol
族类型,我们需要创建什么类型的族实例(我们通过过滤器来获得所要创建的柱子族类型):
FilteredElementCollector faaa = new FilteredElementCollector(doc);
faaa.OfClass(typeof(FamilySymbol));//收集族类型
foreach (FamilySymbol faa in faaa)
{
if(faa.Name.Contains("500 x 500"))//寻找500*500类型的柱子
{
id = faa.Id;//存储它的ID
}
}
FamilySymbol fs = doc.GetElement( id) as FamilySymbol;//从他的ID来获得族类型
3. Level
标高和前几期类似,这里就不重复啦。
FilteredElementCollector fil = new FilteredElementCollector(doc);
fil.OfClass(typeof(Level));
foreach (Level ll in fil)//找标高
{
if (ll.Name.Contains("一层"))//找到一层标高
{
le = ll;
}
}
4.StructuralType
这个是结构类型,需要重点讲一下,之前的模板引用并没有涉及引用结构类型,所以大家是否还记得如何去引用呢?
在命名空间之前添加这么一个引用就好啦,using Autodesk.Revit.DB.Structure;
那么结构有哪些?我们具体来看一下
NonStructural | Non-Structural 非结构 |
Beam | Structural Beam 梁 |
Brace | Structural Brace 支撑 |
Column | Structural Column 结构柱 |
Footing | Structural Footing 结构基础 |
UnknownFraming | Unknown Framing 未知的框架 |
这样就给我们的结构族实例定义了用途。
那我们这里的结构柱就用StructuralType.Column;就好啦!
让我们来看代码(记得命名空间前面的引用哦):
FilteredElementCollector fil = new FilteredElementCollector(doc);
fil.OfClass(typeof(Level));
FilteredElementCollector faaa = new FilteredElementCollector(doc);
faaa.OfClass(typeof(FamilySymbol));//收集族类型
Level le = null;
ElementId id = null;
foreach (FamilySymbol faa in faaa)
{
if(faa.Name.Contains("500 x 500"))//寻找500*500类型的柱子
{
id = faa.Id;//存储它的ID
}
}
FamilySymbol fs = doc.GetElement( id) as FamilySymbol;//从他的ID来获得族类型
foreach (Level ll in fil)//找标高
{
if (ll.Name.Contains("一层"))//找到一层标高
{
le = ll;
}
}
FamilyInstance fa = doc.Create.NewFamilyInstance(new XYZ(0, 0, 0), fs, le, StructuralType.Column);
效果展示:
“Revit怎么创建柱子族类型”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。