CalcPolySegLen Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   CalcPolySegLen
(   hPoly :HANDLE;
    i1 :INTEGER;
    i2 :INTEGER
) :REAL ;

Python:

def  vs.CalcPolySegLen(hPoly, i1, i2):
   return REAL

Description:

Calculate the length between two segments of a polygon or polyline

説明

多角形もしくは曲線の二つの分節間の距離を計算します。



  Centroid Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   Centroid
(   h :HANDLE;
  VAR  x :REAL;
  VAR  y :REAL
) :BOOLEAN ;

Python:

def  vs.Centroid(h):
   return (BOOLEAN, x, y)

Description:

Returns the centroid of the object. Returns false if an unsupported object type is supplied.

説明

オブジェクトの重心を返します。対応していないオブジェクトが渡った場合はFALSEを返します。



  CircleCircleInters Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   CircleCircleInters
(   cenPt1 :VECTOR;
    cenPt2 :VECTOR;
    radius1 :REAL;
    radius2 :REAL;
  VAR  pt1 :VECTOR;
  VAR  pt2 :VECTOR
) :BOOLEAN ;

Python:

def  vs.CircleCircleInters(cenPt1, cenPt2, radius1, radius2):
   return (BOOLEAN, pt1, pt2)

Description:

Finds the intersection of two circles.

説明

二つの円の交点を返します。



  ClipPolygon Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   ClipPolygon
(   hPolygon :HANDLE;
    hClipper :HANDLE;
    dFuzz :REAL
) :HANDLE ;

Python:

def  vs.ClipPolygon(hPolygon, hClipper, dFuzz):
   return HANDLE

Description:

Same as IntersectSurface, but improves performance by first checking to see if hClipper is within the bounding box of hPolygon before calling IntersectSurface.

説明

IntersectSurfaceと同様。ただし、まずhClipperがhPolygonのバウンディングボックスに入っているか確認することで性能が向上している。



  ClosestPoints Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

PROCEDURE   ClosestPoints
(   h1 :HANDLE;
    h2 :HANDLE;
  VAR  pt1 :VECTOR;
  VAR  pt2 :VECTOR;
  VAR  touching :BOOLEAN
) ;

Python:

def  vs.ClosestPoints(h1, h2):
   return (pt1, pt2, touching)

Description:

Returns the points on two objects where the shortest distance between those objects occurs. Should support all VW primitives, including polylines and NURBS. Would be nice if it supported groups, symbols, and PIOs. Would also be nice if it supported 3D.

説明

二つのオブジェクト上のお互いに最も近接する点を返します。曲線とNURBSを含む全てのVW基本図形で動作するはず。グループ、シンボルやプラグインオブジェクトに対応することすることが望ましい。3Dも対応できるとよい。



  Cloud Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   Cloud
(   h :HANDLE;
    rMin :REAL;
    rMax :REAL;
    hFactor :REAL;
    convex :BOOLEAN;
    removeIntersections :BOOLEAN
) :HANDLE ;

Python:

def  vs.Cloud(h, rMin, rMax, hFactor, convex, removeIntersections):
   return HANDLE

Description:

Draws a cloud. Varies the billows of the clouds randomly between rMin and rMax. The hFactor is the height of each individual arc in the cloud.

説明

雲型を描く。雲のもくもくをrMinからrMaxの間でランダムに変化させる。hFactorはそれぞれの円弧の高さである。



  CombinePolygons Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   CombinePolygons
(   hPolygonA :HANDLE;
    hPolygonB :HANDLE;
    dFuzz :REAL
) :HANDLE ;

Python:

def  vs.CombinePolygons(hPolygonA, hPolygonB, dFuzz):
   return HANDLE

Description:

Combines two polygons.

説明

二つの多角形を結合します。



  ConvertToArcPolyline Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   ConvertToArcPolyline
(   hPolygon :HANDLE;
    dFuzz :REAL
) :HANDLE ;

Python:

def  vs.ConvertToArcPolyline(hPolygon, dFuzz):
   return HANDLE

Description:

Convert, within a tolerance, the input polyline into an polyline that uses arcs for the curves

説明

ハンドルで指定した図形(四角形、曲線、多角形など)を多角形または曲線に変換します。元の図形は残ります。



  ConvertToPolygon Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   ConvertToPolygon
(   h :HANDLE;
    resolution :INTEGER
) :HANDLE ;

Python:

def  vs.ConvertToPolygon(h, resolution):
   return HANDLE

Description:

Converts object to polygon.

説明

オブジェクトを多角形に変換します。



  ConvertToPolyline Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   ConvertToPolyline
