Синтаксис

HANDLE SweepAndExtrude3d(HANDLE HSpace3d, HANDLE HObject3d, FLOAT Qp, FLOAT Qr, FLOAT Angle, FLOAT dx, FLOAT dy, FLOAT dz, FLOAT steps, COLORREF Color, FLOAT flags)


Описание

Функция создает трехмерную поверхность, на базе исходного трехмерного контура, вытягивая его в произвольном направлении и/или вращая вокруг заданной оси.


Параметры

Hspace3d

дескриптор трехмерного пространства

HObject3d

дескриптор существующего трехмерного объекта, или 0 если он должен создаться.

Qp

Матрица с точками - задает исходный контур. Матрица должна иметь ширину 3, количество строк определяет количество точек в контуре.

Qr

Матрица, задающая параметры вращения контура, или 0 если вращение не требуется. Угол задается переменной Angle.

Angle

Угол поворота.

dx, dy, dz

Смещение, или 0,0,0 если смещение не требуется

steps

Количество шагов, за которые необходимо достичь конечного положения 

Color

Цвет объекта.

flags

Различные флаги.
1 - все грани получаются видимыми

2 - грани рисуются без сглаживания


Пример

K:=3

HANDLE HSpace3d

  

 matrix:=mcreateMCreate (0,1,5,1,3,1) // матрица с точками

 rez:=MputMPut (~matrix,1,1,50,1)

 rez:=Mput(~matrix,1,3,-150,1)

 rez:=Mput(~matrix,2,1,50,1)

 rez:=Mput(~matrix,2,3,-100,1)

 rez:=Mput(~matrix,3,1,250,1)

 rez:=Mput(~matrix,3,3,-30,1)

 rez:=Mput(~matrix,4,1,250,1)

 rez:=Mput(~matrix,4,3,-25,1)

 rez:=Mput(~matrix,5,1,50,1)

 rez:=Mput(~matrix,5,3,0,1)

    

Qr:=mcreate(0,1,2,1,3,1) // матрица поворота

rez:=Mput(~Qr,2,3,1,1)

 

object:=SweepAndExtrude3d(~HSpace3d,#0,~matrix,~Qr,PI*2*~K,0,0,150*~K,21*~K,RGB(255,255,0),3)


Структурная схема:


Результат работы:



См. Пример в samples\api\sweep3d\project.spj

Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents