Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Взаимодействие с пользователем





Взаимодействие с пользователем заключается в запросах различных данных, объектов, выводе сообщений. Эти действия реализуются объектом AcadUtility, коллекцией AcadSelectionSets и ее объектом AcadSelectionSet.

Инициализация ограничений ввода

procedure InitializeUserInput(Bits: Byte; KeyWordList: OleVariant);

Вызов метода InitializeUserInput задает ограничения по вводу данных для методов: GetKeyword, GetInteger, GetReal, GetDistance, GetAngle, GetOrientation, GetPoint, и GetCorner.

Параметры:

  • Bits— битовый флаг, являющийся суммой бит в соответствии с их весами; обязательный
Бит Описание
  Запрещает NULL ввод, т.е. предотвращает ввод пользователем только Enter или пробела
  Запрещает ввод нуля
  Запрещает ввод отрицательных чисел
  Разрешает ввод координат точек за пределами чертежных лимитов даже если системная переменная LIMCHECK установлена в 1.
  Не используется
  Использовать для " резиновой нити" штриховую линию вместо сплошной
  Игнорировать Z-координату точек для метода GetDistance
  Разрешает ввод любых данных
  • KeyWordList — строка, которая задает допустимые ключевые слова; необязательный. Ключевые слова разделяются пробелом. Если при вводе ключевого слова разрешен сокращенный вариант — обязательная часть вводится в верхнем регистре.

Примеры использования:

// не разрешен NULL ввод Acad.ActiveDocument.Utility.InitializeUserInput(1); // не разрешен NULL ввод и использовать для " резиновой нити" штриховую линию (33 = 32 + 1) Acad.ActiveDocument.Utility.InitializeUserInput(33); // не разрешен NULL ввод, заданы ключевые слова Acad.ActiveDocument.Utility.InitializeUserInput(1, 'Yes No');

Вывод сообщений в командную строку

procedure Prompt(const Message: WideString); — функция выводит в командную строку текст Message

Параметры:

  • Message — текст сообщения; необязательный

Пример использования:

Acad.ActiveDocument.Utility.Prompt('Press any key...');

Запрос координат точки

function GetPoint(Point: OleVariant; Prompt: OleVariant): OleVariant;

Параметры:

  • Point — 3-х элементный массив координат начальной точки; необязательный
  • Prompt — текст подсказки, выводимой в командную строку; необязательный

Возвращаемое значение — 3-х элементный массив координат точки.

Пример использования:

var Pnt1, Pnt2: OleVariant; begin // Запрос у пользователя координат первой точки Pnt1: = Acad.ActiveDocument.Utility.GetPoint(, 'Укажите первую точку: '); // Запрос у пользователя координат второй точки с отображением " резиновой нити" от первой точки Pnt2: = Acad.ActiveDocument.Utility.GetPoint(Pnt1, 'Укажите вторую точку: '); // Построение отрезка из первой во вторую точку Acad.ActiveDocument.ModelSpace.AddLine(Pnt1, Pnt2); end;

Запрос угла прямоугольника

function GetCorner (Point: OleVariant; Prompt: OleVariant): OleVariant;

Параметры:

  • Point — 3-х элементный массив координат начальной точки; обязательный
  • Prompt — текст подсказки, выводимой в командную строку; необязательный

Возвращаемое значение — 3-х элементный массив координат точки.

Пример использования:

var Pnt1, Pnt2, Pnt3, Pnt4: OleVariant; begin // Запрос у пользователя координат первой точки Pnt1: = Acad.ActiveDocument.Utility.GetPoint(, 'Укажите первый угол: '); // Запрос у пользователя координат второй точки с // отображением " резинового прямоугольника" от первой точки Pnt2: = Acad.ActiveDocument.Utility.GetCorner(Pnt1, 'Укажите второй угол: '); // Вычисление остальных координат прямоугольника Pnt3: = AcadPoint(Pnt1[0], Pnt2[1]); Pnt4: = AcadPoint(Pnt2[0], Pnt1[1]); // Построение прямоугольника Acad.ActiveDocument.ModelSpace.AddLine(Pnt1, Pnt3); Acad.ActiveDocument.ModelSpace.AddLine(Pnt3, Pnt2); Acad.ActiveDocument.ModelSpace.AddLine(Pnt2, Pnt4); Acad.ActiveDocument.ModelSpace.AddLine(Pnt4, Pnt1); end;