( h:HANDLE ) :HANDLE ;

Python:

def  vs.ConvertToPolyline(h):
   return HANDLE

Description:

Converts any enclosed shape (circle, rectangle, ellipse, etc.) into a polygon or polyline. Does not polygonalize.

説明

あらゆる閉じた図形(円、四角形、楕円など)を多角形もしくは曲線に変換します。多角形化は行いません。



  CutProfileHoles Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

PROCEDURE   CutProfileHoles
( hWall:HANDLE ) ;

Python:

def  vs.CutProfileHoles(hWall):
   return None

Description:

Cut holes in object geometry described in it's profile group.

説明

輪郭グループに含まれる図形に穴を開ける。



  Distance Graphic Calculation 
MiniCAD

VectorScript Declaration:

FUNCTION   Distance
(   x1 :REAL;
    y1 :REAL;
    x2 :REAL;
    y2 :REAL
) :REAL ;

Python:

def  vs.Distance(x1, y1, x2, y2):
   return REAL

Description:

Function Distance returns the distance between the two specified coordinate locations.

説明

指定した2点間の距離を返します。

Parameters:

x1 X coordinate of first point. 1点目のX座標
y1 Y coordinate of first point. 1点目のY座標
x2 X coordinate of second point. 2点目のX座標
y2 Y coordinate of second point. 2点目のY座標

Example:

d:=Distance(0,2,4,5);
{returns the distance between (0,2) and (4,5)}

See Also:

Norm  



  Distance3D Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   Distance3D
(   x1 :REAL;
    y1 :REAL;
    z1 :REAL;
    x2 :REAL;
    y2 :REAL;
    z2 :REAL
) :REAL ;

Python:

def  vs.Distance3D(x1, y1, z1, x2, y2, z2):
   return REAL

Description:

Returns the 3D distance between two points. Same as Norm.

説明

2点の三次元的距離を返します。Normと同じ。



  EllipseEllipseIntersect Graphic Calculation 
VectorWorks10.0

VectorScript Declaration:

FUNCTION   EllipseEllipseIntersect
(
    upperLeft1 :POINT;
    lowerRight1 :POINT;
    upperLeft2 :POINT;
    lowerRight2 :POINT;
    int1 :POINT;
    int2 :POINT;
    int3 :POINT;
    int4 :POINT
) :INTEGER ;

Python:

def  vs.EllipseEllipseIntersect(upperLeft1, lowerRight1, upperLeft2, lowerRight2):
   return (INTEGER, int1, int2, int3, int4)

Description:

Calculates the intersections between the two specified ellipses.

説明

指定した2つの楕円の交点数と座標を計算します。

Parameters:

upperLeft1 Upper-left point of the first ellipse 楕円1の左上の座標
lowerRight1 Lower-right point of the first ellipse 楕円1の右下の座標
upperLeft2 Upper-left point of the second ellipse 楕円2の左上の座標
lowerRight2 Lower-right point of the second ellipse 楕円2の右下の座標
int1 On return, first point of intersection, if found 交点1の座標
int2 On return, second point of intersection, if found 交点2の座標
int3 On return, third point of intersection, if found 交点3の座標
int4 On return, fourth point of intersection, if found 交点4の座標

Result:

Returns the number of valid intersection points. If the return value is n, the first n points are valid. For example, if the return value is 1, the int1 parameter contains a valid point of intersection, and int2, int3, and int4 are invalid. If the return value is 3, int1, int2, and int3 contain valid points, and int4 is invalid.

返り値

交点数の数を返します。返り値がnの場合、最初からn個までの点が有効な値です。
例えば、返り値が1の場合、交点1の座標の座標は有効な値ですが、交点2、3、4の座標は無効です。返り値が3の場合、交点1、2、3の座標の座標は有効な値ですが、交点4の座標は無効です。

Example:

PROCEDURE Example;
VAR
	h1, h2 :HANDLE;
	upperLeft1, lowerRight1 :POINT;
	upperLeft2, lowerRight2 :POINT;
	int1, int2, int3, int4 :POINT;
	num :INTEGER;
BEGIN
	CallTool(-205); h1 := FSActLayer;
	CallTool(-205); h2 := FSActLayer;
	GetBBox(h1, upperLeft1.x, upperLeft1.y, lowerRight1.x, lowerRight1.y);
	GetBBox(h2, upperLeft2.x, upperLeft2.y, lowerRight2.x, lowerRight2.y);
	num := EllipseEllipseIntersect(upperLeft1, lowerRight1, upperLeft2, lowerRight2, int1, int2, int3, int4);
	Message(num);
	Locus(int1.x, int1.y);
	Locus(int2.x, int2.y);
	Locus(int3.x, int3.y);
	Locus(int4.x, int4.y);
