ФУНКЦИИ (методы*) для МАКРОПРОГРАММИРОВАНИЯ В СИСТЕМЕ "ВЕКТОР"

Новое: Сферическая геометрия
 
n/n Имя МКфункции и передаваемые/принимаемые параметры назначение Входные 
параметры
Выходные 
параметры
1 Set A = PointSfera(hr, dl, Rr, Fi) Точка на горизонтной сфере и сфере Мира  hr, dl, Rr, Fi - широта, долгота, радиус земли (в масштабе), угол поворота оси Мира  Искомая точка 
2 Set D=p(0,0,0) ‘пустышка 
Set Q =  Sf_treug (A.B,C,D) 
На выходе: в Q три 2-гранных угла, в D –  углы дуг
Расчет сферического треугольника:
А,B,C - вершины 
D - пустышка
На выходе: 
в Q три 2-гранных угла, 
в D –  углы дуг
3 Set K=  Per_line (n1, n2) 
n1 - номер 1-й линии 
n2 – номер 2-й линии
Пересечение двух линий n1 - номер 1-й линии 
n2 – номер 2-й линии
 Точка пересечения или ближайшая на 2-й линии к 1-й 
4  Ugol = Ugol_gug (A,O,B) Угол AOB  Точки A,O,B  Угол
5 polyline.sphere A, B, Rr 
polyline.SaveInDoc -1 
 
 Рисование  дуги малаго круга на сфере A,B - начало, конец дуги, R - радиус сферы Примеры
6 Set A = Loks(P(hr1, dl1, 0), P(hr2, dl2, 0)) 
 
Угол пеленга и длина локсодромии hr1, dl1 - начало дуги, hr2, dl2 - конец дуги
7 Set Ai = NGPOINT.Rotate(ugl, Otrezok) 
 NGPOINT.SaveInDoc
Вращение точки вокруг отрезка с возвратом значений точки Отрезок в активе, точка тут же задана и угол поворота ugl Otrezok.ss i1, i2  ' ось 
 Ngpoint.ss  p(F.x,-F.z,0) 
 Set Ai = NGPOINT.Rotate(-90, Otrezok) 
 NGPOINT.SaveInDoc 
 
8 Obj.TurnAround A, B, ugl Вращение сцены вокруг отрезка, заданного 2-мя точками A и B на угол (ugl) Две точки и угол
9 Text.sss P0, "t1", "Arial", 100 
 
Метод выцвода текста 
на экран
Точка привязки, текст, фонт, размер  Сам текст
10 Новые методы здесь
 

Примеры МК для работы  на сфере
6 упражнений на параллактическом треугольнике
Примеры новые
 


Изменили некоторые методы:
1) После методов и свойств преобразований объекта можно не  ставить SetH.
2) Вместо свойства Obj.Origin ввели метод: Obj.Translate P(x, y, z), где P - вектор переноса.
3) Вместо свойства Light.P покординатного ввели свойство Light.P P(x,y, z) - задается точкой
Внимание: в МК, где используется конструкция из 4 строчек
obj.origin(0) = s
obj.origin(1) = s
obj.origin(2) = s
obj.SetH
надо заменить на одну строчку
Obj.Translate P(x, y, z)

VBS объекты
 

 
n/n Имя макрофункции (МКФ) и передаваемые/принимаемые параметры Назначение Входные 
параметры
Выходные 
параметры
1. 1.1 Ngpoint.s 2,3,4 
1.2. Ngpoint.ss p(2,3,4) 
Set A =p (2,3,4) 
1.3.  Ngpoint.ss A 
1.4. Ngpoint.s A.x, A.y, A.z 
Задание и построение точки  /варианты/ Координаты точки  Нет
2 Точка с линиями связи - задается в диалоге
3 Set K = PointOtr(A, B, t) Точка K на прямой AB  Координаты начала и конца отрезка, t - параметр  Координаты искомой 
точки 
4 otrezok.s x1, y1, z1, x2, y2, z2 
Set A =p (2,3,4) 
Set B =p (5,4,2) 
otrezok.ss  A, B 
otrezok.s  A.x,A.y,A.y, B.x,B.y,B,z
Построение отрезка 
/варианты/
Координаты начала и конца отрезка  Нет
5 otrezok2.s n1,n2 
(Метод пока не реализован)
Построение отрезка Номера точек Нет 
6 krug.s x, y, z, r 
Set A =p (2,3,4) 
krug.s A.x, A.y, A.z, r
Построение окружности // xy Координаты центра и радиус Нет
Krug.ss O, R, N 3D-окружность - через центр (т.О), окружность (R), вектор нормали (N) Координаты центра О, радиус R и нормаль N Нет
 Set K = Krug.P(t) Точка на окружности от t  0 <= t <= 1 Точка K
7 Trian.s  x1,y1,z1, x2,y2,z2, x3,y3,z3 
Trian.ss A, B, C
Построение треугольника Координаты вершин  Нет
8 Parall.s  x1,y1,z1, x2,y2,z2, x3,y3,z3 
Set A =p (2,3,4) 
Set B =p (5,4,2) 
Set C =p (1,2,3) 
Parall.ss A, B, C
Построение паралелограмма Координаты вершин  Нет
Parall.SS2 P1, s1, s2, N Задание прямоугольника s1xs2 c вершиной в р1 и вектором нормали N Координаты вершины и нормали, а также значения велисчин сторон Нет
9 Pyramid.s x, y, z, s, n  Задание пирамиды Координаты точки привязки (не работают), высота пирамиды, номер основания 
10
11 Set A =p (2,3,4) 
Set B =p (5,4,2) 
S=DlinaOtr (A, B) 
Расчет длины отрезка  Координаты начала и конца отрезка,  S - расчитываемая длина отрезка
12 S=DistPointSline (A,B,C)  Расстояние от т.C до прямой AB Идентификаторы точек начала и конца отрезка и точки S - расчитываемое расстояние
Set K = PointPointSline (A, B,C)  Т. на прямой кратч. расстояния от С до AB   
13 S=DistPointPlane (A, B,C,D) Расстояние от т. D до плоскоcти ABC Идентификаторы точек плоскости и точки р4 S - расчитываемое расстояние
Set K = PointPointPlane (A, B,C,D) Т. в плоскости кратч. расстояния от D до пл. ABC 
14 S= NvTrian (A,B,C)  Н.в. площади треугольника  Координаты  точек-вершин треугольника  S - расчитываемая площадь 
15 S=NvParal(A,B,C) Н.в. площади параллелограмма Координаты  3-x точек-вершин  S - расчитываемая площадь
16 SetInvisibleAll Очистка экрана 
(объекты в структуре как невидимимые)
нет нет
Блок новых методов (09.2001)
1  Delay   t  Задержка изображения t = 0.04 соответствует 25 кадрам/сек нет
2 Otrezok.ss A,B 
n1 = LastNmb
Присвоение в n  номер объекта Д. б. задан 
геом. примитив
Номер примитива
3 n2 = InsertIn( n1 )  Вставить n2   внутрь группы n1  Пример
4 Dubl Дублирование активного объекта Д. б. задан 
геом. примитив
5 CurrObjNmb = n1 
 