Запрос угла

function GetAngle(Point: OleVariant; Prompt: OleVariant): Double;

Параметры:

  • Point — 3-х элементный массив координат начальной точки; необязательный
  • Prompt — текст подсказки, выводимой в командную строку; необязательный

Возвращаемое значение — угол в радианах против часовой стрелки (т.е. игнорирует значение ANGDIR).

Функция выводит в командную строку подсказку Prompt и ожидает от пользователя ввода либо значения угла (в текущем формате угловых единиц), либо ввода 2-х точек прямой с отображением " резиновой нити". При получении угла учитываются переменные ANGBASE и ANGDIR.

Пример использования:

var Ang: Double; begin // Запрос у пользователя угла Ang: = Acad.ActiveDocument.Utility.GetAngle(, 'Укажите значение угла: '); ShowMessage(Format('Задан угол %f градусов', [RadToDeg(Ang)])); end;

Запрос расстояния

function GetDistance(Point: OleVariant; Prompt: OleVariant): Double;

Параметры:

  • Point — 3-х элементный массив координат начальной точки; необязательный
  • Prompt — текст подсказки, выводимой в командную строку; необязательный

Возвращаемое значение — расстояние.

Функция выводит в командную строку подсказку Prompt и ожидает от пользователя ввода либо одной точки (если параметр Point опущен) либо 2-х точек с отображением " резиновой нити"

Пример использования:

var Dist: Double; begin // Запрос у пользователя точек для расчета расстояния Dist: = Acad.ActiveDocument.Utility.GetDistance(, 'Select first point: '); // Вывод значения расстояния в командную строку Acad.ActiveDocument.Utility.Prompt(Format('Distance = %f', [Dist])); end;

Запрос целого числа

function GetInteger(Prompt: OleVariant): Smallint;

Параметры:

  • Prompt — текст подсказки, выводимой в командную строку; необязательный

Возвращаемое значение — введенное пользователем целое число.

Пример использования:

var Int: Smallint; begin // Запрос у пользователя целого числа Int: = Acad.ActiveDocument.Utility.GetInteger('Введите целое число < -32768...32767>: '); // Вывод значения в командную строку Acad.ActiveDocument.Utility.Prompt(Format('Число = %d', [Int])); end;

Запрос вещественного числа

function GetReal(Prompt: OleVariant): Double;

Параметры:

  • Prompt — текст подсказки, выводимой в командную строку; необязательный

Возвращаемое значение — введенное пользователем вещественное число.

Пример использования:

var Dbl: Double; begin // Запрос у пользователя целого числа Dbl: = Acad.ActiveDocument.Utility.GetReal('Введите вещественное число: '); // Вывод значения в командную строку Acad.ActiveDocument.Utility.Prompt(Format('Число = %f', [Dbl])); end; Создание штриховки

Чтобы создавать штриховку, сначала создайте объект Hatch, используя метод AddHatch. После того, как объект Hatch был создан, добавьте внешний цикл, используя метод AppendOuterLoop. Внешний цикл должен быть закрыт и должен быть создан прежде, чем можно добавить любые внутренние циклы. После того, как был создан допустимый внешний цикл, добавляют внутренние циклы, по одному, используя метод AppendInnerLoop.

ПРЕДУПРЕЖДЕНИЕ! Как только объект Hatch был создан, Вы должны добавить внешний цикл к объекту Hatch для того, чтобы он стал допустимым объектом AutoCAD. Если Вы делаете любой другой запрос операции кроме метода AppendOuterLoop, AutoCAD введет непредсказуемое состояние.

 







Дата добавления: 2014-12-06; просмотров: 773. Нарушение авторских прав; Мы поможем в написании вашей работы!




Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...


Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...

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

Тактика действий нарядов полиции по предупреждению и пресечению правонарушений при проведении массовых мероприятий К особенностям проведения массовых мероприятий и факторам, влияющим на охрану общественного порядка и обеспечение общественной безопасности, можно отнести значительное количество субъектов, принимающих участие в их подготовке и проведении...

Меры безопасности при обращении с оружием и боеприпасами 64. Получение (сдача) оружия и боеприпасов для проведения стрельб осуществляется в установленном порядке[1]. 65. Безопасность при проведении стрельб обеспечивается...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

Studopedia.info - Студопедия - 2014-2025 год . (0.009 сек.) русская версия | украинская версия