VS:CreateLoftSurfaces: Difference between revisions
Jump to navigation
Jump to search
m (1 revision) |
(fix and simplify example, which was giving errors) |
||
Line 50: | Line 50: | ||
<code lang="pas"> | <code lang="pas"> | ||
PROCEDURE Example; | PROCEDURE Example; | ||
VAR | VAR | ||
h, | h, grH : HANDLE; | ||
bRule, bClose, bSolid :BOOLEAN; | x, y, z, offset : REAL; | ||
bRule, bClose, bSolid : BOOLEAN; | |||
BEGIN | 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(- | 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; | |||
AddVertex3D(h, - | bRule := TRUE; | ||
AddVertex3D(h, | bClose := FALSE; | ||
AddVertex3D(h, | bSolid := FALSE; | ||
EndGroup; | grH := CreateLoftSurfaces(grH, bRule, bClose, bSolid); | ||
bRule := TRUE; | |||
bClose := FALSE; | |||
bSolid := FALSE; | |||
END; | END; | ||
RUN(Example); | RUN(Example); | ||
Line 109: | Line 109: | ||
----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ||
<version> | <version> | ||
Availability: from | Availability: from VectorWorks 10.0 | ||
</version> | </version> |
Revision as of 04:44, 16 June 2019
.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