VS:CreateLoftSurfaces

From Vectorworks Developer
Revision as of 04:44, 16 June 2019 by CBM-c- (talk | contribs) (fix and simplify example, which was giving errors)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

Description

Creates NURBS surfaces by interpolating a group of cross-section curves. The nurbs curves are lofted in the order in which they were added to the group.

FUNCTION CreateLoftSurfaces(
groupCurvesHd :HANDLE;
bRule :BOOLEAN;
bClose :BOOLEAN;
bSolid :BOOLEAN) : HANDLE;
def vs.CreateLoftSurfaces(groupCurvesHd, bRule, bClose, bSolid):
    return HANDLE

Parameters

groupCurvesHd HANDLE
bRule BOOLEAN
bClose BOOLEAN
bSolid BOOLEAN

Example

VectorScript

PROCEDURE Example;
VAR
	h, grH : HANDLE;
	x, y, z, offset : REAL;
	bRule, bClose, bSolid : BOOLEAN;
	
BEGIN
	x := 10m;
	y := 20m;
	z := 3m;
	offset := 5m;
	
	BeginGroupN(grH);
		h := CreateNurbsCurve(-x/2, 0, 0, true, 1);
		AddVertex3D(h, -x/2, y, 0);
		AddVertex3D(h, x/2, y, 0);
		AddVertex3D(h, x/2, 0, 0);

		h := CreateNurbsCurve(-x/2 -offset, 0, z, true, 1);
		AddVertex3D(h, -x/2 -offset, y +offset, z);
		AddVertex3D(h, x/2 +offset, y +offset, z);
		AddVertex3D(h, x/2 +offset, 0, z);
	EndGroup;
	
	bRule := TRUE;
	bClose := FALSE;
	bSolid := FALSE;
	
	grH := CreateLoftSurfaces(grH, bRule, bClose, bSolid);
END;
RUN(Example);

Python

def Example():
	PLENGTH = 10
	PHEIGHT = 20
	POFFSET = 5
	pWidth = 3

	vs.BeginGroup()
	
	h = vs.CreateNurbsCurve(-PLENGTH/2, 0, 0, True, 1)
	vs.AddVertex3D(h, -PLENGTH/2,PHEIGHT,0)
	vs.AddVertex3D(h, PLENGTH/2,PHEIGHT,0)
	vs.AddVertex3D(h, PLENGTH/2,0,0)

	h = vs.CreateNurbsCurve(-PLENGTH/2-POFFSET,0,pWidth, True, 1)
	vs.AddVertex3D(h, -PLENGTH/2-POFFSET, PHEIGHT+POFFSET, pWidth)
	vs.AddVertex3D(h, PLENGTH/2+POFFSET, PHEIGHT+POFFSET, pWidth);
	vs.AddVertex3D(h, PLENGTH/2+POFFSET, 0, pWidth);

	vs.EndGroup()
	
Example()

Version

Availability: from VectorWorks 10.0