END;
RUN(Example);



  Eq Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   Eq
(   value1 :REAL;
    value2 :REAL;
    tolerance :REAL
) :BOOLEAN ;

Python:

def  vs.Eq(value1, value2, tolerance):
   return BOOLEAN

Description:

Returns TRUE if the two real numbers are equal within the tolerance.

説明

二つの実数が誤差の範囲で等しければTRUEを返します。



  EqPercent Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   EqPercent
(   value1 :REAL;
    value2 :REAL;
    percent :REAL
) :BOOLEAN ;

Python:

def  vs.EqPercent(value1, value2, percent):
   return BOOLEAN

Description:

Returns TRUE if num1 and num2 are equal within the given percent.

説明

num1 と num2 が与えられたパーセントの範囲で等しければTRUEを返します。



  EqPt Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   EqPt
(   pt1 :VECTOR;
    pt2 :VECTOR;
    tolerance :REAL
) :BOOLEAN ;

Python:

def  vs.EqPt(pt1, pt2, tolerance):
   return BOOLEAN

Description:

Returns TRUE if the 2D points are equal within the tolerance.

説明

二つの2D点が誤差の範囲で等しければTRUEを返します。



  EqPt2D Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   EqPt2D
(   pt1 :VECTOR;
    pt2 :VECTOR;
    tolerance :REAL
) :BOOLEAN ;

Python:

def  vs.EqPt2D(pt1, pt2, tolerance):
   return BOOLEAN

Description:

Returns TRUE if the 2D points are equal within the tolerance

説明

二つの2D点が誤差の範囲で等しければTRUEを返します。



  EqPt3D Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   EqPt3D
(   pt1 :VECTOR;
    pt2 :VECTOR;
    tolerance :REAL
) :BOOLEAN ;

Python:

def  vs.EqPt3D(pt1, pt2, tolerance):
   return BOOLEAN

Description:

Returns TRUE if the 3D points are equal within the tolerance.

説明

二つの3D点が誤差の範囲で等しければTRUEを返します。



  EqualPt Graphic Calculation 
MiniCAD

VectorScript Declaration:

FUNCTION   EqualPt
(   p1X :REAL;
    p1Y :REAL;
    p2X :REAL;
    p2Y :REAL
) :BOOLEAN ;

Python:

def  vs.EqualPt(p1, p2):
   return BOOLEAN

Description:

Function EqualPt returns whether the two specified coordinate locations are equal (i.e., the same point, to 12 significant digits).

説明

指定した2つの座標が同じならばTRUEを返します。

Parameters:

p1 Coordinates of first comparison point. 1番目の座標
p2 Coordinates of second comparison point. 2番目の座標

Example:

PROCEDURE Example;
VAR
	x1, y1, x2, y2 :REAL;
BEGIN
	x1 := 1;
	y1 := 1;
	x2 := 1.0000000000001;
	y2 := 1.0000000000001;
	Message(EqualPt(x1, y1, x2, y2));
END;
RUN(Example);



  EqualRect Graphic Calculation 
MiniCAD

VectorScript Declaration:

FUNCTION   EqualRect
(   rectAp1X :REAL;
    rectAp1Y :REAL;
    rectAp2X :REAL;
    rectAp2Y :REAL;
    rectBp1X :REAL;
    rectBp1Y :REAL;
    rectBp2X :REAL;
    rectBp2Y :REAL
) :BOOLEAN ;

Python:

def  vs.EqualRect(rectAp1, rectAp2, rectBp1, rectBp2):
   return BOOLEAN

Description:

Function EqualRect returns whether the two specified rectangular areas are equal.

説明

指定した2つの四角形が同じならばTRUEを返します。

Parameters:

rectAp1 Top left coordinate of rectangle A. 1番目の四角形の左上の座標
rectAp2 Bottom right coordinate of rectangle A. 1番目の四角形の右下の座標
rectBp1 Top left coordinate of rectangle B. 2番目の四角形の左上の座標
rectBp2 Bottom right coordinate of rectangle B. 2番目の四角形の右下の座標

Example:

AreTheyEqual:=EqualRect(0,0,3,3,3,3,0,0);



  FindObjAtPt_Create Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   FindObjAtPt_Create
(   hContainer :HANDLE;
    objOptions :INTEGER;
    travOptions :INTEGER;
    locX :REAL;
    locY :REAL;
    pickRadius :REAL
) :LONGINT ;

