Skip to content

Latest commit

 

History

History
96 lines (73 loc) · 2.24 KB

File metadata and controls

96 lines (73 loc) · 2.24 KB

AssociateLayerWithStory

Description

Associates a Layer with a Story. When a Layer is associated with a Story, the Layer's elevation is displayed relative to the Story elevation. If the elevation of the associated Story is changed, the elevation of the Layer changes with it.

FUNCTION AssociateLayerWithStory(
				layer : HANDLE;
				story : HANDLE): BOOLEAN;
def vs.AssociateLayerWithStory(layer, story):
    return BOOLEAN

Parameters

Name Type Description
layer HANDLE The Layer to associate.
story HANDLE The Story to associate.

Remarks

([[User:CBM-c-|c]], 2018.10.23): This needs the layer to be linked to a level with [[VS:SetLayerLevelType]] or it will fail. In the example below you have the sequence to make that work.

{ _c_ }

PROCEDURE TEST; VAR storyH, layerH : HANDLE; baseElev : REAL; storyN, layerN : STRING; i : INTEGER;

BEGIN baseElev := 0mm;

FOR i:=1 TO 3 DO BEGIN
	storyN := Concat('Story-', i);
	
	IF CreateStory(storyN, Concat('ABCD-', i)) = FALSE THEN
		AlrtDialog(Concat(storyN, ' Story creation failed'));
	
	storyH := GetObject(storyN);
	IF storyH <> NIL THEN BEGIN
		layerN := Concat('ABCD-', i, '-OG');
		layerH := CreateLayer(layerN, 1);

		IF layerH <> NIL THEN BEGIN
			IF SetLayerLevelType(layerH, 'OKF') = FALSE THEN
				AlrtDialog(Concat(layerN, ': SetLayerLevelType failed'))
			
			{ fails if the layer is not linked to a level }
			ELSE IF AssociateLayerWithStory(layerH, storyH) = FALSE THEN
				AlrtDialog(Concat(layerN, ': AssociateLayerWithStory failed'))
				
			{ fails if the story is not associated to a layer }
			ELSE IF SetStoryElevation(storyH, baseElev) = FALSE THEN { always mm }
				AlrtDialog(Concat(storyN, ': SetStoryElevation failed'));
		END;
		
		baseElev := baseElev +3000mm;
	END;
END;

END; RUN(TEST);

Examples

VAR

success:BOOLEAN;
story:HANDLE;
layer:HANDLE;

BEGIN

story := GetObject('4th Floor');
layer := GetObject('Plan 4');
success := AssociateLayerWithStory(layer, story);

See Also

VS Functions: GetNumStories | GetStoryOfLayer | CreateStory

Version

Availability: from Vectorworks 2012

Category

  • Layers