| AddHole | Objects - 2D |
Declaration:
FUNCTION AddHole
( VAR objectToGetHole :HANDLE; holeTemplate :HANDLE ) :BOOLEAN ; Description:
AddHole uses a holeTemplate to create a hole inside objectToGetHole. Upon success, objectToGetHole is converted to polyline. holeTemplate is unchanged.Parameters:
objectToGetHole A 2D object to be cut by holeTemplate. holeTemplate A 2D object to cut a hole out of objectToGetHole. Example:
PROCEDURE AddHoleExample; VAR h1, h2 :HANDLE; BEGIN CallTool(-204); h1 := FSActLayer; CallTool(-204); h2 := FSActLayer; IF AddHole(h1, h2) THEN SetFPat(h1, 3); END; RUN(AddHoleExample);
| AddSurface | Objects - 2D |
Declaration:
FUNCTION AddSurface
( s1 :HANDLE; s2 :HANDLE ) :HANDLE ; Description:
Creates a new surface object by combining the two referenced surface objects. If the combination is successful (if the objects overlap), it deletes the original surface objects and returns the handle of the resultant object.
Parameters:
s1 Handle to object. s2 Handle to object. Result:
Returns a HANDLE to a new surface object.Example:
PROCEDURE AddSurfaceExample; VAR h1, h2, h3 :HANDLE; BEGIN DSelectAll; CallTool(-203); h1 := FSActLayer; DSelectAll; CallTool(-203); h2 := FSActLayer; h3 := AddSurface(h1, h2); IF h3 <> nil THEN SetFPat(h3, 5); END; RUN(AddSurfaceExample);See Also:
ClipSurface
| Arc | Objects - 2D |
Declaration:
PROCEDURE Arc
( p1X :REAL; p1Y :REAL; p2X :REAL; p2Y :REAL; StartAngle :REAL; ArcAngle :REAL ) ; Description:
Procedure Arc creates an arc object, or a polyline object, in the active document. If p1 and p2 define a perfect square, an arc will be created, with its center point at the center of the square. If p1 and p2 define a rectangle, a polyline will be created which will represent the oval segment defined by the rectangle.Parameters:
p1 Top left coordinate of bounding box of oval defining the arc. p2 Bottom right coordinate of bounding box of oval defining the arc. StartAngle Start angle of drawn arc. ArcAngle Sweep angle of drawn arc. Example:
Arc(0,0,2,2,45,90); {draws an 90 degree arc with a start angle of 45 degrees}
| ArcByCenter | Objects - 2D |
Declaration:
PROCEDURE ArcByCenter
( x :REAL; y :REAL; radius :REAL; startAngl :REAL; sweepAngle :REAL ) ; Description:
Creates an arc using a center point, the radius, a start angle, and a sweep.Parameters:
x X-coordinate of the center point y Y-coordinate of the center point radius Radius of the arc startAngl Starting angle of the arc sweepAngle Sweep angle of the arc Example:
PROCEDURE Example; VAR x, y, radius, startAngle, sweepAngle :REAL; BEGIN GetPt(x, y); radius := 3; startAngle := 0; sweepAngle := 90; ArcByCenter(x, y, radius, startAngle, sweepAngle); AlrtDialog(Concat(GetType(LNewObj))); END; RUN(Example);
| ClipSurface | Objects - 2D |
Declaration:
PROCEDURE ClipSurface
( s1 :HANDLE; s2 :HANDLE ) ; Description:
Creates a new surface object by subtracting the intersection of surfaces s1 and s2 from s1.
Parameters:
s1 Handle to object. s2 Handle to object. Example:
PROCEDURE ClipSurfaceExample; VAR h1, h2, h3 :HANDLE; BEGIN DSelectAll; CallTool(-203); h1 := FSActLayer; DSelectAll; CallTool(-203); h2 := FSActLayer; ClipSurface(h1, h2); h3 := PrevObj(h2); IF h3 <> h1 THEN SetFPat(h3, 5); END; RUN(ClipSurfaceExample);
| CombineIntoSurface | Objects - 2D |
Declaration:
FUNCTION CombineIntoSurface
( ptX :REAL; ptY :REAL ) :HANDLE ; Description:
Creates a polyline from the bounded selection surrounding the inIncludedPoint.Parameters:
pt A point within the bounded selection.
| CreateRWBackground | Objects - 2D |
Declaration:
FUNCTION CreateRWBackground
( imageResource:HANDLE ) :HANDLE ; Description:
Creates a Renderworks Background resource using the image from an existing Image resource. Width and height are set to default sizes relative to the page size.
| GetArc | Objects - 2D |
Declaration:
PROCEDURE GetArc
( h :HANDLE; VAR startAngleR :REAL; VAR arcAngleR :REAL ) ; Description:
Procedure GetArc returns the start and sweep angle of the referenced arc or round wall.Parameters:
h Handle to arc. startAngleR Returns start angle of arc. arcAngleR Returns sweep angle of arc. Example:
PROCEDURE GetArcSetArcExample; VAR h :HANDLE; startAng, sweepAng :REAL; BEGIN h := FSActLayer; GetArc(h, startAng, sweepAng); SetArc(h, startAng, sweepAng + 10); END; RUN(GetArcSetArcExample);
| GetLocPt | Objects - 2D |
Declaration:
PROCEDURE GetLocPt
( h :HANDLE; VAR pX :REAL; VAR pY :REAL ) ; Description:
Procedure GetLocPt returns the coordinate location of the referenced locus.Parameters:
h Handle to locus. p Coordinates of locus point.
| GetRRDiam | Objects - 2D |
Declaration:
PROCEDURE GetRRDiam
( h :HANDLE; VAR xDiam :REAL; VAR yDiam :REAL ) ; Description:
Procedure GetRRDiam returns the horizontal and vertical diameters of the rounded corners of a rounded rectangle object.
Parameters:
h Handle to object. xDiam X diameter of rounded corner. yDiam Y diameter of rounded corner.
| GetSegPt1 | Objects - 2D |
Declaration:
PROCEDURE GetSegPt1
( h :HANDLE; VAR pX :REAL; VAR pY :REAL ) ; Description:
Procedure GetSegPt1 returns the X-Y coordinates of the start point of the referenced line, wall, or linear dimension object.Parameters:
h Handle to line. p Coordinates of start point.
| GetSegPt2 | Objects - 2D |
Declaration:
PROCEDURE GetSegPt2
( h :HANDLE; VAR pX :REAL; VAR pY :REAL ) ; Description:
Procedure GetSegPt2 returns the end point of the of the referenced line, wall, or linear dimension object.Parameters:
h Handle to line. p Coordinates of end point.
| IntersectSurface | Objects - 2D |
Declaration:
FUNCTION IntersectSurface
( s1 :HANDLE; s2 :HANDLE ) :HANDLE ; Description:
Creates new surface objects that are the intersection of the two referenced surface objects. The original surface objects are not modified. The new objects get "inserted" into the drawing list, after s2, and before the next object after that.
Parameters:
s1 Handle to object. s2 Handle to object. Result:
Returns a HANDLE to the new surface object, or to a group containing multiple surface objects.Example:
PROCEDURE Example; VAR h1, h2, h3, h4 :HANDLE; pt :VECTOR; BEGIN h1 := NIL; WHILE h1 = NIL DO BEGIN Message('Pick the first object...'); GetPt(pt.x, pt.y); h1 := PickObject(pt.x, pt.y); END; h2 := NIL; WHILE h2 = NIL DO BEGIN Message('Pick the second object...'); GetPt(pt.x, pt.y); h2 := PickObject(pt.x, pt.y); END; {Capture the handle of the next object.} h3 := NextObj(h2); {Now create the intersection surface(s).} h4 := IntersectSurface(h1, h2); {Now find the intersection surface(s).} WHILE h4 <> h3 DO BEGIN SetFPat(h4, 3); h4 := NextObj(h4); END; ClrMessage; END; RUN(Example);
| Line | Objects - 2D |
Declaration:
PROCEDURE Line
( lineDX :REAL; lineDY :REAL ) ; Description:
Procedure Line creates a line object in Vectorworks. The line is drawn from the current pen position(x,y) to the specified point. The point may also be thought of as the location (x+dX,y+dY), where dX and dY are x and y offsets, respectively.
The line object is drawn with the current default attributes unless otherwise specified.
Parameters:
line Offset values for line. Example:
Line(2,2); { draws a line from the current pen location to a point } { 2 horizontal and 2 vertical units away. }
| LineTo | Objects - 2D |
Declaration:
PROCEDURE LineTo
( pX :REAL; pY :REAL ) ; Description:
Procedure LineTo creates a line object in the document. LineTo draws from the current graphics pen position to the specified coordinate location. The line object is drawn with the current default attributes unless otherwise specified in the VectorScript routine.
Parameters:
p Line endpoint. Example:
LineTo(3,4); {draws a line from the current pen position to (3,4)}See Also:
Absolute Relative
| Locus | Objects - 2D |
Declaration:
PROCEDURE Locus
( pX :REAL; pY :REAL ) ; Description:
Procedure Locus creates a 2D locus object at the specified coordinate location.
Parameters:
p Coordinate location of new locus. Example:
PROCEDURE Example; VAR x, y :REAL; BEGIN HCenter(FSActLayer, x, y); Locus(x, y); END; RUN(Example);
| MakePolygon | Objects - 2D |
Declaration:
FUNCTION MakePolygon
( inSourceObject:HANDLE ) :HANDLE ; Description:
MakePolygon creates a 2D Polygon using inSourceObject. Does not delete inSourceObject.Parameters:
inSourceObject inSource object should be a 2D object that can be polygonalized. Result:
A polygonalized copy of inSourceObjectExample:
PROCEDURE Example; VAR h :HANDLE; BEGIN CallTool(-204); h := FSActLayer; h := MakePolygon(h); END; RUN(Example);
| MakePolyline | Objects - 2D |
Declaration:
FUNCTION MakePolyline
( inSourceObject:HANDLE ) :HANDLE ; Description:
Creates a polyline using inSourceObject. inSourceObject is unchanged.Parameters:
inSourceObject The 2D object from which to make a polyline. Result:
A polyline representation of inSourceObject.Example:
PROCEDURE Example; VAR h,h2:HANDLE; BEGIN h:=FSActLayer; h2 := MakePolyline(h); DelObject(h); END; RUN(Example);
| ModelPt2DToScreenPt | Objects - 2D |
Declaration:
PROCEDURE ModelPt2DToScreenPt
( VAR pX :REAL; VAR pY :REAL ) ; Description:
Transforms a point from world coordinate to the screen coordinates in plan rotation.
| ModelVecToScreenVec | Objects - 2D |
Declaration:
PROCEDURE ModelVecToScreenVec
( VAR pX :REAL; VAR pY :REAL ) ; Description:
Takes Data from one space to another.
| Oval | Objects - 2D |
Declaration:
PROCEDURE Oval
( p1X :REAL; p1Y :REAL; p2X :REAL; p2Y :REAL ) ; Description:
Procedure Oval creates an oval object in a Vectorworks document.
Parameters:
p1 Top left coordinate of oval bounding box. p2 Bottom right coordinate of oval bounding box.
| OvalN | Objects - 2D |
Declaration:
PROCEDURE OvalN
( orginX :REAL; orginY :REAL; directionX :REAL; directionY :REAL; width :REAL; height :REAL ) ; Description:
Creates an oval with the specified bounds.Example:
PROCEDURE Example; BEGIN OvalN(0, 0, 1, 0, 1, 1); END; RUN(Example);
| Rect | Objects - 2D |
Declaration:
PROCEDURE Rect
( p1X :REAL; p1Y :REAL; p2X :REAL; p2Y :REAL ) ; Description:
Procedure Rect creates a rectangle object in a Vectorworks document.
The procedure will accept coordinate definitions by either of two methods : coordinate values or distance angle values. Coordinate values are the absolute coordinate locations(in the documents' coordinate system) and are expressed as x and y values.
Distance-angle values are expressed as a distance and angle from the current pen position. For Rect, two distance angle pairs are required to specify the top left and bottom right of the rectangle object.
Parameters:
p1 Top left coordinate of rectangle. p2 Bottom right coordinate of rectangle. Example:
Rect(0,2,2,1); {creates a rectangle object by coordinate values} Rect(0.5,#90,2,#0); {creates a rectangle object by dist-angle values}See Also:
RRect
| RectangleN | Objects - 2D |
Declaration:
PROCEDURE RectangleN
( orginX :REAL; orginY :REAL; directionX :REAL; directionY :REAL; width :REAL; height :REAL ) ; Description:
Creates and returns a handle to a new rectangle object with the specified bounds.Example:
PROCEDURE Example; BEGIN RectangleN(0, 0, 1, 0, 1, 1); END; RUN(Example);
| RRect | Objects - 2D |
Declaration:
PROCEDURE RRect
( p1X :REAL; p1Y :REAL; p2X :REAL; p2Y :REAL; DiamDX :REAL; DiamDY :REAL ) ; Description:
Procedure RRect creates a rounded rectangle object in a Vectorworks document.
Corner definition is controlled by parameter Diam, which determines the "roundness" of the rectangle corners. The X and Y components of Diam correspond to the major and minor axes of an oval defining the rectangle corner.
Parameters:
p1 Top left coordinate of rectangle. p2 Bottom right coordinate of rectangle. Diam X and Y diameters of corner. Example:
PROCEDURE Example; BEGIN RRectangleN(0, 0, 1, 0, 1, 1, .25, .25); END; RUN(Example);See Also:
Rect GetRRDiam
| RRectangleN | Objects - 2D |
Declaration:
PROCEDURE RRectangleN
( orginX :REAL; orginY :REAL; directionX :REAL; directionY :REAL; width :REAL; height :REAL; xDiam :REAL; yDiam :REAL ) ; Description:
Creates and returns a handle to a new rotated rectangle object with the specified bounds
| ScreenPtToModelPt2D | Objects - 2D |
Declaration:
PROCEDURE ScreenPtToModelPt2D
( VAR pX :REAL; VAR pY :REAL ) ; Description:
Transforms a point from screen coordinate in plan rotation to the model coordinates.Parameters:
p Input output parameter. Coordinates of the point to be translated.
| ScreenVecToModelVec | Objects - 2D |
Declaration:
PROCEDURE ScreenVecToModelVec
( VAR pX :REAL; VAR pY :REAL ) ; Description:
Takes data from one space to another
| SetArc | Objects - 2D |
Declaration:
PROCEDURE SetArc
( h :HANDLE; startAngle :REAL; arcAngle :REAL ) ; Description:
Procedure SetArc sets the start and sweep angles of the referenced arc or round wall object. Specify the angles in degrees.Parameters:
h Handle to arc. startAngle New start angle of arc. arcAngle New sweep angle of arc. Example:
PROCEDURE GetArcSetArcExample; VAR h :HANDLE; startAng, sweepAng :REAL; BEGIN h := FSActLayer; GetArc(h, startAng, sweepAng); SetArc(h, startAng, sweepAng + 10); END; RUN(GetArcSetArcExample);
| SetSegPt1 | Objects - 2D |
Declaration:
PROCEDURE SetSegPt1
( h :HANDLE; pX :REAL; pY :REAL ) ; Description:
Procedure SetSegPt1 sets the location of the start point of the referenced line or wall object.Parameters:
h Handle to line. p New start point of line. Example:
PROCEDURE ExtendLine; CONST kEXTENSION = 250mm; PROCEDURE ProcessLine(lineHdl :HANDLE); VAR size :REAL; lineVec :VECTOR; arrow1,arrow2 :BOOLEAN; style,angle :INTEGER; p1X,p1Y,p2X,p2Y,lineLen :REAL; BEGIN GetSegPt1(lineHdl, p1X, p1Y); GetSegPt2(lineHdl, p2X, p2Y); GetObjArrow(lineHdl, style, size, angle, arrow1, arrow2); IF arrow1 THEN BEGIN lineVec[1] := p1X - p2X; lineVec[2] := p1Y - p2Y; lineLen := Norm(lineVec); lineVec := (lineLen + kEXTENSION) * UnitVec(lineVec); p1X := p2X + lineVec[1]; p1Y := p2Y + lineVec[2]; SetSegPt1(lineHdl, p1X, p1Y); END ELSE BEGIN lineVec[1] := p2X - p1X; lineVec[2] := p2Y - p1Y; lineLen := Norm(lineVec); lineVec := (lineLen + kEXTENSION) * UnitVec(lineVec); p2X := p1X + lineVec[1]; p2Y := p1Y + lineVec[2]; SetSegPt2(lineHdl, p2X, p2Y); END; END; BEGIN ForEachObject(ProcessLine, (((C='LineClass') & (T=LINE)))); END; RUN(ExtendLine);See Also:
SetSegPt2
| SetSegPt2 | Objects - 2D |
Declaration:
PROCEDURE SetSegPt2
( h :HANDLE; pX :REAL; pY :REAL ) ; Description:
Procedure SetSegPt2 sets the location of the end point of the referenced line or wall object.
Parameters:
h Handle to arc. p New end point of line. See Also:
SetSegPt1