Справка по  ActiveField™ 

об ELCUT     Скачать     Контакты

Технология ActiveField
Обзор объектов
Диаграмма иерархии объектов
С чего начать: Объект Application
Как работать с задачами
Как работать с геометрической моделью
Как работать с физическими свойствами
Как анализировать результаты

Объекты

Свойства

Методы

Contour Object

Свойства

Методы

Краткое описание

Контур в окне картины поля, предназначенный для интегрирования, вычерчивания графиков и табулирования.

Подробное описание

Объект Contour представляет контур в окне картины поля, который используется для вычисления интегралов, построения графиков и таблиц распределения величин вдоль контура. Каждое окно картины поля (объект FieldWindow) может иметь только один контур (объект Contour). Когда окно картины поля (объект FieldWindow) только создается, объект Contour пустой. Объект Contour доступен чрез свойство Contour объекта FieldWindow.

Объект Contour имеет методы для добавления линий, рёбер и блоков к контуру. Они очень похожи на соответствующие команды графического интерфейса пользователя ELCUT. В дополнение объект Contour имеет несколько свойств только для чтения, для получения информации о контуре: начальной и конечной точках, длине и площади, и т.д.

Методы редактирования контура

AddLineTo (p типа Point, angle типа Double)

Добавляет линию (отрезок прямой или дугу) к контуру.
Параметр p является конечной точкой линии. Если параметр не задан, то линия рисуется к начальной точке контура и контур становится закрытым.
Необязательный параметр angle задает центральный угол раствора дуги в радианах. Нулевое значение угла означает отрезок. Это значение используется по умолчанию, если параметр не задан.

Если контур пустой, то первый вызов метода AddLineTo просто запоминает точку p как начальную точку контура. Линия будет создана при следующем вызове метода AddLineTo.

AddEdge (labelName типа String, near типа Point)
AddEdge1 (labelName типа String)

Добавляет ребро модели к контуру. При добавлении ребра действуют те же правила, что и при работе через графический интерфейс пользователя. Ребро может быть определено через его метку (параметр labelName), или через ближайшую точку (параметр near), или обоими способами сразу.

Если параметры не указаны, или есть неопределенность, то будет добавлено первое попавшееся подходящее ребро.

Метод AddEdge1 эквивалентен вызову метода AddEdge, когда  второй параметр не указан. Он предназначен для удобства использования в упрощенных скриптовых языках, где возможны синтаксические трудности при вызове метода с опущенным параметром.

AddBlock (labelName типа String, near типа Point)

AddBlock1 (labelName типа String)

Добавляет блок модели к контору. При добавлении блока действуют те же правила, что и при работе через графический интерфейс пользователя. Блок может быть определен через его метку (параметр labelName), или через ближайшую точку (параметр near), или обоими способами сразу.

Если параметры не указаны, или есть неопределенность, то будет добавлен первый попавшийся подходящий блок.

Метод AddBlock1 эквивалентен вызову метода AddBlock, когда  второй параметр не указан. Он предназначен для удобства использования в упрощенных скриптовых языках, где возможны синтаксические трудности при вызове метода с опущенным параметром

В отличие от графического интерфейса пользователя, повторное добавление блока ничего не меняет в контуре. Чтобы исключить блок из контура, используйте метод DeleteBlock или DeleteBlock1.

DeleteBlock (labelName типа String, near типа Point)

DeleteBlock1 (labelName типа String)

Удаляет блок модели из контура. Блок может быть определен через его метку (параметр labelName), или через ближайшую точку (параметр near), или обоими способами сразу.

Метод DeleteBlock1 эквивалентен вызову метода DeleteBlock, когда  второй параметр не указан. Он предназначен для удобства использования в упрощенных скриптовых языках, где возможны синтаксические трудности при вызове метода с опущенным параметром

Если параметры не указаны, или есть неопределенность, то будет удален первый попавшийся подходящий блок.

Delete (EntireContour типа Boolean)

Если параметр EntireContour имеет значение False или не указан, то удаляется последнее добавленное ребро, линия или блок. Иначе удаляется контур целиком.

ChangeDirection ()

Изменяет направление контура.

Информационные свойства

Свойство Parent. Тип FieldWindow
(только для чтения)

Возвращает объект FieldWindow, которому принадлежит контур.

Свойство StartPoint. Тип Point
(только для чтения)

Возвращает начальную точку контура.

Свойство EndPoint. Тип Point
(только для чтения)

Возвращает конечную точку контура.

Свойство Lenght. Тип Double
(только для чтения)

Возвращает длину контура.

Свойство Square. Тип Double
(только для чтения)

Возвращает площадь замкнутого контура, если такой есть. Иначе возвращает ноль.

Свойство Closed. Тип Boolean
(только для чтения)

Возвращает True, если контур замкнут, т.е. когда начальная и конечная точки контура совпадают.

Свойство Connectivity. Тип Integer
(только для чтения)

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

В следующем примере строятся два контура для модели синхронного двигателя.

dim Wnd As ELCUT.FieldWindow 'окно результатов решения
' Получение объекта FieldWindow

set Wnd = Res.Windows(1)
' Получение нового объекта Contour
dim Cnt as ELCUT.Contour
set Cnt = Wnd.Contour

cnt.Delete True   ' Удаление старого контура (если есть)
cnt.AddBlock "Winding+"
dim Flux as Double
Flux = Res.GetIntegral(qfInt_FluxLinkage, Cnt).Abs


const PI as Double = 3.1415926 ' The PI constant
dim Ra As Double   ' Диаметр воздушного зазора
ra = 74.5
cnt.Delete True   ' Удаление старого контура
cnt.AddLineTo PointXY(Ra, 0), 0
cnt.AddLineTo PointXY(-Ra, 0), 3.1415926
cnt.AddLineTo PointXY(Ra, 0), 3.1415926
dim Torque as Double
torque = Res.GetIntegral(qfInt_MaxwellTorque, Cnt).Abs