澄清创建参考面函数参数含义
2011-02-23 16:02
316 查看
用API创建族的时候,常常用到创建参考面,可以用 Autodesk.Create.Document.FamilyCreate.NewReferencePlane()方法和NewReferencePlane2() 方法创建. 这里我们只谈第一个函数。因为它有一个向量参数的含义比较模糊。方法二需要指定参考面上的三个点即可。
NewReferencePlane定义如下:
他可以用两个点外加一个向量在指定的视图上创建参考面。
这里第三个参数的向量在RevitAPI.chm中的解释是:The cut vector apply to reference plane, should perpendicular to the vector (bubbleEnd-freeEnd). cut vector 的含义好像不是一个专有名词,无法找到解释。这个cutVec向量参数的含义是这个向量必须在需要创建的参考平面的里面,相当于切线向量吧。而不是需要创建参考面的法向量。这一点最容易误解。
知道这个含义就简单了。
例如我们想创建一个水平面上45度斜参考平面。如下参考面。
可以用下面的代码。
NewReferencePlane定义如下:
public ReferencePlane NewReferencePlane( XYZ bubbleEnd, XYZ freeEnd, XYZ cutVec, View pView )
他可以用两个点外加一个向量在指定的视图上创建参考面。
这里第三个参数的向量在RevitAPI.chm中的解释是:The cut vector apply to reference plane, should perpendicular to the vector (bubbleEnd-freeEnd). cut vector 的含义好像不是一个专有名词,无法找到解释。这个cutVec向量参数的含义是这个向量必须在需要创建的参考平面的里面,相当于切线向量吧。而不是需要创建参考面的法向量。这一点最容易误解。
知道这个含义就简单了。
例如我们想创建一个水平面上45度斜参考平面。如下参考面。
可以用下面的代码。
using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using Autodesk.Revit .DB; using Autodesk.Revit.UI; using Autodesk.Revit .ApplicationServices; using Autodesk.Revit.Attributes ; [TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)] [RegenerationAttribute(Autodesk.Revit.Attributes.RegenerationOption.Manual)] public class RevitCommand : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string messages, ElementSet elements) { UIApplication app = commandData.Application; Document doc = app.ActiveUIDocument.Document; Transaction trans = new Transaction(doc, "ExComm"); trans.Start(); // create the reference plane. XYZ bubbleEnd = new XYZ(5,10,0); XYZ freeEnd = new XYZ(10,5,0); XYZ cutNorm = new XYZ(0,0,1); ReferencePlane rp1 = doc.FamilyCreate.NewReferencePlane(bubbleEnd, freeEnd, cutNorm, doc.ActiveView); rp1.Name = "my test43"; trans.Commit(); return Result.Succeeded ; } }
相关文章推荐
- oracle 创建,删除存储过程,参数传递,创建,删除存储函数,存储过程和函数的查看,包,系统包
- 一直想得到这样一个函数,创建类的一个实例,该类由指定的泛型参数指定
- mysql 创建函数(function)参数解说
- 函数参数中‘*’的含义
- Effective JavaScript Item 22 使用arguments来创建接受可变参数列表的函数
- linux多线程创建时使用类成员函数作为参数
- error C3867: “Point::getX”: 函数调用缺少参数列表;请使用“&Point::getX”创建指向成员的指针
- Oracle 10g创建函数——带输入、输出参数
- tcp/ip协议listen函数中的backlog参数的含义
- //创建一个数组, //实现函数init()初始化数组、 //实现empty()清空数组、 //实现reverse()函数完成数组元素的逆置。 //要求:自己设计函数的参数,返回值。
- print函数的各个参数含义
- Python自定义函数的创建、调用和函数的参数详解
- PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
- 创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。 要求:自己设计函数的参数,返回值
- 线程创建函数pthread_create的pthread_attr_t类型的参数
- JavaScript创建一个add()函数可实现,可变参数和递归调用
- Python Numpy中reshape函数参数-1的含义
- 函数调用缺少参数列表;请使用“&****Dlg::getThread”创建指向成员的指针”--多线程函数调用
- Python自定义函数的创建、调用和函数的参数详解 .argmax
- 创建数组,用函数分别实现初始化、清空和逆置。自己设计函数的参数,返回值