Python:

def  vs.FindObjAtPt_Create(hContainer, objOptions, travOptions, locX, locY, pickRadius):
   return LONGINT

Description:

Creates object find for objects at specified point within specified radius. The funtion is capable of iterating

説明

指定した点から指定した半径何あるオブジェクトを返します。この関数は繰り返し(イテレーション)に対応している。



  FindObjAtPt_Create3D Graphic Calculation 
Vectorworks 2020

VectorScript Declaration:

FUNCTION   FindObjAtPt_Create3D
(   hContainer :HANDLE;
    objOptions :INTEGER;
    travOptions :INTEGER;
    locX :REAL;
    locY :REAL;
    locZ :REAL;
    pickRadius :REAL
) :LONGINT ;

Python:

def  vs.FindObjAtPt_Create3D(hContainer, objOptions, travOptions, locX, locY, locZ, pickRadius):
   return LONGINT

Description:

Creates object find for objects at specified point within specified radius. The funtion is capable of iterating

説明

指定した半径内の指定した座標で見つけたオブジェクトを作成します。この関数は繰り返し可能です。



  FindObjAtPt_Delete Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

PROCEDURE   FindObjAtPt_Delete
( finderID:LONGINT ) ;

Python:

def  vs.FindObjAtPt_Delete(finderID):
   return None

Description:

Deletes the find object iterator

説明

find object iteratorを削除します



  FindObjAtPt_GetCount Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   FindObjAtPt_GetCount
( finderID:LONGINT ) :INTEGER ;

Python:

def  vs.FindObjAtPt_GetCount(finderID):
   return INTEGER

Description:

Gets the number of objects in the find iterator

説明

find iteratorのオブジェクト数を返します



  FindObjAtPt_GetObj Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   FindObjAtPt_GetObj
(   finderID :LONGINT;
    objIndex :INTEGER
) :HANDLE ;

Python:

def  vs.FindObjAtPt_GetObj(finderID, objIndex):
   return HANDLE

Description:

Get an object from the find iterator

説明

find iteratorからオブジェクトを取得します



  GetObjectHiddenLine Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   GetObjectHiddenLine
(   hGeometry3D :HANDLE;
    cuttingHeight :REAL;
    bottomOfCutPlane :BOOLEAN
) :HANDLE ;

Python:

def  vs.GetObjectHiddenLine(hGeometry3D, cuttingHeight, bottomOfCutPlane):
   return HANDLE

Description:

Create lines representing the hidden line geometry of the specified object.

説明

指定したオブジェクトを隠線消去レンダリングで表現したときの線を生成します。



  GetPtInPoly Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   GetPtInPoly
( h:HANDLE ) :VECTOR ;

Python:

def  vs.GetPtInPoly(h):
   return VECTOR

Description:

Finds a point inside a polyline.

説明

曲線の中の点を探す。



  GetWallHeight Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

PROCEDURE   GetWallHeight
(   hWall :HANDLE;
  VAR  dStartTopHght :REAL;
  VAR  dStartBotHght :REAL;
  VAR  dEndTopHght :REAL;
  VAR  dEndBotHght :REAL
) ;

Python:

def  vs.GetWallHeight(hWall):
   return (dStartTopHght, dStartBotHght, dEndTopHght, dEndBotHght)

Description:

Returns the height at the start and at the end of a wall.

説明

壁の始まりと終わりの高さを返します。



  GetZatXY Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   GetZatXY
(   hObject :HANDLE;
    X :REAL;
    Y :REAL;
  VAR  outZ :REAL
) :BOOLEAN ;

Python:

def  vs.GetZatXY(hObject, X, Y):
   return (BOOLEAN, outZ)

Description:

Returns the Z elevation of a point X,Y on the specified object. If hObject = NIL then searches all visible objects; hObject = layer - all objects on the layer

説明

指定したオブジェクトの点(X、Y)におけるZ高さを返します。hObject = NILの場合は、表示されている全ての図形を対象にします。hObject = layerの場合はレイヤ上の全ての図形となります。



  HCenter Graphic Calculation 
MiniCAD

VectorScript Declaration:

PROCEDURE   HCenter
(   h :HANDLE;
  VAR  pX :REAL;
  VAR  pY :REAL
) ;

Python:

def  vs.HCenter(h):
   return p

Description:

Procedure HCenter returns the logical center point of the object specified in h. For most objects, this is the center of the bounding box. For circles, arcs, and round walls HCenter returns the arc center of the object.

説明

