Shape.DrawNURBS 方法 (Visio)

创建一个新建形状,其路径由单个 NURBS(非均匀有理 B 样条)段组成。

语法

expressionDrawNURBS( _degree_ , _Flags_ , _xyArray()_ , _knots()_ , _weights_ )

表达 一个代表 Shape 对象的变量。

参数

名称 必需/可选 数据类型 说明
程度 必需 Integer 样条的曲度;1 到 25 之间的整数。
Flags 必需 Integer 影响形状绘制方式的标志。
xyArray () 必需 Double 一个交替出现 xy 值的数组,这些值定义控制点的坐标;使用内部绘图单位(英寸)。
knots () 必需 Double 节点的数组。
权重 可选 Variant 权重的数组。

返回值

Shape

说明

DrawNURBS 方法创建一个新建形状,其路径由参数指定的单个 NURBS 段组成。

控制点应该使用在其中创建新建形状的页面、主控形状或组的坐标空间的内部绘图单位(英寸)。 xyArrayknotsweights 数组应为 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)。 如果 FlagsvisSpline1D ,并且 xyArray 中的第一个点和最后一个点不一致, 则 DrawNURBS 方法将生成具有一维 (1D) 行为的形状;否则,它将生成具有二维 (二维) 行为的形状。

如果 xyArray 的第一个点和最后一个点重合,则 DrawNURBS 方法生成填充形状。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。