Переопределение объекта в активный Д. б. ранее задан 
геом. примитив и его  номер (n1)
CurrObjStrNmb = "2.5" 
или 
CurrObjStrNmb = n1 & ".1"
Переопределение объекта в активный из группы где 2 - номер группы, а 5 - номер объекта внутри группы.
6 CurrObjNmb = LastNmb  Команда делает активной последнюю созданную линию Применять (наример) после задания линии полилинией
group_nmb = CurrObjNmb+1  Присвоение номера группы впереди-стоящей Пример длины полилинии по счету в группе
CurrObjStrNmb  = group_nmb & ".0"  делаем активным 1 объект в группе Пример 1, 2
7 Polyline.FromCurrObj  n  Задание всех линий ( и сглаженную)  полилинией 
(пример)
n - число выводимых точек на линии Полилиния
8 Polyline.FromCurrObj 55 
n1 = LastNmb 
n2 = LastNmb+1 
MoveToGroup n1, n2, "gr" 
Формирование группы, например, из импортируемых полилиний или создаваемых n1 - c какого отр. помещать в группу; 
n2 - по какой отр; помещать в группу; 
gr - имя группы
9 Obj.TurnAround p1,p2, f Вращение активного объекта вокруг отрезка р1-р2 на угол f Объект или группа, точки p1, p2;  f  - угол в градусах Чтобы остался старый объект, применять dubl 
Пример
10 Import "E:\Oxk\Komp1.dxf",1 
CurrObjNmb = 1 
SetFillColor 250, 0, 0  (и т.д.)
Импортировать полилинию и  залить цветом Пример Рис.
11 SaveImage "tst.bmp" Сохранить окно в формате .bmp  Требуется   выполнить obj.scale=1
 

Преобразования
 
n/n Имя МКфункции и передаваемые/принимаемые параметры назначение Входные 
параметры
Выходные 
параметры
17 Масштаб 
obj.scale=s* 
Вращение 
obj.xAngle=s 
obj.yAngle=s 
obj.zAngle=s 
Сдвиг 
obj.origin(0) = s 
obj.origin(1) = s 
obj.origin(2) = s 
obj.SetH 
Внимание 4 cтрочки выше заменили на одну 
Obj.Translate P(x, y, z)  
(октября 2003 г. работать не будет 
 

Преобразовать все объекты  
obj.All = True 
(или: obj.All = 1) 
Отменить преобразования всех объектов  
obj.All = 0 



Симметрия относительно той или иной коорд. плоскости 
Obj.SaveOriginal = True 
Параметры по порядку: 
Obj.Reflect 3 ' YZ 
1) плоскость : 1 - XY; 2 - XZ; 3 - YZ 


Поворот* с сохранением объекта 
Obj.zAngle = 90 
Obj.SaveOriginal = True 
Obj.SetH 
* Также и для масштаба 


Масштабирование по х, y, z - в отдельности и задания вектора нормали 
Obj.Uniform = False 
Obj.Scale = 2 
Obj.ScaleY = 3 
Obj.ScaleZ = 4 
Obj.Normal = p(0,-1,0) 
Obj.SetH 
* Для изменения вида вместо Obj использовать сs 
  cs.scale = 1 
  cs.xAngle = 0 
  cs.yAngle = 0 
  cs.zAngle = 0 
  cs.origin(0) = 0 
  cs.origin(1) = 0 
  cs.origin(2) = 0 
  cs.perspect = 0 
Чтобы не писать три строки: 
cs.Porigin =P(3,4,5) 
Режим Экранной СК 
cs.SCSMode=True - вкл. режим 
cs.SCSMode=False - выкл. режим
Масштаб 
Вращение 
Сдвиг 
Установка 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

При включенном режиме cs.Porigin задаёт сдвиг в Экранной СК, т. е., если как угодно повернул оси и хочешь потом переместить начало строго вглубь, то надо писать: 
cs.SCSMode=True 
cs.Porigin = P(0, 0, 100) 'например, на 100 вглубь 
cs.SCSMode=False

 
Cs.StdCsName = "XZ" установить стандартную СК - XZ (вид спереди)
18 OrtTrans m,n Преобразование 
отрезка прямой в проецирущее положение к КП 
m - номер КП 
n - номер отрезка
Нет
19 OtrezokToOtrezok m,n Преобразование 
отрезка прямой на другой отрезок
m - номер 1-го отрезка, 
n - номер 2-го отрезка
Нет
20 PlaneTrans m,n  Преобразование 
треугольникака или параллелограмма в  положение, параллельное  КП 
m - номер КП, 
n - номер плоскости
Нет
21  PlaneToPlane m,n  Преобразование 
плоскости в плоскость
m - номер 1-й плоскости, 
n - номер 2-й плоскости
Нет
 

Другие функции
 
n/n Имя МКфункции и передаваемые/принимаемые параметры назначение Входные 
параметры
Выходные 
параметры
22 Import "Rnew12.dxf", n  Импортирование кривой из текущей директории*, 
параметр n (0,1) указание вложения в подструктуру ( 0 - внутри ее, 1 -  вне)
Имя .dxf файла  Изображение кривой
23 Import "C:\cg8n\krug1.dxf",n  
 
Импортирование кривой не из текущей директории параметр n (0,1) указание вложения в подструктуру ( 0 - внутри, 1 - вне)
- // -
Кривая/кривые
24 VBSMsg "Длина = " & S  Вывод сообщений расчетов  в окно диалога Имя и значение рассчитываемого параметра  Сообщение в окне диалога 
25 VBSMsg "Периметр = " & s _ & "Площадь = " &  s1 Вывод нескольких сообщений (знак  "_"  (ставится в конце верхней строки) - в VBS перенос строки в тексте МК)
- // -
Сообщение в окне диалога 
VBSMsg "Периметр = " & s _ & vbCrLf  & "Рост = " &  s1 Здесь конструкция с переносом при выводе на экран
VBSMsg "Точка: Aх =  " & x & " Ay =  " & y & "   Az =  " & z Конструкция вывода координат точки
VBSMsg    s1 Можно и так
 * лучше указывать полный путь, т.к. при первом вызове (открыть файл) системы дает сбой и  надо МК вызывать через команду "Макрокоманда"

 

 Новые методы-функции
 
n/n Имя МКфункции и передаваемые/принимаемые параметры назначение Входные 
параметры
Выходные 
параметры
26 Set D = Parall.P4  Вычисление 4-точки параллелограмма - вычисляется  сразу после построения параллелограмма  Ранее построенный параллелограмм Координаты т. D 
D.x, D.y, D.z 
27 Set S = Pyramid.Top 
 