ハンドルで指定した図形の中心の座標を返します。ほとんどの図形の場合、バウンダリボックスの中心を返します。円、円弧、円弧壁の場合、図形の中心を返します。

Parameters:

h Handle to object. 図形のハンドル
p X-Y location of object center. 図形の中心の座標



  LineCircleIntersect Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   LineCircleIntersect
(   begPt :VECTOR;
    endPt :VECTOR;
    cenPt :VECTOR;
    radius :REAL;
  VAR  pt1 :VECTOR;
  VAR  pt2 :VECTOR
) :BOOLEAN ;

Python:

def  vs.LineCircleIntersect(begPt, endPt, cenPt, radius):
   return (BOOLEAN, pt1, pt2)

Description:

Finds the intersection points of a line and a circle.

説明

直線と円の交点を探します。



  LineEllipseIntersect Graphic Calculation 
VectorWorks10.0

VectorScript Declaration:

PROCEDURE   LineEllipseIntersect
(
    a1 :POINT;
    a2 :POINT;
    upperRight :POINT;
    lowerLeft :POINT;
    int1 :POINT;
  VAR  legal1 :BOOLEAN;
    int2 :POINT;
  VAR  legal2 :BOOLEAN
) ;

Python:

def  vs.LineEllipseIntersect(a1, a2, upperRight, lowerLeft):
   return (int1, legal1, int2, legal2)

Description:

Calculates the intersection between the specified line and ellipse.

説明

線分と楕円の交点を返します。

Parameters:

a1 Start point of the line 線分の始点座標
a2 End point of the line 線分の終点座標
upperRight Upper-right point of the ellipse 円弧の右上の座標
lowerLeft Lower-left point of the ellipse 円弧の左下の座標
int1 On return, first point of intersection, if found 交点1の座標
legal1 On return, second point of intersection, if found 交点の有無
int2 On return, indicates that int1 is a valid point of intersection 交点2の座標
legal2 On return, indicates that int2 is a valid point of intersection 交点の有無



  LineLineIntersection Graphic Calculation 
VectorWorks10.0

VectorScript Declaration:

PROCEDURE   LineLineIntersection
(
    l1start :POINT;
    l1end :POINT;
    l2start :POINT;
    l2end :POINT;
  VAR  parallel :BOOLEAN;
  VAR  intOnLines :BOOLEAN;
    sectpt :POINT
) ;

Python:

def  vs.LineLineIntersection(l1start, l1end, l2start, l2end):
   return (parallel, intOnLines, sectpt)

Description:

Returns intersection point of the two specified lines. parallel is true if the lines are parallel. intOnLines is true if the intersection is on both lines.

説明

2つの線分の交点座標を返します。

Parameters:

l1start Start point of the first line 線分1の始点座標
l1end End point of the first line 線分1の終点座標
l2start Start point of the second line 線分2の始点座標
l2end End point of the second line 線分2の終点座標
parallel On return, true if the lines are parellel, false otherwise 平行な場合はTRUE
intOnLines On return, true if the lines intersect 交差している場合はTRUE
sectpt On return, point of intersection of the lines, if the lines intersect 交点の座標

Example:

PROCEDURE Example;
VAR
   pt1, pt2, pt3, pt4, pt5 :POINT;
   parallel, intOnLines :BOOLEAN; 

BEGIN
   CallTool(-201); 
   GetSegPt1(FSActLayer, pt1.x, pt1.y); 
   GetSegPt2(FSActLayer, pt2.x, pt2.y); 
   CallTool(-201); 
   GetSegPt1(FSActLayer, pt3.x, pt3.y); 
   GetSegPt2(FSActLayer, pt4.x, pt4.y); 
   LineLineIntersection(pt1, pt2, pt3, pt4, parallel, intOnLines, pt5); 
   Locus(pt5.x, pt5.y);
END;
RUN(Example);



  OffsetPoly Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   OffsetPoly
(   h :HANDLE;
    offsetDistance :REAL;
    numberOfOffsets :INTEGER;
    consolidateVertices :BOOLEAN;
    sharpCorners :BOOLEAN;
    conversionRes :INTEGER;
    consolidationTolerance :REAL
) :HANDLE ;

Python:

def  vs.OffsetPoly(h, offsetDistance, numberOfOffsets, consolidateVertices, sharpCorners, conversionRes, consolidationTolerance):
   return HANDLE

Description:

Offsets a polygon or polyline. Must handle open & closed polys. A positive distance offsets to the outside; negative to the inside. Should remove self-intersecting segments from the result. Should support smooth vs. sharp offsets.

説明

