对 NurbsCurve 的二维模拟是 NurbsSurface,与自由形式的 NurbsCurve 一样,可以使用两种基本方法构建 NurbsSurface:输入一组基点并在它们之间内插 Dynamo,然后明确指定曲面的控制点。当设计师确切知道曲面需要的形状或者设计需要曲面通过约束点时,内插曲面也与自由曲线一样非常有用。另一方面,由控制点创建的曲面对于各种平滑级别的探索式设计更为有用。
要创建插值曲面,只需生成与曲面形状近似的点的二维集合即可。集合必须是矩形,即不能出现锯齿。NurbsSurface.ByPoints 方法通过这些点构造曲面。
也可以通过指定曲面的基本控制点来创建自由形式的 NurbsSurfaces。与 NurbsCurves 一样,控制点可以看作是表示具有直线段的四边形网格,这可以平滑到最终的曲面形式(取决于曲面的阶数)。要通过控制点创建 NurbsSurface,请为 NurbsSurface.ByPoints 添加两个附加参数,以指示基本曲线在曲面两个方向上的角度。
我们可以增加 NurbsSurface 的阶数,来更改生成的曲面几何图形:
就像可以通过在一组输入点之间内插来创建曲面一样,可以通过在一组基础曲线之间内插来创建曲面。这称为“放样”。放样曲线是使用 Surface.ByLoft 构造函数创建的,其中输入曲线集合作为唯一参数。
旋转曲面是通过绕中心轴扫掠基础曲线创建的附加类型的曲面。如果插值曲面是对插值曲线的二维模拟,则旋转曲面是对圆和圆弧的二维模拟。
旋转曲面由基本曲线指定,表示曲面的“边”;轴原点、曲面的基点;轴方向、中心“核心”方向;扫掠开始角;以及扫掠结束角。这些曲面用作 Surface.Revolve 构造函数的输入。