Вычисление вершины  пирамиды,  вычисляется сразу после построения пирамиды
Ранее построенная пирамида
Координаты вершины S 
S.x, S.y, S.z 
29 Parallped.ss A, B, C, D Задание параллепипеда 
4-мя точками 
Идентификаторы 4-х точек  Нет
30 Parallped.ss2 A, s1, s2, s3 Задание прямого параллепипеда 
точкой привязки и тремя размерами
Вершина и три размера Нет
 

Продолжаем добавление методов (пока без систематизации) по мере их подготовки
12.03.2001 произошли изменения задания поллилинии: в любом случае строка
Polyline.SaveInDoc
должна иметь вид
Polyline.SaveInDoc ( ngroup ) и кроме того можно создавать полилинию в группе, для этого перед заданием полилинии д.б. строки
CreateGroup
ngroup = GetLastNmb
 
n/n Имя МКфункции и передаваемые/принимаемые параметры назначение Входные 
параметры
Выходные 
параметры
31  Polyline.Reset 
 Polyline.AddP A1 
 Polyline.AddP A2 
...... 
 Polyline.AddP An 

 Polyline.SaveInDoc ( ngroup ) 
 Polyline.Draw

 В МК задание полилинии A1-An Точки, например: 
Set A1=p(1,3,2)
 Отрисованная ломаная линия
32  Polyline.Reset ' Обнулить  Ставить перед заданием новой полилинии
Нет
 Нет 
CreateGroup 
ngroup = GetLastNmb
Задание поллилинии в группе, ставить перед заданием полилинии
33 LinPov.BaseNmbU0 = 0 
LinPov.BaseNmbU1 = 1 
LinPov.Nu = "12" 
LinPov.Nv = "12" 
LinPov.CutThrowNodes = True 
LinPov.SaveInDoc 
LinPov.Draw
Задание  лин. поверхности по двум образующим -полилиниям, созданным (см.31) или импортируемым в формате .dxf  Номера полилиний, число сечений по Nu и Nv/ или условие: LinPov.CutThrowNodes = True, строит сечения Nv по узловым точкам  Построенная поверхность
34 RoundPov.BaseNmb = 0 
RoundPov.Nu = 12 
RoundPov.Nv = 12 
RoundPov.CutThrowNodes = True 
 RoundPov.SaveInDoc 
 RoundPov.Draw 
 
Задание  поверхности вращения по образующей -полилиниям, созданным (см.31) или импортируемым в формате .dxf  Номер полилинии, число сечений по Nu и Nv/ или условие: RоundPov.CutThrowNodes = True, строить сечения Nv по узловым точкам  Построенная поверхность
35 ToPolylineArt n1, n2 Преобразование полилинии в художественную линию n1 - число щагов вперед 
n2 - число шагов назад (меньше n1)
Отрисованная  линия
 

Методы, связанные с отрезком
 
n/n Имя МКфункции и передаваемые/принимаемые параметры назначение Входные 
параметры
Выходные 
параметры
36 Set  N = VecOtr (A,B)  Определение направление вектора отрезка A-B Точки A,B Параметры (координаты) вектора N 
37 Set K = PointOtrS (A, B, S1)  точка К на прямой на расстоянии s1 от начала 
Точки A, B и расстояние s1
 Координаты искомой точки 
38  Set   M = PointOtrX (A, B, M)  Определение точки M  на прямой от аргумента х Точки A, B и в т. М соответсвующий аргумент Координаты искомой точки М
39 Set   M = PointOtrY (A, B, M)  Определение точки M  на прямой от аргумента y   Точки A, B и в т. М соответсвующий аргумент Координаты искомой точки М
40 Set   M = PointOtrZ (A, B, M)  Определение точки M  на прямой от аргумента z Точки A, B и в т. М соответсвующий аргумент Координаты искомой точки М
41 Set D = OrtOtrFrontal (A, B, С, s1)  Перпендикуляр-фронталь (длины s1) к  отрезку общего положения AB в т. С Точки A, B, C и длина s1 Точка конца искомого перпендикуляра 
42 Set D = OrtOtrGorizontal (A, B, С, s1)  Перпендикуляр-горизонталь к отрезку общего положения AB в т. С длины s1 Точки A, B, C и длина s1 Точка конца искомого перпендикуляра
43 Set D = OrtOtrProfil (A, B, C, s1)  Перпендикуляр-профильная прямая к отрезку общего положения AB в т.С (длины s1) Точки A, B, C и длина s1 Точка конца искомого перпендикуляра
44 Set D = OrtToFrontal (A,B, C, D) Перпендикуляр к фронтали из ее т. С в направлении к D Точки A, B, C и гор. проекция D  Т. D
45 Set D = OrtToGorizontal (A,B, C, D) Перпендикуляр к горизонтали из ее т. С в направлении к D Точки A, B, C и фронт. проекция D Т. D
46 Set D = OrtToProfil(A,B, C, D) Перпендикуляр к профильной из ее т. С в направлении к D Точки A, B, C и фронт. проекция D Т. D
47 Set D=Gorizontal (A, B,C,D)  Горизонталь AD в плоскости ABC A, B, C - т. плоскости и в D значение х конца горизонтали  Точка конца искомой горизонтали
48 Set D=Frontal (A, B,C,D)  Фронталь AD в плоскости ABC A, B, C - т. плоскости и в D значение х конца горизонтали Точка конца искомой горизонтали 
49 Set Ps = LinSkata (A, B,C)  Линия ската B-Ps в плоскости АВС A, B, C - т. плоскости Т. конца линии ската на  горизонтали пл.
50 Set k = PerOtrxy (A, B, C, D) Найти т. К пересечения отрезов по гориз. проекции  A, B - т. 1-го отрезка; C, D - 2-го, причем у т.  D определяющими являются координаты на гор. плоскости Точка пересечения
51 Set k = PerOtrxz (A, B, C, D) Найти т. К пересечения отрезов по фронт. проекции A, B - т. 1-го отрезка; C, D - 2-го, причем у т.  D определяющими являются координаты на фронт. плоскости Точка пересечения
52 Set k = PerOtryz (A, B, C, D) Найти т. К пересечения отрезов по проф. проекции A, B - т. 1-го отрезка; C, D - 2-го, у т.  D определяющими являются координаты на проф. плоскости Точка пересечения
53 Set D=PointPlaneXY (A, B,C,D)  D - точка в плоскости ABC на XY от xz A, B, C - т. плоскости, у D определяющими являются координаты на XZ T. D
54 Set D=PointPlaneXZ (A, B,C,D) D - точка в плоскости ABC на XZ от xy A, B, C - т. плоскости, у D определяющими являются координаты на XY T. D
55 Set D=PointPlaneYZ (A, B,C,D) D - точка в плоскости ABC на YZ от xz A, B, C - т. плоскости, у D определяющими являются координаты на XZ T. D
56 Set K=PointDistPlane (A,B,C,D,s) т. K на расстояние s от т. D в плоскости  ABC A, B, C,D - т. плоскости, s  - длина перп-ра T. K
Set N = NormPlosk (A,B,C) Вектор нормали к плоскости A,B,C A, B, C- т. плоскости N - искомый единичный вектор
57 Set D = ParalOtr(A, B, C) D - вторая точка отрезка CD, параллельного и равного AB  A, B, C - точки т. D
58 Set E = P(0, 0, 0) ' пустышка 
Set F = ParalPlane (A,B,C,D,E)
Плоскость DEF, параллельная ABC, D - т. привязки 2-й плоскости, E - пустая заготовка A, B, C,D - точки 
E - пустая заготовка
т. E и F
59 Set F=P(0, 0, 0) ' пустышка 
Set G=OrtPlaneOtr(A,B,C,F) 
Плоскость C,F,G перпенд. AB  A,B - прямая, 
С - точка плоскости и прямой
точки F и G
60 Set K=PerSlinePlane (A,B,C,D, F) 
 