多角形や曲線をオフセットします。図形は閉じていても開いても動作するはずです。正の距離の場合は外側へ、負の場合は内側へオフセットされます。自己交差する線分は削除されます。スムージングのあるなしも選べます。



  OffsetPolyN Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   OffsetPolyN
(   h :HANDLE;
    offsetDistance :REAL;
    smoothCorners :BOOLEAN
) :HANDLE ;

Python:

def  vs.OffsetPolyN(h, offsetDistance, smoothCorners):
   return HANDLE

Description:

Offsets a polygon or polyline. Uses Parasolid to do it. Equivalent of Voronoy based OffsetPoly.

説明

多角形や曲線をオフセットします。Parasolidを使用します。ボロノイをもとにしたOffsetPolyと等価です。



  OverlapLineArc Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   OverlapLineArc
(   begPt :VECTOR;
    endpt :VECTOR;
    cenPt :VECTOR;
    radius :REAL;
    startAng :REAL;
    sweepAng :REAL;
  VAR  lapPt1 :VECTOR;
  VAR  lapPt2 :VECTOR;
    tolerance :REAL
) :BOOLEAN ;

Python:

def  vs.OverlapLineArc(begPt, endpt, cenPt, radius, startAng, sweepAng, tolerance):
   return (BOOLEAN, lapPt1, lapPt2)

Description:

Finds the overlap of a line and an arc. Returns the overlapping segment if it exists.

説明

円弧と線分(直線)の重なる部分を探す。存在する場合は重なった線分を返します。



  OverlapLineLine Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   OverlapLineLine
(   begPt1 :VECTOR;
    endPt1 :VECTOR;
    begPt2 :VECTOR;
    endPt2 :VECTOR;
  VAR  lapPt1 :VECTOR;
  VAR  lapPt2 :VECTOR;
    tolerance :REAL
) :BOOLEAN ;

Python:

def  vs.OverlapLineLine(begPt1, endPt1, begPt2, endPt2, tolerance):
   return (BOOLEAN, lapPt1, lapPt2)

Description:

Returns two points the lap zone of two lines.

説明

二つの線分(直線)の重なる部分となる線分の二点を返します。



  PointAlongPoly Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   PointAlongPoly
(   h :HANDLE;
    dist :REAL;
  VAR  pt :VECTOR;
  VAR  tangent :VECTOR
) :BOOLEAN ;

Python:

def  vs.PointAlongPoly(h, dist):
   return (BOOLEAN, pt, tangent)

Description:

Returns a point at the specified distance along the poly, and a vector tangent to the poly at that point.

説明

多角形や曲線に沿って指定した距離にある点とその点での接戦ベクトルを返します。



  PointAlongPolyN Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   PointAlongPolyN
(   h :HANDLE;
    dist :REAL;
    epsilon :REAL;
  VAR  pt :VECTOR;
  VAR  tangent :VECTOR
) :BOOLEAN ;

Python:

def  vs.PointAlongPolyN(h, dist, epsilon):
   return (BOOLEAN, pt, tangent)

Description:

Returns a point at the specified distance along the poly, and a vector tangent to the poly at that point. Similar to PointAlongPoly with an addition of an epsilon value.

説明

多角形や曲線に沿って指定した距離にある点とその点での接戦ベクトルを返します。PointAlongPolyと同様だが、イプシロン値を設定できる。



  Polygonize Graphic Calculation 
Vectorworks 2018

VectorScript Declaration:

FUNCTION   Polygonize
(   h :HANDLE;
    segmentationLength :REAL;
    polygonizeStraight :BOOLEAN
) :HANDLE ;

Python:

def  vs.Polygonize(h, segmentationLength, polygonizeStraight):
   return HANDLE

Description:

Polygonize polylines and polygons.

説明

指定した図形を多角形または曲線化します。



  PolyMedialAxis Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   PolyMedialAxis
( h:HANDLE ) :HANDLE ;

Python:

def  vs.PolyMedialAxis(h):
   return HANDLE

Description:

Creates a group of lines which represent the weighted medial axis of given polygon.

説明

与えられた多角形の重み付き中心軸の線のグループを作成します。



  PtInPoly Graphic Calculation 
MiniCAD

VectorScript Declaration:

FUNCTION   PtInPoly
(   pX :REAL;
    pY :REAL;
    h :HANDLE
) :BOOLEAN ;

Python:

def  vs.PtInPoly(p, h):
   return BOOLEAN

Description:

Function PtInPoly returns TRUE if the point specified point lies within, or on, the referenced polygon or polyline object.

説明

ハンドルで指定した多角形/曲線の内側に、指定した座標が入っていればTRUEを返します。

