如何编程创建自适应族?
来源:互联网 发布:stc12单片机选型 编辑:程序博客网 时间:2024/06/15 20:49
自适应族被广大的Revit用户喻为Revit特强大的宝剑之一。关于自适应族的特性请大家看Revit的相关文档。
Revit同时也开放了API来创建自适应构件族,也可以用API来生成自适应构件对象。
Revit提供了AdaptiveComponentFamilyUtils类来处理与创建族相关的功能,提供了10多个方法。具体请看RevitAPI.chm中的说明。
下面列出了如何创建一个自适应构件族的代码。 (摘自RevitAPI.chm)
自适应族的创建于普通族很不一样,可以从代码了解创建步骤和用到的方法。
private void CreateAdaptiveComponentFamily(Document document){ // check if this family is an Adaptive Component family if (!(AdaptiveComponentFamilyUtils.IsAdaptiveComponentFamily(document.OwnerFamily))) return; Transaction transaction = new Transaction(document); ; int placementCtr = 1; ReferencePointArray refPointArray = new ReferencePointArray(); for (int i = 0; i < 10; i++) { transaction.SetName("Point" + i); transaction.Start(); ReferencePoint referencePoint = document.FamilyCreate.NewReferencePoint(new XYZ(i, 0, 0)); if (i % 2 == 0) // Even-numbered reference points will be Placement Points { AdaptiveComponentFamilyUtils.MakeAdaptivePoint(document, referencePoint.Id, AdaptivePointType.PlacementPoint); transaction.Commit(); AdaptiveComponentFamilyUtils.SetPlacementNumber(document, referencePoint.Id, placementCtr); placementCtr++; } else // Odd-numbered points will be Shape Handle Points { AdaptiveComponentFamilyUtils.MakeAdaptivePoint(document, referencePoint.Id, AdaptivePointType.ShapeHandlePoint); transaction.Commit(); } refPointArray.Append(referencePoint); } // Create a curve running through all Reference Points transaction.SetName("Curve"); transaction.Start(); CurveByPoints curve = document.FamilyCreate.NewCurveByPoints(refPointArray); transaction.Commit();}
转载请复制以下信息:
原文链接: http://blog.csdn.net/joexiongjin/article/details/8476049
作者: 叶雄进 , Autodesk ADN
- 如何编程创建自适应族?
- 如何编程创建自适应构件对象?
- 如何编程创建快捷方式?
- 编程技巧:如何创建颜色
- 如何编程创建斜墙?
- 创建自适应网页
- 如何以编程的方式创建控件
- 如何编程创建有两段引线的文字
- C#如何编程在桌面创建快捷方式
- Java并发编程:如何创建线程
- Java并发编程:如何创建线程
- Java并发编程:如何创建线程?
- Java并发编程:如何创建线程?
- Java并发编程:如何创建线程?
- Java并发编程:如何创建线程?
- Java并发编程:如何创建线程?
- Java并发编程:如何创建线程?
- Java并发编程:如何创建线程、进程?
- 常见oracle错误汇总
- 怎样设置locale
- 进制转换与称重问题
- Flash Builder实用快捷键集锦
- More Effective C++读书笔记8
- 如何编程创建自适应族?
- How to skip other publishable projects during publish a clickonce project in a solution?
- PHP大小写:函数名和类名不区分,变量名区分
- 使用github管理Eclipse分布式项目开发
- viso图中线的控制
- android --------intent
- 分治法,动态规划及贪心算法
- 关于javascript的childNodes方法的疑惑
- 常见Java面试题:equals与==