Пересечение прямой DF с плоскостью ABC A, B, C, D, F  т. K
61 Set O=CentrDuga3p (A,B,C) Центр дуги (окружности) через три точки) A, B, C - три точки т.О - центр
62 R = RadiusDuga3p (A,B,C) Радиус дуги (окружности) через три точки) A, B, C - три точки R - искомый радиус
63 Set N=p(0,0,0) ' пустышка  Set Set K = PointOtrOtr(A,B,C,D,N)  Кратчайшее расстояние между двумя прямыми AB и CD Точки A,B,C,D N и K - искомые точки
65 Set O=Sfera4p(A,B,C,D) Центр сферы через A,B,C,D, не лежащих в одной плоскости Точки A,B,C,D т.О - центр сферы
66 R=DistSfera4p(A,B,C,D) Радиус сферы через A,B,C,D, не лежащих в одной плоскости Точки A,B,C,D R -  радиус сферы
 
 
 

Как бы системные методы: толщина линий, цвет, заливка, текст, номер
 
n/n Имя метода и передаваемые/принимаемые параметры Назначение Входные 
параметры
Выходные 
параметры
67 Width=220  Толщина линий Миллиметры в относительных размерах мм/100 Линия соответствующей толщины
68 SetColor 70,120,220  Цвет линии
 
Линия соответствующего цвета
69 SetWidthColor n1, n2, n3, n4 Толщина и цвет  n1- толщина (мм/100),  n2-количество красного, n3-количество зеленого, n4-количество синего Линия соответствующей толщины и цвета
70 Polyline.SetFillColor n1, n2, n3 Заливка цветом замкнутой и не замкнутой (замыкается автоматически) полилинии. Ставится перед 
 Polyline.SaveInDoc
n1- количество красного(0-256), 
n2- количество зеленого(0-256), 
n3- количество синего(0-256), 
 
Область, ограниченная полилинией, соответствующего цвета 
71 SetFillColor n1, n2, n3 Заливка цветом замкнутой и не замкнутой (замыкается автоматически) линии, полилинии и  всех тел n1- количество красного(0-256), 
n2- количество зеленого(0-256), 
n3- количество синего(0-256)
Область, ограниченная линией, соответствующего цвета 
Parall.SetNuNvFillColor Nu, Nv, n1, n2, n3 
 
Задание числа линий и цвета (Nu и Nv д.б. равны 0 или 1)  в параллелограмме Nu,Nv - количество сечений; 
n1,n2,n3 - цвет заливки
Trian.SetNuNvFillColor Nu, Nv, n1, n2, n3 Задание числа линий и цвета (Nu и Nv д.б. равны 0 или 1)  в треугольнике Nu,Nv - количество сечений; 
n1,n2,n3 - цвет заливки
71 Set A = p(0,0,0) 
Text.ss A, "А"
Вывод текста (буквы А) к точке привязки A 
Точка A - ее координаты и в кавычках текст 
 Текст (тот, что в кавычках)
72 Otrezok.ss A,B 
n = LastNmb
Присвоение в регистр n  номера последнего (перед командой) геометрического объекта Перед свойством должен быть задан геометрический примитив Номер примитива
 
 
 

Новые методы
 
n/n Имя метода и передаваемые/принимаемые параметры Назначение Входные 
параметры
Выходные 
параметры
73 Set K = p(1,1,0) 
Set A = RoundPov.Proj(K)
Точка A на поверхности вращения от ее K.x и K.y Вычисляется сразу после задания поверхности  Коорд. x,y т. K, z - задается произвольно  Т. A - все ее три координаты
74 Set A = LinPov.P (u, v)  Точка A на линейчатой поверхности от параметров  u и v. Вычисляется сразу после задания поверхности 
Значение параметров u,v 
(0 <= u,v <=1) 
Т. A
75 Set A = RoundPov.P (u, v) Точка A на поверхности вращения от параметров  u и v. Вычисляется сразу после задания поверхности
 Значение параметров u,v 
(0 <= u,v <=1) 
Т. A
76 Set N = LinPov.P (u, v) Нормаль (ед. вектор) к линейчатой поверхности в ее точке с параметрами (u,v)
Значение параметров u,v 
(0 <= u,v <=1) 
Вектор нормали N
77 Set N = RoundPov.N (u, v) Нормаль (ед. вектор) к  поверхности вращения в ее точке с параметрами (u,v)
 Значение параметров u,v 
(0 <= u,v <=1) 
Вектор нормали N
78 Set A = Parall.P(0.5, 0.5) Точка A на поверхности параллелограмма от u и v. Вычисляется сразу после задания поверхности 
Значение параметров u,v 
(0 <= u,v <=1) 
Т. A
79 Set A = Trian.P(0.5, 0.5) Точка A на поверхности треугольника от u и v. Вычисляется сразу после задания поверхности 
Значение параметров u,v 
(0 <= u,v <=1) 
Т. A
80 Set N = NormPlosk (A,B,C) Вектор нормали N к плоскости A,B,C (параллелограмма или треугольника) Т. A,B,C Ед. вектор 
нормали N
81 Set A = Polyline.P (t) Точка А на полилинии от параметра t 
Вычисляется после задания полилинии 
Значение параметра t 
(0 <= t <=1) 
Т. A
82 Set T = Polyline.T (t) Ед. вектор T касательного отрезка на полилинии от параметра t. 
Вычисляется после задания полилинии 
Значение t 
(0 <= t <=1) 
Ед. вектор T 
касательного отрезка
83 C6sides.ss A,B,C,D, A1,B1,C1, D1  Произвольный шестиганник и все производные фигуры от него A,B,C,D - т. 1-го основание 
A1,B1,C1,D1 - т. 2-го основания 
 