Parameters:

p X-Y coordinate point. 座標
h Handle to polygon. 多角形/曲線のハンドル

返り値

判定(入っていればTRUE)

Example:

PROCEDURE Example;
VAR
	polyHandle :HANDLE;
	locusHandle :HANDLE;
	x, y :REAL;
BEGIN
	CallTool(-204); polyHandle := FSActLayer;
	CallTool(-221); locusHandle := FSActLayer;
	GetLocPt(locusHandle, x, y);
	Message(PtInPoly(x, y, polyHandle));
END;
RUN(Example);



  PtInRect Graphic Calculation 
MiniCAD

VectorScript Declaration:

FUNCTION   PtInRect
(   pointX :REAL;
    pointY :REAL;
    rect1X :REAL;
    rect1Y :REAL;
    rect2X :REAL;
    rect2Y :REAL
) :BOOLEAN ;

Python:

def  vs.PtInRect(point, rect1, rect2):
   return BOOLEAN

Description:

Function PtInRect returns whether the coordinate location is located within the specified rectangular boundary.

説明

指定した四角形の座標の内側に、指定した座標が入っていればTRUEを返します。

Parameters:

point X-Y coordinate point location. 座標
rect1 Top left coordinate of rectangular area. 四角形の左上の座標
rect2 Bottom right coordinate of rectangular area. 四角形の右下の座標

返り値

判定(入っていればTRUE)

Example:

PROCEDURE Example;
VAR
	pointX, pointY, rect1X, rect1Y, rect2X, rect2Y :REAL;
BEGIN
	pointX := 1;
	pointY := 1;
	rect1X := 0;
	rect1Y := 2;
	rect2X := 2;
	rect2Y := 0;
	Message(PtInRect(pointX, pointY, rect1X, rect1Y, rect2X, rect2Y));
END;
RUN(Example);



  PtOnArc Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   PtOnArc
(   pt :VECTOR;
    cenPt :VECTOR;
    radius :REAL;
    startAng :REAL;
    sweepAng :REAL;
    tolerance :REAL
) :BOOLEAN ;

Python:

def  vs.PtOnArc(pt, cenPt, radius, startAng, sweepAng, tolerance):
   return BOOLEAN

Description:

Determines if a point is on an arc.

説明

点が円弧状にあるかどうか判定します。



  PtOnLine Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   PtOnLine
(   pt :VECTOR;
    begPt :VECTOR;
    endPt :VECTOR;
    tolerance :REAL
) :BOOLEAN ;

Python:

def  vs.PtOnLine(pt, begPt, endPt, tolerance):
   return BOOLEAN

Description:

Determines if a point is on a line.

説明

点が線上にあるかどうか判定します。



  PtPerpCircle Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   PtPerpCircle
(   pt :VECTOR;
    cenPt :VECTOR;
    radius :REAL
) :VECTOR ;

Python:

def  vs.PtPerpCircle(pt, cenPt, radius):
   return VECTOR

Description:

Returns a point on the circle which is closest to the input point.

説明

入力点に最も近い円上の点を返します。



  PtPerpLine Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   PtPerpLine
(   pt :VECTOR;
    begPt :VECTOR;
    endPt :VECTOR
) :VECTOR ;

Python:

def  vs.PtPerpLine(pt, begPt, endPt):
   return VECTOR

Description:

Returns a point on the input line which is closest to the input point. Doesn't check to see that the point is ON the line.

説明

与えられた線上で、与えられた点に最も近い点を返します。点が線上にあるかどうかは確認しない。



  RegularPolygon Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

PROCEDURE   RegularPolygon
(   centerX :REAL;
    centerY :REAL;
    radius :REAL;
    numSides :INTEGER;
    mode :INTEGER
) ;

Python:

def  vs.RegularPolygon(centerX, centerY, radius, numSides, mode):
   return None

Description:

Creates an n-sided polygon.

説明

正多角形作成します。



  RelativeCoords Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   RelativeCoords
(   pt :VECTOR;
    begPt :VECTOR;
    endPt :VECTOR
) :VECTOR ;

Python:

def  vs.RelativeCoords(pt, begPt, endPt):
   return VECTOR

Description:

Translates a point into a coordinate system defined by 2 other points.

説明

ある点を異なる二つの点で定義される座標系へ変換します。



  Split2DObjectByLine Graphic Calculation 
VectorWorks12.0

VectorScript Declaration:

PROCEDURE   Split2DObjectByLine
(   objectHd :HANDLE;
    p1X :REAL;
    p1Y :REAL;
    p2X :REAL;
    p2Y :REAL;
  VAR  listHds :HANDLE
) ;

