VS:SetPolylineVertex/ja

From Vectorworks Developer
Jump to navigation Jump to search

.VectorScript|VectorScript ..VS:Function Reference|Function Reference ..VS:Function_Reference_Appendix|Appendix

Description

ハンドルで指定した多角形/曲線の頂点の値を設定します。

PROCEDURE SetPolylineVertex(
obj :HANDLE;
vertexNum :INTEGER;
p :REAL;
vertexType :INTEGER;
arcRadiusDistance :REAL)Coordinate); recalcBounds:BOOLEAN);
def vs.SetPolylineVertex(obj, vertexNum, p, vertexType, arcRadiusDistance, recalcBounds):
    return None

Parameters

obj HANDLE 多角形/曲線のハンドル
vertexNum INTEGER 頂点番号(1から)
p REAL 頂点のX、Y座標
vertexType INTEGER 頂点の種類(0:頂点指定/1:ベジェポイント指定/2:キュービックスプラインポイント
arcRadiusDistance REAL (Coordinate) 円弧の半径(頂点の種類が3の場合のみ有効)
recalcBounds BOOLEAN 図形の領域を再計算させる場合はTRUE

Example

PROCEDURE Example;
   {This will convert anything it can in the drawing to a polyline
   (including rectangles, polygons, etc.), and then it will fillet
   all of the corners with a radius of .015".}
CONST
   kFilletRadius = .015";
VAR
   cnt :INTEGER;
   x, y :REAL;
   vertexType :INTEGER;
   vertexRadius :REAL;
   criteria :STRING;

PROCEDURE FilletPolygon(h :HANDLE);
BEGIN
   h := ConvertToPolyline(h);
   FOR cnt := 1 to GetVertNum(h) DO BEGIN
      GetPolylineVertex(h, cnt, x, y, vertexType, vertexRadius);
      SetPolylineVertex(h, cnt, x, y, 3, kFilletRadius, TRUE);
   END;
END;

BEGIN
   criteria := '(ALL)';
   ForEachObject(FilletPolygon, criteria);
END;
RUN(Example);

Version

利用可能バージョン: VectorWorks8.5