Нет
84 Lagr4.ss p1, p2, p3, p4  Интерполяционная кривая через 4 точки p1, p2, - начальная и конечные точки кривой;  p3, p4 - средние точки
85 Kvadr.ss p1, p2, p3, s  Квадратичная кривая p1, p2, - начало и конец кривой,  s- полнота кривой; s=0.5 - кружность, s > 0.5 - гипербола, s < 0.5 - парабола
86 CubBez.ss p1,p2,p3,p4,s  Кривая Безье p1, p2, - начальная и конечные точки кривой;  p3, p4 - характеристические точки, s - полнота кривой
87 Sinus.ss p1, R, s1, s2 Синусоида р1 - центр, R - радиус, s1, s2 - начальный и конечный угол 
88 Kulak.ss p1, s1, s2, n Кулачок р1 - центр, s1 - внешний радиус, s2 - разность между внешним и внутренним радиусом, n - число выступов 
89 Set K = PerOtr3D (p1, p2, p3, p4) Пересечение 2-х прямых, лежащих в плоскости общего* положения 
* В частном случае может не работать
p1, p2 - начало и конец 1-го отрезка; p3, p4 - начало и конец 2-го отрезка т.К - пересечения 
прямых
90 Arc.ss p1, r1, r2, s1, s2, N, s3 Задание дуги окружности или эллипса p1-центр, r1, r2 - радиусы;  s1- начальный угол,  s2- конец дуги, N -нормаль плоскости дуги,  s3-угол поворота горизонтальной оси
91 RoundPov.Cone p1, R, h, N* 
 
Задание конической поверхности вращения p1 - центр основания, 
R - радиус основания, 
h - высота конуса, 
N - вектор оси
92 Set O1 = p(0,0,0) 
Set N1 = p(0,1,0) 
RoundPov.Cone2 O1,r1,r2,h,N1
Задание усеченного 
конуса
O1 - центр основания, 
r1, r2 - радиусы оснований, 
h - высота, 
N - вектор оси
93 RoundPov.Nu = 12 
RoundPov.Nv = 12 
RoundPov.Cyl  p1, R, h, N
Задание цилиндра p1 - центр основания, 
R - радиус основания, 
h - высота цилиндра 
N - вектор оси
94 LinPov.Nu = "22" 
LinPov.Nv = "22" 
linpov.Cyl  p1,  h,  N,  n99
Обобщенный цилиндр  p1 - точка привязки (не работает), 
h - высота, 
N - вектор нормали, 
n99 - номер полилинии  образующей Обобщ.ц.
Пример
Set K=Bissektor(A,B,C,D) Задание биссекторной плоскости ABK 2-гранного угла A,B - общее ребро
Обобщ. усеч. конус 
(через МК для полилиний, создаваемых пользователей)
Плоскостное преобразование полилинии, создаваемой пользователем к точкам схода через МК 
* Примечание. В случае задания перед конусом поверхности  вращения, необходимо перед вызовом конуса ставить строки, указывающие число сечений:
RoundPov.CutThrowNodes = False
RoundPov.Nv =10 ' (любое число - иначе останется старое Nv)

Задание шриховых, штрих-пунктирных линий, линий со стрелками можно выполнять через МК (см. в примерах), которые "подстегиваются" к МК, в которой используются эти линии. Таким образом, можно расширить ассортимент задания линий и их использовать по мере надобности. Формирование линий в МК как полилинии имеет преимущество в том, что эти линии можно преобразовывать в художественные.
 
 
 

Методы решения задач на плоскости

 
n/n Имя МКфункции и передаваемые/принимаемые параметры Назначение Входные 
параметры
Выходные 
параметры
95  Set K = Compl.PointArc (p1,p2,s,t)  Вычисление точки на дуге или на отрезке р1, р2- начало, конец дуги, s - центральный угол, t - параметр т. K - точка на дуге
96 Set O = Compl.Centr (p1, p2, s) Расчет центра дуги  р1, р2- начало, конец дуги, s - центральный угол т. О - центр дуги
97 R = Compl.Radius (p1, p2, s) Расчет радиуса дуги р1, р2- начало, конец дуги, s - центральный угол R - радиус дуги
98 Set K = Compl.PerDugDug (p1,p2,s1,p3,p4,s2)  Пересечения 
2-х дуг, дуги и отрезка,  отрезков
p1,p2,s1, p3,p4,s2 т. K - точка пересечения
99 Set K = Compl.PerPerDug2 (O1,s1,s2,R1, O2,s3,s4,R2) Пересечения 
2-х дуг - 2-й способ
O1,s1,s2,R1, O2,s3,s4,R2 т. K - точка пересечения
100 Set A = Compl.PerDugOtr 
(O1,s1,s2,R1, p1,p2)
Пересечения 
дуги и отрезка
O1,s1,s2,R1, 
p1,p2
т. K - точка пересечения
101 Set p2 = Compl.KasDugOtr 
(O1, s1, s2, R, p1)
Построение касатетельной к дуге O1, s1, s2, R, p1 p2 - точка касания 
102 Set K2 = Compl.KasOtr2dug(p11,p12,s1, 
p21,p22,s2,K1) 
 
Отрезок, касательный 2-х дуг, заданных началом, концом и центральным углом p11, p12, s1, 
p21, p22, s2, 
K1- сначала задать 
K1, K2 - точки касания
103 Set K2 = Compl.Kas2Otr2dug(O1,s1,s2,R1, 
O2,s3,s4,R2,K1)
Отрезок, касательный 2-х дуг, заданных центрами, начальными и конечными углами дуги, радиусами  O1,s1,s2,R1, 
O2,s3,s4,R2, 
K1 - сначала задать пустую
K1,K2 - точки касания
104 Set K2 = Compl.KasDug2dug(p11,p12,s1, p21,p22,s2,R,K1) 
(метод недоделан)
Касание дугой двух объектов K1, K2 - точки касания
 
105  Распечатка данных в файл testfile.txt на диск С
Dim fso, MyFile
L = 45
с = 2
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
MyFile.WriteLine("Длина болта L = " & L )
MyFile.WriteLine("Фаска  c = " & c )
MyFile.Close
Методы расчета, выборки размеров и отрисовки болта, гайки, шпильки и их соединений
 
n/n Имя МКфункции и передаваемые/принимаемые параметры назначение Входные 
параметры
Выходные 
параметры
106 Set kde = p (0,0,0) 
Set bsc = p (0,0,0) 
L = Bolt (h1,h2,d, kde,bsc)
Расчет длины болта, выборка из таблиц других его размеров и отрисовка h1,h2-толщины соединяемых деталей 
d - номинальный диаметр метрической резьбы (d=6, 8, 10,12, 16, 18, 20, 24,30, 36,42,48)
L - длина болта, 
kde.x  - высота головки болта 
kde.y - диаметр фаски головки 
kde.z - jпис. диаметр e 
bsc.x -' длина резбы болта b 
bsc.y  - размер под ключ S 
bsc.z  - высота фаски c 
 
107 Set р1 = p (0,0,0) 
Set р2 = p (0,0,0) 
S = Gaika (d, р1,р2) 

 
 

