AppendRoofEdge Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   AppendRoofEdge
(   theRoof :HANDLE;
    edgePtX :REAL;
    edgePtY :REAL;
    slopeAngle :REAL;
    projectionDistance :REAL (Coordinate);
    eaveHeightDistance :REAL (Coordinate)
) ;

Python:

def  vs.AppendRoofEdge(theRoof, edgePt, slopeAngle, projectionDistance, eaveHeightDistance):
   return None

Description:

Function AppendRoofEdge creates a new edge in the referenced roof object.

Parameters:

theRoof Handle to roof.
edgePt Definition point of roof edge.
slopeAngle Slope of roof edge.
projectionDistance Eave overhang.
eaveHeightDistance Eave height.

Example:

roofHandle := CreateRoof(TRUE,5 1/2",5 1/2",4,9.52627");
AppendRoofEdge(roofHandle,-77'10",-25'3.18078",#45d0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",-25'3.18078",#45d0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",21'4.81922",#45d0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-77'10",21'4.81922",#45d0'0",2'0",10'0");
shedID := CreateShedDormer(roofHandle);
SetShedAttributes(roofHandle,shedID,TRUE,6'0",10'0",2'0",#8d0'0");
SetDormerAttributes(roofHandle, shedID, 3,18'4",TRUE,3'0",63,FALSE,3'0");
SetDormerThick(roofHandle, 2",1.83333");



  BeginRoof Objects - Roofs 
MiniCAD4.0

VectorScript Declaration:

PROCEDURE   BeginRoof
(   p1X :REAL;
    p1Y :REAL;
    p2X :REAL;
    p2Y :REAL;
    upslopeX :REAL;
    upslopeY :REAL;
    riseDistance :REAL (Coordinate);
    runDistance :REAL (Coordinate);
    miter :INTEGER;
    vertPart :REAL
) ;

Python:

def  vs.BeginRoof(p1, p2, upslope, riseDistance, runDistance, miter, vertPart):
   return None

Description:

Procedure BeginRoof creates a simple roof object in a Vectorworks document.

Table - Roof Miter Styles

Miter Style Constant
Vertical 1
Horizontal 2
Double

3

Square

4



3-D View of Roof




Parameters:

p1 Coordinates of roof axis start point.
p2 Coordinates of roof axis end point.
upslope Coordinates of upslope definition point.
riseDistance Rise distance.
runDistance Run distance.
miter Edge miter style of roof.
vertPart Dimension of vertical miter for double miter style.

Example:

BeginRoof(1,1,5,1,2,2,0.5,1,1,0);
  ClosePoly;
  Poly(1,1,3,1,3.5,2,4,1,5,1,5,5,1,5);
EndGroup;




  CreateBatDormer Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

FUNCTION   CreateBatDormer
( roofObject:HANDLE ) :INTEGER ;

Python:

def  vs.CreateBatDormer(roofObject):
   return INTEGER

Description:

Function CreateBatDormer creates a bat dormer in the referenced roof object.

Parameters:

roofObject Handle to roof.

Example:

roofHandle := CreateRoof(TRUE,5 1/2",5 1/2",4,9.52627");
AppendRoofEdge(roofHandle,-77'10",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",21'4.81922",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-77'10",21'4.81922",#45°0'0",2'0",10'0");
batID := CreateBatDormer(roofHandle);
SetBatAttributes(roofHandle,batID,TRUE,5'0",10'0",4'0",6'3",2'0",#8°0'0");
SetDormerAttributes(roofHandle,batID,3,18'4",TRUE,3'0",63,FALSE,3'0");
SetDormerThick(roofHandle, 2",1.83333");



  CreateGableDormer Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

FUNCTION   CreateGableDormer
( roofObject:HANDLE ) :INTEGER ;

Python:

def  vs.CreateGableDormer(roofObject):
   return INTEGER

Description:

Function CreateGableDormer creates a gable dormer in the referenced roof object.

Parameters:

roofObject Handle to roof.

Example:

roofHandle:=CreateRoof(TRUE,5 1/2",5 1/2",4,9.52627");
AppendRoofEdge(roofHandle,-77'10",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",21'4.81922",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-77'10",21'4.81922",#45°0'0" ,2'0",10'0");
gabID:=CreateGableDormer(roofHandle);
SetGableAttributes(roofHandle,gabID,TRUE,6'0",10'0",2'0",#45°0'0",#45°0'0");
SetDormerAttributes(roofHandle,gabID,3,18'4",TRUE,3'0",63,FALSE,
3'0");
SetDormerThick(roofHandle, 2",1.83333");



  CreateHipDormer Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

FUNCTION   CreateHipDormer
( roofObject:HANDLE ) :INTEGER ;

Python:

def  vs.CreateHipDormer(roofObject):
   return INTEGER

Description:

Function CreateHipDormer creates a hip dormer in the referenced roof object.

Parameters:

roofObject Handle to roof.

Example:

roofHandle := CreateRoof(TRUE,5 1/2",5 1/2",4,9.52627");
AppendRoofEdge(roofHandle,-77'10",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",21'4.81922",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle, -77'10",21'4.81922",#45°0'0",2'0",10'0");
hID := CreateHipDormer(roofHandle);
SetHipAttributes(roofHandle, hID,TRUE,6'0",10'0",2'0",#45°0'0",#45°0'0",#45°0'0");
SetDormerAttributes(roofHandle,hID,3,18'4",TRUE,3'0",63,FALSE,3'0");
SetDormerThick(roofHandle, 2",1.83333");



  CreateRoof Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

FUNCTION   CreateRoof
(   genGableWall :BOOLEAN;
    bearingInsetDistance :REAL (Coordinate);
    roofThickDistance :REAL (Coordinate);
    miterType :INTEGER;
    vertMiterDistance :REAL (Coordinate)
) :HANDLE ;

Python:

def  vs.CreateRoof(genGableWall, bearingInsetDistance, roofThickDistance, miterType, vertMiterDistance):
   return HANDLE

Description:

Function CreateRoof creates a new roof object in a Vectorworks document, returning a handle to the object. To define the roof object template, use AppendRoofEdge.

Table - Roof Miter Styles

Miter Style Constant
Vertical 1
Horizontal 2
Double

3

Square

4

Parameters:

genGableWall Specifies gable roof generation.
bearingInsetDistance Bearing inset distance of wall into roof.
roofThickDistance Roof thickness.
miterType Miter style of roof.
vertMiterDistance Vertical component for double miters.

Example:

roofHandle := CreateRoof(TRUE,5 1/2",5 1/2",4,0");
AppendRoofEdge(roofHandle, -87'4",-38'4",#45d 0' 0" ,2'0",10'0");
AppendRoofEdge(roofHandle, -30'2",-38'4",#45d 0' 0" ,2'0",10'0");
AppendRoofEdge(roofHandle, -30'2",45'10",#45d 0' 0" ,2'0",10'0");
AppendRoofEdge(roofHandle, -87'4",45'10",#45d 0' 0" ,2'0",10'0");

See Also:

AppendRoofEdge  



  CreateShedDormer Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

FUNCTION   CreateShedDormer
( roofObject:HANDLE ) :INTEGER ;

Python:

def  vs.CreateShedDormer(roofObject):
   return INTEGER

Description:

Function CreateShedDormer creates a shed dormer in the referenced roof object.

Parameters:

roofObject Handle to roof.

Example:

roofHandle := CreateRoof(TRUE,5 1/2",5 1/2",4,9.52627");
AppendRoofEdge(roofHandle,-77'10",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",21'4.81922",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-77'10",21'4.81922",#45°0'0" ,2'0",10'0");
shedID:=CreateShedDormer(roofHandle);
SetShedAttributes(roofHandle,shedID,TRUE,6'0",10'0",2'0",#8°0'0");
SetDormerAttributes(roofHandle,shedID,3,18'4",TRUE,3'0",63,FALSE, 3'0");
SetDormerThick(roofHandle, 2",1.83333");



  CreateSkylight Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

FUNCTION   CreateSkylight
( roofObject:HANDLE ) :INTEGER ;

Python:

def  vs.CreateSkylight(roofObject):
   return INTEGER

Description:

Function CreateSkylight creates a new skylight in the referenced roof object.

Parameters:

roofObject Handle to roof.

Example:

skylightID:=CreateSkylight(roofHandle);
SetSkylight(roofHandle,skylightID,6,13'8",2'1",Name2Index('dh2436'));



  CreateTrapeziumDormer Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

FUNCTION   CreateTrapeziumDormer
( roofObject:HANDLE ) :INTEGER ;

Python:

def  vs.CreateTrapeziumDormer(roofObject):
   return INTEGER

Description:

Function CreateTrapeziumDormer creates a trapezium dormer in the referenced roof object.

Parameters:

roofObject Handle to roof.

Example:

roofHandle := CreateRoof(TRUE,5 1/2",5 1/2",4,9.52627");
AppendRoofEdge(roofHandle,-77'10",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",21'4.81922",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle, -77'10",21'4.81922",#45°0'0",2'0",10'0");
trapID:=CreateTrapeziumDormer(roofHandle);
SetTrapeziumAttributes(roofHandle,trapID,TRUE,6'0",10'0",TRUE,6'0",#0°0'0",#0°0'0",#8°0'0");
SetDormerAttributes(roofHandle,trapID,3,18'4",TRUE,3'0",63,FALSE,3'0");
SetDormerThick(roofHandle, 2",1.83333");



  GetBatAttributes Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   GetBatAttributes
(   roofObject :HANDLE;
    dormerID :INTEGER;
  VAR  useHeight :BOOLEAN;
  VAR  heightDepth :REAL;
  VAR  bottomWidth :REAL;
  VAR  topWidth :REAL;
  VAR  baseHeight :REAL;
  VAR  controlPoint :REAL;
  VAR  topSlope :REAL
) ;

Python:

def  vs.GetBatAttributes(roofObject, dormerID):
   return (useHeight, heightDepth, bottomWidth, topWidth, baseHeight, controlPoint, topSlope)

Description:

Procedure GetBatAttributes returns the attributes of a bat dormer in the referenced roof.

Parameters:

roofObject Handle to roof.
dormerID Index of dormer element.
useHeight Returns if height setting was used to created dormer.
heightDepth Returns height or depth value.
bottomWidth Returns bottom width.
topWidth Returns top width.
baseHeight Returns base height.
controlPoint Returns the control point offset.
topSlope Returns the slope of the bat roof.



  GetDormerAttributes Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   GetDormerAttributes
(   roofObject :HANDLE;
    dormerID :INTEGER;
  VAR  edgeIndex :INTEGER;
  VAR  cornerOffset :REAL;
  VAR  isPerpOffset :BOOLEAN;
  VAR  perpOrHeightOffset :REAL;
  VAR  symName :LONGINT;
  VAR  centerSymbol :BOOLEAN;
  VAR  symOffset :REAL
) ;

Python:

def  vs.GetDormerAttributes(roofObject, dormerID):
   return (edgeIndex, cornerOffset, isPerpOffset, perpOrHeightOffset, symName, centerSymbol, symOffset)

Description:

Procedure GetDormerAttributes returns the attributes of a roof element in the referenced roof.

Parameters:

roofObject Handle to roof.
dormerID Index of dormer element.
edgeIndex Index of roof edge.
cornerOffset Returns offset from roof edge corner.
isPerpOffset Returns whether perpendicular offset was used.
perpOrHeightOffset Returns perpendicualr or height offset.
symName Returns index of dormer symbol.
centerSymbol Returns whether symbol was centered.
symOffset Returns symbol offset distance.

See Also:

Index2Name  



  GetDormerThick Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   GetDormerThick
(   roofObject :HANDLE;
  VAR  wallThick :REAL;
  VAR  roofThick :REAL
) ;

Python:

def  vs.GetDormerThick(roofObject):
   return (wallThick, roofThick)

Description:

Procedure GetDormerThick returns dormer roof and wall thicknesses for the referenced roof.

Parameters:

roofObject Handle to dormer.
wallThick Returns dormer wall thickness.
roofThick Returns dormer roof thickness.



  GetGableAttributes Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   GetGableAttributes
(   roofObject :HANDLE;
    dormerID :INTEGER;
  VAR  useHeight :BOOLEAN;
  VAR  heightDepth :REAL;
  VAR  bottomWidth :REAL;
  VAR  overhang :REAL;
  VAR  leftSlope :REAL;
  VAR  rightSlope :REAL
) ;

Python:

def  vs.GetGableAttributes(roofObject, dormerID):
   return (useHeight, heightDepth, bottomWidth, overhang, leftSlope, rightSlope)

Description:

Procedure GetGableAttributes returns the attributes of a gable dormer in the referenced roof.

Parameters:

roofObject Handle to roof.
dormerID Index of dormer element.
useHeight Returns if height setting was used to created dormer.
heightDepth Returns height or depth value.
bottomWidth Returns bottom width.
overhang Returns overhang width.
leftSlope Returns left roof slope of dormer element.
rightSlope Returns right roof slope of dormer element.



  GetHipAttributes Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   GetHipAttributes
(   roofObject :HANDLE;
    dormerID :INTEGER;
  VAR  useHeight :BOOLEAN;
  VAR  heightDepth :REAL;
  VAR  bottomWidth :REAL;
  VAR  overhang :REAL;
  VAR  leftSlope :REAL;
  VAR  rightSlope :REAL;
  VAR  frontSlope :REAL
) ;

Python:

def  vs.GetHipAttributes(roofObject, dormerID):
   return (useHeight, heightDepth, bottomWidth, overhang, leftSlope, rightSlope, frontSlope)

Description:

Procedure GetHipAttributes returns the attributes of a hip dormer in the referenced roof.

Parameters:

roofObject Handle to roof.
dormerID Index of dormer element.
useHeight Returns if height setting was used to created dormer.
heightDepth Returns height or depth value.
bottomWidth Returns bottom width.
overhang Returns overhang distance.
leftSlope Returns slope of left roof.
rightSlope Returns slope of right roof.
frontSlope Returns slope of front roof.



  GetNumRoofElements Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

FUNCTION   GetNumRoofElements
( roofObject:HANDLE ) :INTEGER ;

Python:

def  vs.GetNumRoofElements(roofObject):
   return INTEGER

Description:

Function GetNumRoofElements returns the number of roof elements (dormers and skylights) in the referenced roof object.

Parameters:

roofObject Handle to roof.



  GetRoofAttributes Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

FUNCTION   GetRoofAttributes
(   theRoof :HANDLE;
  VAR  genGableWall :BOOLEAN;
  VAR  bearingInset :REAL;
  VAR  roofThick :REAL;
  VAR  miterType :INTEGER;
  VAR  vertMiter :REAL
) :BOOLEAN ;

Python:

def  vs.GetRoofAttributes(theRoof):
   return (BOOLEAN, genGableWall, bearingInset, roofThick, miterType, vertMiter)

Description:

Function GetRoofAttributes returns the attributes of the referenced roof object.

Table - Roof Miter Styles

Miter Style Constant
Vertical 1
Horizontal 2
Double

3

Square

4


Parameters:

theRoof Handle to roof object.
genGableWall Returns gable wall generation state.
bearingInset Returns bearing inset dimension.
roofThick Returns roof thickness.
miterType Returns miter style.
vertMiter Returns vertical miter dimension.

Example:

PROCEDURE Example;
var
	theRoof :HANDLE;
	genGableWall :BOOLEAN; 
	bearingInset, roofThick :REAL; 
	miterType :INTEGER; 
	vertMiter :REAL;
begin
	theRoof := FSActLayer;
	IF GetRoofAttributes(theRoof, genGableWall, bearingInset, roofThick, miterType, vertMiter)
	THEN Message(genGableWall, ' ', bearingInset, ' ', roofThick, ' ', miterType, ' ', vertMiter);
end;
RUN(Example);



  GetRoofEdge Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

FUNCTION   GetRoofEdge
(   theRoof :HANDLE;
    index :INTEGER;
  VAR  vertexPtX :REAL;
  VAR  vertexPtY :REAL;
  VAR  slope :REAL;
  VAR  projection :REAL;
  VAR  eaveHeight :REAL
) :BOOLEAN ;

Python:

def  vs.GetRoofEdge(theRoof, index):
   return (BOOLEAN, vertexPt, slope, projection, eaveHeight)

Description:

Procedure GetRoofEdge returns the definition attributes of a roof edge for the referenced roof object.

Parameters:

theRoof Handle to roof.
index Index of roof edge (in a range of 1 - n).
vertexPt Returns coordinates of roof edge definition vertex.
slope Returns slope of roof edge.
projection Retunrs eave overhang dimension.
eaveHeight Returns eave height.



  GetRoofElementType Objects - Roofs 
VectorWorks9.0

VectorScript Declaration:

PROCEDURE   GetRoofElementType
(   roofObject :HANDLE;
    dormerID :INTEGER;
  VAR  edgeIndex :INTEGER;
  VAR  isDormer :BOOLEAN;
  VAR  dormerType :INTEGER
) ;

Python:

def  vs.GetRoofElementType(roofObject, dormerID):
   return (edgeIndex, isDormer, dormerType)

Description:

Returns information on the specified roof element. The dormer type value is one of the following: 1 for Trapezium Dormer, 2 for Saddle Dormer, 3 for Shed Dormer, 4 for Slope Dormer, 5 for Bat Dormer.

Parameters:

roofObject Handle to roof object.
dormerID Index of roof element.
edgeIndex Index of roof edge associated with roof element (1-based index).
isDormer True if this element is a dormer, false if it is a skylight.
dormerType Type of dormer roof element.



  GetRoofFaceAttrib Objects - Roofs 
VectorWorks9.0

VectorScript Declaration:

PROCEDURE   GetRoofFaceAttrib
(   roofFace :HANDLE;
  VAR  roofRise :REAL;
  VAR  roofRun :REAL;
  VAR  miterType :INTEGER;
  VAR  holeStyle :INTEGER;
  VAR  vertPart :REAL;
  VAR  thickness :REAL
) ;

Python:

def  vs.GetRoofFaceAttrib(roofFace):
   return (roofRise, roofRun, miterType, holeStyle, vertPart, thickness)

Description:

Returns information on the referenced roof face object.

Table - Roof Miter Styles

Miter Style Constant
Vertical 1
Horizontal 2
Double

3

Square

4

Parameters:

roofFace Handle to roof face object.
roofRise Rise of roof.
roofRun Run of roof.
miterType Miter style of roof.
holeStyle Miter style of openings.
vertPart Vertical component of compound miters.
thickness Thickness of roof.

Example:

PROCEDURE Example;

PROCEDURE ShowRoofFaceAttrib(roofFace :HANDLE);
VAR
	roofRise, roofRun :REAL; 
	miterType, holeStyle :INTEGER; 
	vertPart, thickness :REAL;
BEGIN
	IF GetObjectVariableInt(roofFace, 172) = 1 THEN BEGIN
		GetRoofFaceAttrib(roofFace, roofRise, roofRun, miterType, holeStyle, vertPart, thickness);
		Message('roofRise: ', roofRise,
			',  roofRun: ', roofRun,
			',  miterType: ', miterType,
			',  holeStyle: ', holeStyle,
			',  vertPart: ', vertPart,
			',  thickness: ', thickness);
	END;
END;

BEGIN
	ForEachObject(ShowRoofFaceAttrib, ((SEL=TRUE)&(T=71)));
END;
RUN(Example);



  GetRoofFaceCoords Objects - Roofs 
VectorWorks9.0

VectorScript Declaration:

PROCEDURE   GetRoofFaceCoords
(   h :HANDLE;
  VAR  axis1X :REAL;
  VAR  axis1Y :REAL;
  VAR  axis2X :REAL;
  VAR  axis2Y :REAL;
  VAR  Zaxis :REAL;
  VAR  upslopeX :REAL;
  VAR  upslopeY :REAL
) ;

Python:

def  vs.GetRoofFaceCoords(h):
   return (axis1, axis2, Zaxis, upslope)

Description:

Returns the coordinates of the defining geometry of a roof face.

Parameters:

h Handle to roof face object.
axis1 X-Y coordinates of first axis point.
axis2 X-Y coordinates of second axis point.
Zaxis Elevation of roof axis.
upslope X-Y coordinates of roof upslope point.

Example:

PROCEDURE GetRoofFaceCoordsExample;

PROCEDURE MarkCoords(h :HANDLE);
VAR
	beg_pt, end_pt, upslope_pt :VECTOR;
	Z :REAL;
BEGIN
	IF GetObjectVariableInt(h, 172) = 1 THEN BEGIN
		GetRoofFaceCoords(h, beg_pt.x, beg_pt.y, end_pt.x, end_pt.y, Z, upslope_pt.x, upslope_pt.y);
		beg_pt     := beg_pt     * (25.4 / GetPrefReal(152));
		end_pt     := end_pt     * (25.4 / GetPrefReal(152));
		upslope_pt := upslope_pt * (25.4 / GetPrefReal(152));
		Locus(beg_pt.x, beg_pt.y);
		Locus(end_pt.x, end_pt.y);
		Locus(upslope_pt.x, upslope_pt.y);
	END;
END;

BEGIN
	ForEachObject(MarkCoords, (T=71));
END;
RUN(GetRoofFaceCoordsExample);



  GetRoofVertices Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

FUNCTION   GetRoofVertices
( roofObject:HANDLE ) :INTEGER ;

Python:

def  vs.GetRoofVertices(roofObject):
   return INTEGER

Description:

Function GetRoofVertices returns the number of roof edges in the referenced roof object.

Parameters:

roofObject Handle to roof.



  GetShedAttributes Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   GetShedAttributes
(   roofObject :HANDLE;
    dormerID :INTEGER;
  VAR  useHeight :BOOLEAN;
  VAR  heightDepth :REAL;
  VAR  bottomWidth :REAL;
  VAR  overhang :REAL;
  VAR  topSlope :REAL
) ;

Python:

def  vs.GetShedAttributes(roofObject, dormerID):
   return (useHeight, heightDepth, bottomWidth, overhang, topSlope)

Description:

Procedure GetShedAttributes returns the attributes of a shed dormer in the referenced roof.

Parameters:

roofObject Handle to roof.
dormerID Index of dormer element.
useHeight Returns if height setting was used to created dormer.
heightDepth Returns height or depth value.
bottomWidth Returns bottom width.
overhang Returns overhang distance.
topSlope Returns top slope of dormer roof.



  GetSkylight Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   GetSkylight
(   roofObject :HANDLE;
    skylightID :INTEGER;
  VAR  edgeIndex :INTEGER;
  VAR  cornerOffset :REAL;
  VAR  perpOffset :REAL;
  VAR  symName :LONGINT
) ;

Python:

def  vs.GetSkylight(roofObject, skylightID):
   return (edgeIndex, cornerOffset, perpOffset, symName)

Description:

Function GetSkylight returns the definition attributes of a specified skylight in the referenced roof object.

Parameters:

roofObject Handle to roof.
skylightID Index of skylight element.
edgeIndex Index of roof edge associated with skylight.
cornerOffset Offset of skylight from corner.
perpOffset Offset of skylight from roof edge.
symName Name of skylight symbol.

Example:

GetSkylight(roofHandle,skylightID,edgeID,cOff,pOff,symID);
symbolName:=Index2Name(symID);

See Also:

Index2Name  



  GetTrapeziumAttributes Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   GetTrapeziumAttributes
(   roofObject :HANDLE;
    dormerID :INTEGER;
  VAR  useHeight :BOOLEAN;
  VAR  heightDepth :REAL;
  VAR  bottomWidth :REAL;
  VAR  useTopWidth :BOOLEAN;
  VAR  topWidth :REAL;
  VAR  leftSlope :REAL;
  VAR  rightSlope :REAL;
  VAR  topSlope :REAL
) ;

Python:

def  vs.GetTrapeziumAttributes(roofObject, dormerID):
   return (useHeight, heightDepth, bottomWidth, useTopWidth, topWidth, leftSlope, rightSlope, topSlope)

Description:

Procedure GetTrapeziumAttributes returns the attributes of a trapezium dormer in the referenced roof.

Parameters:

roofObject Handle to roof.
dormerID Index of dormer element.
useHeight Returns if height setting was used to created dormer.
heightDepth Returns height or depth value.
bottomWidth Returns bottom width.
useTopWidth Returns whether top width was used to create dormer.
topWidth Returns top width.
leftSlope Returns left slope of dormer roof.
rightSlope Returns right slope of dormer roof.
topSlope Returns top slope of dormer roof.



  RemoveRoofEdge Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

FUNCTION   RemoveRoofEdge
(   roofObject :HANDLE;
    index :INTEGER
) :BOOLEAN ;

Python:

def  vs.RemoveRoofEdge(roofObject, index):
   return BOOLEAN

Description:

Function RemoveRoofEdge removes the specified roof edge from the referenced roof object.

Parameters:

roofObject Handle to roof.
index Index of roof edge to be removed.



  RemoveRoofElement Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   RemoveRoofElement
(   roofObject :HANDLE;
    id :INTEGER
) ;

Python:

def  vs.RemoveRoofElement(roofObject, id):
   return None

Description:

Procedure RemoveRoofElement removes the specified roof element from the referenced roof.

Parameters:

roofObject Handle to roof.
id Index of dormer element.



  SetBatAttributes Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   SetBatAttributes
(   roofObject :HANDLE;
    dormerID :INTEGER;
    useHeight :BOOLEAN;
    heightDepthValueDistance :REAL (Coordinate);
    bottomWidthDistance :REAL (Coordinate);
    topWidthDistance :REAL (Coordinate);
    baseHeightDistance :REAL (Coordinate);
    controlPointDistance :REAL (Coordinate);
    topAngle :REAL
) ;

Python:

def  vs.SetBatAttributes(roofObject, dormerID, useHeight, heightDepthValueDistance, bottomWidthDistance, topWidthDistance, baseHeightDistance, controlPointDistance, topAngle):
   return None

Description:

Procedure SetBatAttributes sets the attributes of a bat dormer in the referenced roof.

Parameters:

roofObject Handle to roof.
dormerID Index of dormer element.
useHeight Use height setting to create dormer element.
heightDepthValueDistance Height/depth distance.
bottomWidthDistance Bottom width.
topWidthDistance Top width.
baseHeightDistance Base height of bat.
controlPointDistance Offset distance of control point.
topAngle Slope of bat roof.

Example:

roofHandle := CreateRoof(TRUE,5 1/2",5 1/2",4,9.52627");
AppendRoofEdge(roofHandle,-77'10",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",21'4.81922",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-77'10",21'4.81922",#45°0'0",2'0",10'0");
batID := CreateBatDormer(roofHandle);
SetBatAttributes(roofHandle,batID,TRUE,5'0",10'0",4'0",6'3",2'0",#8°0'0");
SetDormerAttributes(roofHandle,batID,3,18'4",TRUE,3'0",63,FALSE,3'0");
SetDormerThick(roofHandle, 2",1.83333");



  SetDormerAttributes Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   SetDormerAttributes
(   roofObject :HANDLE;
    dormerID :INTEGER;
    edgeIndex :INTEGER;
    cornerOffsetDistance :REAL (Coordinate);
    isPerpOffset :BOOLEAN;
    perpOrHeightOffsetDistance :REAL (Coordinate);
    symName :LONGINT;
    centerSymbol :BOOLEAN;
    symOffsetDistance :REAL (Coordinate)
) ;

Python:

def  vs.SetDormerAttributes(roofObject, dormerID, edgeIndex, cornerOffsetDistance, isPerpOffset, perpOrHeightOffsetDistance, symName, centerSymbol, symOffsetDistance):
   return None

Description:

Procedure SetDormerAttributes sets the attributes of a roof element in the referenced roof.

Parameters:

roofObject Handle to roof.
dormerID Index of dormer element.
edgeIndex Index of roof edge.
cornerOffsetDistance Corner offset distance.
isPerpOffset Specifies perpendicular or height offset.
perpOrHeightOffsetDistance Perpendicular or height offset distance.
symName Index of dormer symbol.
centerSymbol Specifies if symbol is centered.
symOffsetDistance Symbol offset distance.

Example:

roofHandle := CreateRoof(TRUE,5 1/2",5 1/2",4,9.52627");
AppendRoofEdge(roofHandle,-77'10",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",21'4.81922",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-77'10",21'4.81922",#45°0'0",2'0",10'0");
shedID := CreateShedDormer(roofHandle);
SetShedAttributes(roofHandle,shedID,TRUE,6'0",10'0",2'0",#8°0'0");
SetDormerAttributes(roofHandle, shedID, 3,18'4",TRUE,3'0",63,FALSE,3'0");
SetDormerThick(roofHandle, 2",1.83333");



  SetDormerThick Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   SetDormerThick
(   roofObject :HANDLE;
    wallThickDistance :REAL (Coordinate);
    roofThickDistance :REAL (Coordinate)
) ;

Python:

def  vs.SetDormerThick(roofObject, wallThickDistance, roofThickDistance):
   return None

Description:

Procedure SetDormerThick sets dormer roof and wall thicknesses for the referenced roof.

Parameters:

roofObject Handle to roof.
wallThickDistance Wall thickness of dormer.
roofThickDistance Roof thickness of dormer.

Example:

roofHandle := CreateRoof(TRUE,5 1/2",5 1/2",4,9.52627");
AppendRoofEdge(roofHandle,-77'10",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",21'4.81922",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-77'10",21'4.81922",#45°0'0",2'0",10'0");
shedID := CreateShedDormer(roofHandle);
SetShedAttributes(roofHandle,shedID,TRUE,6'0",10'0",2'0",#8°0'0");
SetDormerAttributes(roofHandle, shedID, 3,18'4",TRUE,3'0",63,FALSE,3'0");
SetDormerThick(roofHandle, 2",1.83333");



  SetGableAttributes Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   SetGableAttributes
(   roofObject :HANDLE;
    dormerID :INTEGER;
    useHeight :BOOLEAN;
    heightDepthDistance :REAL (Coordinate);
    bottomWidthDistance :REAL (Coordinate);
    overhangDistance :REAL (Coordinate);
    leftAngle :REAL;
    rightAngle :REAL
) ;

Python:

def  vs.SetGableAttributes(roofObject, dormerID, useHeight, heightDepthDistance, bottomWidthDistance, overhangDistance, leftAngle, rightAngle):
   return None

Description:

Procedure SetGableAttributes sets the attributes of a gable dormer in the referenced roof.

Parameters:

roofObject Handle to roof.
dormerID Index of dormer element.
useHeight Use height setting to create dormer element.
heightDepthDistance Height/depth distance.
bottomWidthDistance Bottom width.
overhangDistance Overhang distance.
leftAngle Slope of left roof.
rightAngle Slope of right roof.

Example:

roofHandle:=CreateRoof(TRUE,5 1/2",5 1/2",4,9.52627");
AppendRoofEdge(roofHandle,-77'10",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",21'4.81922",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-77'10",21'4.81922",#45°0'0" ,2'0",10'0");
gabID:=CreateGableDormer(roofHandle);
SetGableAttributes(roofHandle,gabID,TRUE,6'0",10'0",2'0",#45°0'0",#45°0'0");
SetDormerAttributes(roofHandle,gabID,3,18'4",TRUE,3'0",63,FALSE,
3'0");
SetDormerThick(roofHandle, 2",1.83333");



  SetHipAttributes Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   SetHipAttributes
(   roofObject :HANDLE;
    dormerID :INTEGER;
    useHeight :BOOLEAN;
    heightDepthDistance :REAL (Coordinate);
    bottomWidthDistance :REAL (Coordinate);
    overhangDistance :REAL (Coordinate);
    leftAngle :REAL;
    rightAngle :REAL;
    frontAngle :REAL
) ;

Python:

def  vs.SetHipAttributes(roofObject, dormerID, useHeight, heightDepthDistance, bottomWidthDistance, overhangDistance, leftAngle, rightAngle, frontAngle):
   return None

Description:

Procedure SetHipAttributes sets the attributes of a hip dormer in the referenced roof.

Parameters:

roofObject Handle to roof.
dormerID Index of dormer element.
useHeight Use height setting to create dormer element.
heightDepthDistance Height/depth distance.
bottomWidthDistance Bottom width.
overhangDistance Overhang distance.
leftAngle Slope of left roof of dormer.
rightAngle Slope of right roof of dormer.
frontAngle Slope of front roof of dormer.

Example:

roofHandle := CreateRoof(TRUE,5 1/2",5 1/2",4,9.52627");
AppendRoofEdge(roofHandle,-77'10",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",21'4.81922",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-77'10",21'4.81922",#45°0'0",2'0",10'0");
hipID := CreateHipDormer(roofHandle);
SetHipAttributes(roofHandle, hipID,TRUE,6'0",10'0",2'0",#45°0'0",#45°0'0",#45°0'0");
SetDormerAttributes(roofHandle, hipID, 3,18'4",TRUE,3'0",63,FALSE,3'0");
SetDormerThick(roofHandle, 2",1.83333");



  SetRoofAttributes Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   SetRoofAttributes
(   roofObject :HANDLE;
    genGableWall :BOOLEAN;
    bearingInsetDistance :REAL (Coordinate);
    roofThickDistance :REAL (Coordinate);
    miterType :INTEGER;
    vertMiterDistance :REAL (Coordinate)
) ;

Python:

def  vs.SetRoofAttributes(roofObject, genGableWall, bearingInsetDistance, roofThickDistance, miterType, vertMiterDistance):
   return None

Description:

Function SetRoofAttributes sets the definition attributes of a roof object in a Vectorworks document.

Table - Roof Miter Styles

Miter Style Constant
Vertical 1
Horizontal 2
Double

3

Square

4

Parameters:

roofObject Handle to roof .
genGableWall Sets gable roof generation mode.
bearingInsetDistance Sets bearing inset distance.
roofThickDistance Sets roof thickness.
miterType Sets miter style.
vertMiterDistance Specifies vertical miter dimension.

Example:

PROCEDURE Example;
VAR
	thickness :REAL;
	str	:STRING;

PROCEDURE SetIt(h :HANDLE);
BEGIN
	IF GetObjectVariableInt(h, 172) = 1 THEN 
		SetObjectVariableReal(h, 170, thickness * 25.4);
END;

PROCEDURE FindRoofFaces(h :HANDLE);
VAR
	temp_h :HANDLE;
	roofObject :HANDLE; 
	genGableWall :BOOLEAN; 
	bearingInsetDistance, roofThickDistance :REAL; 
	miterType :INTEGER; 
	vertMiterDistance :REAL;
BEGIN
	IF GetType(h) = 71 THEN SetIt(h) ELSE
	IF GetRoofAttributes(h, genGableWall, bearingInsetDistance, roofThickDistance, miterType, vertMiterDistance) THEN
		SetRoofAttributes(h, genGableWall, bearingInsetDistance, thickness, miterType, vertMiterDistance);
END;

BEGIN
	thickness := RealDialog('Enter desired thickness', '10');
	str := Concat('((T=71) | (T=83)) & (L=''', GetLName(ActLayer), ''')');
	ForEachObject(FindRoofFaces, str);
END;
RUN(Example);



  SetRoofEdge Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   SetRoofEdge
(   roofObject :HANDLE;
    index :INTEGER;
    vertexPtX :REAL;
    vertexPtY :REAL;
    edgeAngle :REAL;
    projectionDistance :REAL (Coordinate);
    eaveHeightDistance :REAL (Coordinate)
) ;

Python:

def  vs.SetRoofEdge(roofObject, index, vertexPt, edgeAngle, projectionDistance, eaveHeightDistance):
   return None

Description:

Procedure SetRoofEdge sets the definition attributes of a roof edge for the referenced roof object.

Parameters:

roofObject Handle to roof.
index Index of roof edge.
vertexPt Coordinates of roof edge vertex.
edgeAngle Roof slope.
projectionDistance Eave overhang.
eaveHeightDistance Eave height.



  SetShedAttributes Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   SetShedAttributes
(   roofObject :HANDLE;
    dormerID :INTEGER;
    useHeight :BOOLEAN;
    heightDepthDistance :REAL (Coordinate);
    bottomWidthDistance :REAL (Coordinate);
    overhangDistance :REAL (Coordinate);
    topAngle :REAL
) ;

Python:

def  vs.SetShedAttributes(roofObject, dormerID, useHeight, heightDepthDistance, bottomWidthDistance, overhangDistance, topAngle):
   return None

Description:

Procedure SetShedAttributes sets the attributes of a shed dormer in the referenced roof.

Parameters:

roofObject Handle to roof.
dormerID Index of dormer element.
useHeight Use height setting to create dormer element.
heightDepthDistance Height/depth distance.
bottomWidthDistance Bottom width.
overhangDistance Overhang distance.
topAngle Top angle of dormer element.

Example:

roofHandle := CreateRoof(TRUE,5 1/2",5 1/2",4,9.52627");
AppendRoofEdge(roofHandle,-77'10",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",21'4.81922",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-77'10",21'4.81922",#45°0'0" ,2'0",10'0");
shedID := CreateShedDormer(roofHandle);
SetShedAttributes(roofHandle,shedID,TRUE,6'0",10'0",2'0",#8°0'0");
SetDormerAttributes(roofHandle,shedID,3,18'4",TRUE,3'0",63,FALSE, 3'0");
SetDormerThick(roofHandle, 2",1.83333");



  SetSkylight Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   SetSkylight
(   roofObject :HANDLE;
    skylightID :INTEGER;
    edgeIndex :INTEGER;
    cornerOffsetDistance :REAL (Coordinate);
    perpOffsetDistance :REAL (Coordinate);
    symName :LONGINT
) ;

Python:

def  vs.SetSkylight(roofObject, skylightID, edgeIndex, cornerOffsetDistance, perpOffsetDistance, symName):
   return None

Description:

Function SetSkylight sets the definition attributes of a skylight in the referenced roof object.

Parameters:

roofObject Handle to roof.
skylightID Index of skylight element.
edgeIndex Index of roof edge associated with skylight.
cornerOffsetDistance Offset of skylight from corner.
perpOffsetDistance Offset of skylight from roof edge.
symName Name of skylight symbol.

Example:

skylightID:=CreateSkylight(roofHandle);
SetSkylight(roofHandle,skylightID,6,13'8",2'1",Name2Index('dh2436'));

See Also:

Name2Index  



  SetTrapeziumAttributes Objects - Roofs 
VectorWorks8.0

VectorScript Declaration:

PROCEDURE   SetTrapeziumAttributes
(   roofObject :HANDLE;
    dormerID :INTEGER;
    useHeight :BOOLEAN;
    heightDpthDistance :REAL (Coordinate);
    bottomWidthDistance :REAL (Coordinate);
    useTopWidth :BOOLEAN;
    topWidthDistance :REAL (Coordinate);
    leftAngle :REAL;
    rightAngle :REAL;
    topAngle :REAL
) ;

Python:

def  vs.SetTrapeziumAttributes(roofObject, dormerID, useHeight, heightDpthDistance, bottomWidthDistance, useTopWidth, topWidthDistance, leftAngle, rightAngle, topAngle):
   return None

Description:

Procedure SetTrapeziumAttributes sets the attributes of a trapezium dormer in the referenced roof.

Parameters:

roofObject Handle to roof.
dormerID Index of dormer element.
useHeight Use height setting to create dormer element.
heightDpthDistance Height/depth distance.
bottomWidthDistance Bottom width.
useTopWidth Use top width to create dormer element.
topWidthDistance Top width.
leftAngle Left roof slope.
rightAngle Right roof slope.
topAngle Top roof slope.

Example:

roofHandle := CreateRoof(TRUE,5 1/2",5 1/2",4,9.52627");
AppendRoofEdge(roofHandle,-77'10",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",-25'3.18078",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle,-41'2",21'4.81922",#45°0'0",2'0",10'0");
AppendRoofEdge(roofHandle, -77'10",21'4.81922",#45°0'0",2'0",10'0");
trapID:=CreateTrapeziumDormer(roofHandle);
SetTrapeziumAttributes(roofHandle,trapID,TRUE,6'0",10'0",TRUE,6'0",#0°0'0",#0°0'0",#8°0'0");
SetDormerAttributes(roofHandle,trapID,3,18'4",TRUE,3'0",63,FALSE,3'0");
SetDormerThick(roofHandle, 2",1.83333");