Shape.DrawNURBS 方法 (Visio)
创建一个新建形状,其路径由单个 NURBS(非均匀有理 B 样条)段组成。
语法
expression。 DrawNURBS
( _degree_
, _Flags_
, _xyArray()_
, _knots()_
, _weights_
)
表达 一个代表 Shape 对象的变量。
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
程度 | 必需 | Integer | 样条的曲度;1 到 25 之间的整数。 |
Flags | 必需 | Integer | 影响形状绘制方式的标志。 |
xyArray () | 必需 | Double | 一个交替出现 x 和 y 值的数组,这些值定义控制点的坐标;使用内部绘图单位(英寸)。 |
knots () | 必需 | Double | 节点的数组。 |
权重 | 可选 | Variant | 权重的数组。 |
返回值
Shape
说明
DrawNURBS 方法创建一个新建形状,其路径由参数指定的单个 NURBS 段组成。
控制点应该使用在其中创建新建形状的页面、主控形状或组的坐标空间的内部绘图单位(英寸)。 xyArray、knots 和 weights 数组应为 SAFEARRAY 类型的由引用 (VT_R8|VT_ARRAY|VT_BYREF) 传递的 8 字节浮点值。 这是 Microsoft Visual Basic 向自动对象传递数组的方式。
knots 参数无单位。 knots 的序列应为非递减的。 换句话说 , (i + 1) <结 ( i ) 是不能接受的。 允许 (i + 1) = 结 ( i ) ,然后重复该值,但以下限制适用
- 第一个节点的重复次数不能多于 degree + 1 次。
- 最后一个节点不能重复。
- 第一个和最后一个节点之间的任何节点的重复次数都不能多于 degree 次。
- 如果第一个节点的重复次数少于 degree + 1 次,则样条为 periodic。
- 权重列表是可选的。 缺少权重列表表明样条为 non-rational。 权重无单位。
下列规则适用于列表的大小。 对于具有 n 个控制点的样条
- 如果样条是周期性的, 则 n> 2。 否则为 n>度。
- xyArray 的大小为 2 n。
- 如果存在) , 则权重 数组的大小为 n (。
- knots 数组的大小为 n + 1。
传统的非周期性样条需要 n + 度 + 1 节,但应用意味着末尾的重复 结 。 例如,degree 2 节点列表 (0,0,0,2,5,8) 在应用程序中解释为常规节点序列 (0,0,0,2,5,8,8,8)。
Flags 参数是一个位掩码,指定用于绘制新建形状的选项。 此参数的值应为零 (0) 或 visSpline1D (8)。 如果 Flags 为 visSpline1D ,并且 xyArray 中的第一个点和最后一个点不一致, 则 DrawNURBS 方法将生成具有一维 (1D) 行为的形状;否则,它将生成具有二维 (二维) 行为的形状。
如果 xyArray 的第一个点和最后一个点重合,则 DrawNURBS 方法生成填充形状。
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。