Выбор размеров гайки и отрисовка ее каркаса линий d-номинальный диаметр резьбы 
и резервируются две переменных типа точки p1,p2
S - размер "под ключ" 
р1.x -опис. диаметр 
р1.y-высота 
p1.z - диаметр фаски 
р2.x - диаметр фаски резьбы 
р2.y-вн. диаметр резьбы 
p2.z - шаг
108 Set p1 = p (0,0,0) 
Set p2 = p (0,0,0) 
L = Bltsd (d, h1, h2, p1, p2) 

 

Расчет и отрисовка упрощенного 
болтового соединения
h1,h2-толщины соединяемых деталей 
d - номинальный диаметр метрической резьбы (d=6, 8, 10,12, 16, 18, 20, 24,30, 36,42,48)
L - длина болта, 
p1.x  - размер под ключ S 
p1.y - высота головки болта 
p1.z-описанный диаметр e 
p2.x - наружный диаметр шайбы 
p2.y - высота гайки 
p2.z-высота шайбы 
109 Set bkc = p (0,0,0) 
L = Hpilka (h,d, bkc) 
Расчет длины шпильки, выборка из таблиц его других размеров и отрисорвка h-толщина соединяемой детали 
d - номинальный диаметр резьбы (d=6, 8, 10,12, 16, 18, 20, 24,30, 36,42,48)
L - длина шпильки, 
bkc.x -  длина резбы b под гайку 
bkc.y - длина резбы в гнездо 
bkc.z  - высота фаски c 
 
110 Set p1 = p (0,0,0) 
Set p2 = p (0,0,0) 
L = Shpsd (h,d, p1,p2) 

 

Расчет и отрисовка упрощенного 
шпилечного соединения
h-толщина присоединяемой детали 
d - номинальный диаметр резьбы 
p1,p2-переменные 
типа точка
L - длина шпильки 
p1.x  -описанный диаметр гайки 
p1.y - высота гайки 
p1.z-размер под ключ 
p2.x -диаметр шайбы 
p2.y - высота шайбы 
p2.z- выступающ. часть шпильки 
  Методы задания других форм деталей


111. Построение линии пересечения двух цилиндров у которых оси лежат в плоскостях параллельных фронтальной плоскости и взаимно перпендикулярны. Центр вертикального цилиндра может "гулять" как в пределах очерка второго цилиндра на виде сверху, так и выходить. (см. рис.1, рис.2, рис.3 )
Percyl c1, c2, r1, r2, h1, h2
где
 Percyl - имя метода (функции)
c1 - центр вертикального цилиндра
c2 - центр горизонтального  цилиндра
r1 - радиус вертикального цилиндра
r2 - радиус горизонтального  цилиндра
h1, h2  - высоты цилиндров


112. Построение линии пересечения вертикального цилиндра и сферы. Центр цилиндра может "гулять"  в пределах очерка на виде сверху сферы или его касаться (см. рис.).
Передаваемые параметры и обращение к методу
Set C1 = p(1.41,1.41,-4.5) - центр цилиндра
Set C2 = p(0,0,0)  - центр сферы
r1=2  ' радиус цилиндра
r2=4 ' радиус сферы
h1=9 ' высота цилиндра
Persf С1, С2, r1, r2, h1  ' обращение к методу

Новые методы (22.11.2002)
 
n/n Имя МКфункции и передаваемые/принимаемые параметры Назначение Входные 
параметры по 
порядку
Выходные 
параметры
113 MoveToGroup nbeg, nend, "Йети"   ' - название группы  Создание группы nbeg=LastNmb+1 - начало группы 
nend=LastNmb +1   -   конец 
В структуре будет объект с названием Йети
114 LineWithOtr.SS 0, 1, False, True, False, 1, 3, V, 0, 0, 0, 0, 0, 0, 0.1 Линия с отрезками 
(МК)
1) номер линии/группы 
2) направление (0 - по касат., 1 - по нормали и т. д.) 
3) случ. угол 
4) случ. длина 
5) "Обратное" 
6) Мин. длина 
7) Макс. длина 
8) Постоянный вектор 
9) Угол X от 
10) Угол X до 
11) Угол Y от 
12) Угол Y до 
13) Угол Z от 
14) Угол Z до 
15) шаг по t
115 PolylineArt.Meditate 2, 3, True, 1, 55, 2, 0., 100  Медитация 
(МК)
1) число шагов назад 
2) число шагов вперёд 
3) "обратный ход" 
4) число циклов 
5) число отрезков 
6) масштаб 
7) макс. угол 
8) задержка (в мсек)
116 Animate 0, 1, False, 1., 2., 0., 0., 0., 0., 0., 0., 0.1 Анимация 
(МК)
1) номер линии 
2) число циклов 
3) "Обратное" 
4) скорость 
5) масштаб 
6) Угол X от 
7) Угол X до 
8) Угол Y от 
9) Угол Y до 
10) Угол Z от 
11) Угол Z до 
12) шаг по t
117 Polyline.Reset 
Polyline.SaveInDoc ( -1 ) 
n2 = LastNmb 
CurrObjNmb = n2  ' активизирую 2-ю полилинию 
Polyline.AddP TT ' cтроим 
UpdateCurrObj ' модифицирую активный объект (2-ю полилинию) 
 
Задание второй полилинии при активной первой МК
118 PolylineSmooth.SS 0, 0, 0.5, 1.0 Сглаживание полилинии или  группы (МК) 1) номер линии или группы 
2) тип сглаживания (0 - квадратич., 1 - Безье и т. д.) 
3) параметр управления 
4) радиус
Пример
119 PolylinesByZ 0, 1.0 Разброс линий 
по z
1) номер линии или группы 
2) шаг по Z
120
PolyPov.Reset 
PolyPov.SS p(0,0,0), 0, 20, 20, False, False
Задание полиповерхности 1) т. привязки 
2) номер группы 
3) число U-линий 
4) число V-линий 
5) флаг - проводить по узлам 
6) флаг - внутренность/внешность
PolyPov.Reset задается при задании новой поверхности
PolyPov.Smooth 0, 0.5, 1, 55 Сглаживание полиповерхности '1) тип сглаживания 
 '2) параметр управления 
 '3) радиус 
 '4) число точек на V-линиях 