Python:

def  vs.Split2DObjectByLine(objectHd, p1, p2):
   return listHds

Description:

Splits objectHd along a line defined by the two points.

説明

ハンドルで指定した図形を2点で定義される直線で分割します。分割された図形はlistHdsハンドルでアクセスします。

Example:

PROCEDURE Example;
VAR
   polyHandle :HANDLE;
   lineHandle :HANDLE;
   resultHandle :HANDLE;
   begPt :VECTOR;
   endPt :VECTOR;
BEGIN
   CallTool(-204); polyHandle := FSActLayer;
   CallTool(-201); lineHandle := FSActLayer;
   GetSegPt1(lineHandle, begPt.x, begPt.y);
   GetSegPt2(lineHandle, endPt.x, endPt.y);
   Split2DObjectByLine(polyHandle, begPt.x, begPt.y, endPt.x, endPt.y, resultHandle);
   resultHandle := CreateDuplicateObject(resultHandle, NIL);
END;
RUN(Example);



  SrndArea Graphic Calculation 
MiniCAD

VectorScript Declaration:

FUNCTION   SrndArea
(   pX :REAL;
    pY :REAL
) :REAL ;

Python:

def  vs.SrndArea(p):
   return REAL

Description:

Function SrndArea when given a point, returns the area of the smallest polygon bounded by the selected objects.

説明

選択された多角形の中の、指定した測定点のある部分の面積を返します。

Parameters:

p Coordinates of reference point. 測定点の座標

返り値

面積



  Stipple Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   Stipple
(   hProfileObject :HANDLE;
    shapeType :INTEGER;
    density :INTEGER;
    clipToProfile :INTEGER;
    minSize :REAL;
    maxSize :REAL;
    minAspectRatio :REAL;
    maxAspectRatio :REAL;
    randomRotate :BOOLEAN
) :HANDLE ;

Python:

def  vs.Stipple(hProfileObject, shapeType, density, clipToProfile, minSize, maxSize, minAspectRatio, maxAspectRatio, randomRotate):
   return HANDLE

Description:

Greates a group of 'stipple-shapes', objects that fill a 'profile object'

説明

“輪郭図形”を埋める“点描図形”を生成します。



  SubtractPolygon Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   SubtractPolygon
(   hMinuedPoly :HANDLE;
    hSubtrahend :HANDLE;
    dFuzz :REAL
) :HANDLE ;

Python:

def  vs.SubtractPolygon(hMinuedPoly, hSubtrahend, dFuzz):
   return HANDLE

Description:

Clips one polygon from the other.

説明

一方の多角形から他方を切り欠きます。



  ThreePtCenter Graphic Calculation 
Vectorworks 2014

VectorScript Declaration:

FUNCTION   ThreePtCenter
(   pt1 :VECTOR;
    pt2 :VECTOR;
    pt3 :VECTOR
) :VECTOR ;

Python:

def  vs.ThreePtCenter(pt1, pt2, pt3):
   return VECTOR

Description:

Returns the center of a circle passing thru 3 given points.

説明

与えられた3点を通過する円の中心を返します。



  UnionRect Graphic Calculation 
MiniCAD

VectorScript Declaration:

PROCEDURE   UnionRect
(   p1X :REAL;
    p1Y :REAL;
    p2X :REAL;
    p2Y :REAL;
    p3X :REAL;
    p3Y :REAL;
    p4X :REAL;
    p4Y :REAL;
  VAR  p5X :REAL;
  VAR  p5Y :REAL;
  VAR  p6X :REAL;
  VAR  p6Y :REAL
) ;

Python:

def  vs.UnionRect(p1, p2, p3, p4, p5, p6):
   return (p5, p6)

Description:

Procedure UnionRect returns a rectangle based on the boundary enclosing the two specified rectangles.


説明

指定した2つの四角形を囲む四角形の座標を返します。

Parameters:

p1 Top left coordinate of rectangle 1. 1番目の四角形の左上の座標
p2 Bottom right coordinate of rectangle 1. 1番目の四角形の右下の座標
p3 Top left coordinate of rectangle 2. 2番目の四角形の左上の座標
p4 Bottom right coordinate of rectangle 2. 2番目の四角形の右下の座標
p5 Top left coordinate of boundary rectangle. 囲む四角形の左上の座標
p6 Bottom right coordinate of boundary rectangle. 囲む四角形の左上の座標

Example:

UnionRect(0,0,3,3,3,3,5,5,x1,y1,x2,y2);