121 L = Polyline.Length 
ar=Polyline.area 
Set Pc = Polyline.Centroid
Длина, площадь (фигуры), ЦТ полилинии (группы)  Для группы вычисляется только ЦТ Пример
122 Set pll = CreateObject("Vector.Polyline") 
ar = pll.Area
Площадь для локальной полилинии Вычисляется после задания или активизации полилинии Пример
ar = LinPov.Area 
Set Pc = LinPov.centroid
Площадь  и ЦТ линейчатой поверхности ---  // ---- Пример
ar=RoundPov.area 
Set Pc = RoundPov.centroid
Площадь  и ЦТ  поверхности вращения Пример
CurrObjNmb=LastNmb 
ar = KvadrPov.area 
Set Pc = KvadrPov.centroid 
 
 
Площадь  и ЦТ  квадратичной 
поверхности Кунса
CurrObjNmb = LastNmb - октивизируется объект  Так как нет метода создания поверхности, объект создается в диалоге, а потом запускается МК
CurrObjNmb=LastNmb 
ar = PolyPov.area 
Set Pc = PolyPov.centroid
Площадь  и ЦТ  полиповерхности  ---  // ----     MK 
метод задания полиповерхности есть (пример) (рис)
ug=otrezok.ugl Определения угла наклона отрезка к оси х Задается отрезок МК
125 A.RotateZ(ugl) Вращение точки на заданный угол вокруг оси z 
Возвращается точка A.x, A.y, A.z
Пример
126 A.Rotate(ugl,otrezok) Вращение точки  вокруг отрезка c возвращением нового значения Задаются угол (ugl) и отрезок: 
Ot1.ss p1, p2 
Set ott = CreateObject("Vector.Otrezok")
Пример 
122 v=ObTetraedr (p1,p2,p3, p4) Объем тетраэдра p1,p2,p3, p4 - вершины v - объем МК
123 Set Pс=ObTetraedr (p1,p2,p3, p4) Центр тетраэдра p1,p2,p3, p4 - вершины Рс - центр MK
124 v= Ob6Sides (p1, p2, p3, p4, p11, p12, p13, p14) Объем 6-гранника (p1, p2, p3, p4, p11, p12, p13, p14) - точки вершин v - объем MK
125 Set Pc = Centr6Sides (p1, p2, p3, p4, p11, p12, p13, p14) 
 
Центр 
6-гранника
(p1, p2, p3, p4, p11, p12, p13, p14) - точки вершин Рс - центр MK
126 Set B = AnglPoint (A, p1, p2, s) 
 
Возврат точки B при ее вращении вокруг отрезка, //-го оси Z.  A, - исходная точка 
В - т. после поворота 
p1, p2 - начало и конец отрезка, s - угол
127 Set B = AnglPointXY (A, p1, p2, s) Возврат точки B при ее вращении вокруг отрезка, //-го оси Y. A, - исходная точка 
В - т. после поворота 
p1, p2 - начало и конец отрезка,  s - угол
 
 
Методы 2003

Новые методы-функции после 15.04.2003
 
n/n Имя МКфункции и передаваемые/принимаемые параметры назначение Входные 
параметры
Выходные 
параметры
128 KvadrPov.SS P(0, 0, 0), 0, 1, 2, 3, 0, 0, 0, 0, P(0, 0, 0), 0, 10, 10, False, True   Задание квадратичной поверхноти по 4-м линиям контура, высотам на контуре, свободной точке и полноте. 
Полнота действует, если задана средняя точка, отличная от нулевых координат.
1) т. привязки 
2) номер U0   
3) номер U1   
4) номер V0   
5) номер V1 
6) высота U0   
7) высота U1   
8) высота V0   
9) высота V1 
10) средняя т. 
11) полнота    
12) число U-линий   
13) число V-линий   
14) флаг - проводить по узлам   
15) флаг - внутренность/внешность 
Внимание! Если полнота равна 0, то свободная точка не учитывается. 
Если v0 и v1 - отрицательные числа, то они не берутся  (высоты можно задавать) 

Пример 1 

Пример 2 для импортруемых линий

Set B = KvadrPov.P (u, v) Точка на квадратичной поверхности u,v
129 ar = KvadrPov.Area 
Set centr = KvadrPov.Centroid
Расчет площади и ЦТ квадратичной поверхности Вычисляется после задания или активизации поверхности Пример 2 (выше)
130 MoveToGroup n1, n2, "grupa" 
Set centr = Vector.Centroid(Vector.LastNmb) 
ar = Vector.Area(Vector.LastNmb) 
 
Расчет площади и ЦТ групп квадратичных поверхностей 
 
Вычисляется после задания группы или на нее указывается (?) 
 
Пример 2 (выше)
131 Ornament (n) Построение типоэлементов орнамента  n - номер типоэлемента (до 20)  Пример 
132 WithSave Свойство: изображать/не изображать объект  Vector.WithSave = True 
 Vector.WithSave = False 
 
Пример
133 ugol = Polyline.Angle( n ) Определение угла между векторами в узлах полилинии п - номер узла полилинии
134 ugol = tri1.AngleWith( tri2 ) Ugol - определение угла между двумя плоскостями (треугольниками) На входе определение треугольников, как объектов: 
Set tri1 = CreateObject("Vector.Trian") 
Set tri2 = CreateObject("Vector.Trian") 
и их задание 
tri1.ss p1, p2, p3 
tri2.ss p1, p2, p4 
 
Пример
135 LinPov.CreateLoft  Развертка линейчатой поверхности Заданная линейчатая поверхность Пример 1 
Пример 2
136 Parallped.Volume Объем паралеллепипеда Задан паралеллепипед Пример
137 C6Sides.Volume Объем 6-гранника Задан 6-гранник Пример
138 n = LinPov.CreateFrom(Polyline, Trian, False) Линейчатая поверхность между линией и плоскостью - треугольником (False) Заданы: полилиния и треугольник  Пример
139 n = LinPov.CreateFrom(Polyline, Parall, True) Линейчатая поверхность между линией и плоскостью - параллелограммом (True) Заданы: полилиний и параллелограмм  Пример
140 Arc.Sphere P(1, 1, 1), 3, P(0, 1, 0), P(1, 0, 0) Дуга через центр, радиус и два вектора (на сфере две точки) - начала и конца дуги Центр, радиус и два вектора начала и конца дуги Пример 
Пример 2
141 RoundPov.Sphere P(0, 0, 0), 5, 0, 90, 0, 180 Задание сферы (части сферы) Центр, радиус, начальный конечный угол по широте, начальный конечный угол по долготе  Пример
142 RoundPov.ss P(0, 0, 0), n1, nu,nv, 0,180 Задание поверхности вращения P - центр, n1 - номер линии, nu, nv - кол. сечений; 0, 180  - нач. конечный углы.  Пример
143 nBody = CreateLinBody(4, 5) ' Тело пов-пов 'Параметры 
'1) номер 1-й пов-ти в структуре 
'2) номер 2-й пов-ти в структуре 
'Возвращается номер тела в структуре
Пример
144 nBody = CreateLinBodyFrom(3, Trian, False)  Тело пов-плоскость 
 
Параметры 
'1) номер пов-ти в структуре 
'2) объект - треугольник или паралл 
'3) если False, то треуг. Иначе - паралл 
'Возвращается номер тела в структуре 
 
Если что-то напутали, будет сообщение: 
"Неправильно задан тип фигуры" 
Пример
145 n = CreateShadow(3, 0) Возвращается номер тени в структуре 1) номер пов-ти -- источника тени 
2) номер плос-ти (треуг. или паралл.), куда падает тень 
 
146 Light Объект источника освещения 
 
Свойства: 
- MaxLightD - дальняя граница освещения 
- HalfMaxLightD  - убывание света на половину 
- DispersPart  - доля рассеянного света (от 0 до 1) 
- P(i) - координаты источника
Примеры: 

 

147 Set plane2 = CreateObject("Vector.Plane") 
plane2.Create P(0, 0, 0), P(1, 0, 0), P(0, 1, 0) 
Метод - создать плоскость через 3 точки
148 Set plane1 = CreateObject("Vector.Plane") 
Set T = plane1.Cross( plane2 )
Пересечение 2-х плоскостей, возвращает вектор (направление) пересечения Если ивестна т. на линии пересечения (например, P), то отрезок на пересечении 
строится:              Otrezok.ss P, P+T 
где P+T векторная сумма (расписать поординатно)
 
Set A = plane1.Cross( plane2, plane3)  Точка на линии пересечения Возвращает точку А на линии пересечения Пример
Set A = plane1.Cross( plane2, plane3 ) Точка пересечения 
3-х плоскостей
Возвращает точку А на линии пересечения Пример 1 2
149 Свойство: 
Vector.Lock = True 
Vector.Lock = False 
Ставится после строки 
Set Vector = CreateObject("Vector.Document")
Замкнуть документ 
(для работы со скриптами)
True (замкнуть) при выходе из скрипта в Вектор объекты удалятся не будут. False - отомкнуть документ при выходе из скрипта  удаляются.  Пример
Set C6Surfs = CreateObject("Vector.LinSolid") Локальный объект (без добавления его в документ) C6Surfs - имя объекта Пример
Set C6Surfs = GetDocObject(nBody) Локальный объект 
с добавлением в структуру 
C6Surfs - имя объекта 
nBody - старое имя объекта
Пример
150 V = C6Surfs.Volume Объем V тела C6Surfs - имя объекта Пример 1  2  3
151 V = Volume(Nmb)  Объем группы тел Nmb - номер группы Пример
152 Set Pc = C6Surfs.Centroid или можно покоординатно: 
Pcx = C6Surfs.Centroid.x 
Pcy = C6Surfs.Centroid.y 
Pcz = C6Surfs.Centroid.z
ЦТ тела C6Surfs - имя объекта Пример 1  2  3
153 Set C = Centroid(Nmb)  ЦТ группы тел Nmb- номер группы Пример
154 Set T = C6Surfs.P(u, v, t) 
или покоординатно: 
Tx = C6Surfs.P(u, v, t).x 
Ty = C6Surfs.P(u, v, t).y 
Tz = C6Surfs.P(u, v, t).z
Точка тела от u,v,t 
0 <= u,v,t <= 1
C6Surfs - имя объекта Пример 1  2  3
155 Set А = LinPov.Pxy(x, y) Точка А от x,y на лин. поверхности т. А на поверхности Пример 1 
156 Set А = PolyPov.Pxy(x, y) Точка А от x,y на  полиповерхности т. А на поверхности Пример
157 Set A = KvadrPov.Pxy(x, y) Точка А от x,y на  квадр.поверхности т. А на поверхности
158 Set A = RoundPov.Pxy(x, y) Точка А от x,y на  поверх.вращения т. А на поверхности
159 n1 = LinPov.CreateLoft(3, False) 
n2 = LinPov.CreateLoft(3, True)
1) номер центральной линии 
2) флаг - если False - развёртка по U (= True по V)
Развертки возможны ( ставить вместо Linpov: PolyPov, KvadrPov, RoundPov) для других поверхностей.
160 Set A = Polyline.Px(x, n) или 
x1=Polyline.Px(x, n).x 
y1=Polyline.Px(x, n).y 
z1=Polyline.Px(x, n).z 
Set A = Lagr4.Px(x, 55) 
Set A = CubBez.Px(x, 55) 
Set A = Kvadr.Px(x, 55) 
Set A = Sinus.Px(x, 55) 
Set A = Arc.Px(x, 55) 
Set A = Krug.Px(x, 55)
Метод вычисления 
точки на полилинии и других линий 
от координаты x 
x -  значение аргумента 
n - число точек на линии для преобразования в полилинию необходимо для других линий (n > 1). Для полилинии - безразницы.
Пример 1 

Пример 2 

161 Set A = Vector.PolylineSmooth.Px(x, 55) 
 
Метод вычисления 
точки на сглаженной полилинии от x 
x -  значение аргумента 
n - число точек на линии 
Пример
162 Set Pmin =Polyline.PYmin(n) 
Set Pmax=Polyline.PYmax(n)
Точки минимума и максимума по y  на полилинии n - число точек на линии  Пример
163 Set Pmin =PolyPov.PZmin(nv,nu) 
Set Pmax=PolyPov.PZmin(nv,nu)
Точки минимума и максимума по z на полиповерхности nu,nv - сетка на поверхности по u и v Пример 
164 Racurs n, 3, 6, -20 Ракурсные преобразование 
для полилиний, групп полилиний, многогранников
1) n - номер полилинии или группы 
2) Расстояние для точки схода на оси X 
3) Расстояние для точки схода на оси Y 
4) Расстояние для точки схода на оси X
165 CreateIzolines 5, 3.7 Построение сечений и изолиний 1) число изолиний (n) 
2) уровень, если n = 0
Пример
Vector.RefreshImage(); Визуализации рисунка в системе Вектор после выхода из скрипта 
на JS
Vector.RefreshImage Визуализации рисунка в системе Вектор после выхода из скрипта 
на VBS
 

Мульти-медио-технологии
 
n/n Метод, функция, свойство Назначение Входные 
параметры
Выходные 
параметры
 "Полет" Функция, обеспечиающая режим полета объекта. 
 
1)  Частота 
кадров 
2) Скорость (м/сек) 
3) Повороты 
4) Запись трактории 
5) Запись между точками трактории 
 
Есть "Обзорный вид" либо "Из кокпита". 
    Для обзорного вида летит текущий объект в 
направлении локальной оси 
  Z - "носа" (по умолчанию - к нам). 
Преобразованиями можно 
направить куда угодно. Управление - те же 
кнопки, что для вида "Из 
кокпита". Правда, для произвольной СК 
сложно сообразить сразу - куда поворачивать. Пробуйте сначала для стандартной СК (ZY), а нос разверните по Y.
 
* Метод в объектно-ориентированном программировании — это функция, принадлежащая какому-то классу или объекту. Метод состоит из некоторого количества операторов для выполнения какого-то действия, имеет набор входных аргументов и возвращаемые значения. В системе Вектор создано более 170 методов. Сами методы написаны на С++, однако пользователь может писать МК на vbs или js.

Примеры - кухня
Основы макропрограммирования на языке VBS в системе "Вектор"