ADN Open CIS
Сообщество программистов Autodesk в СНГ

25/06/2015

Создание пользовательских команд Fusion - Часть 2

Приведенные выше примеры являются достаточными для команд, которым не нужно собрать дополнительную информацию от пользователя или имеют очень простой вход. Например, окно сообщения может быть использовано, чтобы получить да / нет ответ на вопрос, но большинству команд нужно получить дополнительную информацию от пользователя, прежде чем они смогут выполнять любые действия. Важной частью командной техники Fusion является поддержка получения различных типов вводных данных от пользователя. Это можно увидеть в большинстве команд Fusion. Например, когда запускается команда Loft, отображается приведенное ниже диалоговое окно, которое собирает нужные вводные данные.

 

Диалоговое команда состоит из списка входных данных команд. В случае команды Loft есть ввод выбора профилей, два логических входа: один для выбора цепи и один для указания, должен ли результат быть замкнут, выпадающий список для получения типа операции. Fusion поддерживает множество различных типов командных входов и API в настоящее время поддерживает подмножество тех из них, которые вы можете использовать в своих командах. Поддержка большего количества типов вводов будет добавлена в будущих версиях.

Ниже приведены описания различных командных вводов, которые в настоящее время поддерживает API.

ValueCommandInput

ValueCommandInput используется, чтобы получить значение определенного типа от пользователя. Это значение конкретного типа единицы измерения (т.е. длины, угла, и т.д.) и в ввод значения команды делает все проверки для того, чтобы убедиться, что пользователь вводит допустимое значение. Если введенное значение не является допустимым, текст автоматически меняет цвет на красный и кнопка ОК будет отключена.

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

StringValueCommandInput

StringValueCommandInput используется, чтобы получить любую строку, вводимую пользователем. Может быть введен любой текст и не производится никакой проверки.

 

BoolValueCommandInput

BoolValueCommandInput используется для получения ответа Истина или Ложь от пользователя. Есть три визуальных стиля, которые могут быть достигнуты в зависимости от различных параметров, которые указываются при создании входной команды. Три стиля приведены ниже: флажок, кнопка, которая не изменяет свое состояние, но может быть нажата, и кнопка, которая изменяет состояние в зависимости от нажатия или отпуска.

 

SelectionCommandInput

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

 

DropDownCommandInput

DrowDownCommandInput используется, чтобы получить выбор от нуля и более выборов от пользователя. В зависимости от настроек и стиля выпадающего меню, пользователь может выбрать несколько элементов или может быть ограничен выбором одного пункта из списка.Есть четыре стили выпадающих списков для ввода, каждый из которых, представленным ниже.

  • Первый стиль отображает выпадающий список с флажками, где пользователь может отметить и снять любую комбинацию из пунктов в списке.

 

  • Второй стиль выпадающего списка отображает список элементов с иконками, где пользователь может выбрать один элемент из списка и будет отображаться выбранный элемент.

 

Fusion использует этот тип элемента управления во многих командах, что можно видеть в диалоговом окне команды Extrude, где направление, операция и границы являются входами этого типа.

 

  • Третий стиль выпадающего списка отображает список элементов только в виде текста.Это полезно при отображении динамических списков, где содержимое может измениться. Например, Fusion использует это, чтобы получить выбор шрифта в команде Text при размещении текста в эскизе.

 

  • Четвертый стиль выпадающего списка оторбажает список элементов, только как текст, однако также отображает радио-кнопку рядом с каждым пунктом.В списке может быть выбран только один пункт.

 

FloatSliderCommandInput

FloatSliderCommandInput используется, чтобы получить от пользователя один или два числа с плавающей запятой в пределах определенного диапазона. Есть несколько вариантов для отображения и поведения. На рисунке ниже вы можете видеть основные варианты того, как он отображается: один слайдер с элементом управления счетчик, текст вместо счетчика, и два ползунка, чтобы определить диапазон значений. Вы также можете определить список допустимых значений, так что слайдер позволит выбрать только одно из предопределенных значений.

 

IntegerSliderCommandInput

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

 

TextBoxCommandInput

TextBoxCommandInput используется для отображения отформатированного текста и позволяет пользователю вводить более длинные строки текста, что может быть более практичным использованием чем StringValueCommandInput. Изображение ниже показывает три различных объекта TextBoxCommandInput.

 

Первый пример имеет более чем одну строку и является записываемым, так что пользователь может ввести текста. Второй пример отображения текста, который отформатирован с использованием HTML-разметки. Фактический текст, который используется для определения в этом поле является:

Код - HTML: [Выделить]
  1. <b>Notice:</b> You are using Autodesk\'s <a href="http://fusion360.autodesk.com">Fusion 360</a>.'

Последний пример, используя тот же текст, что и предыдущей, но в нем отсутствует заголовок и текст отображен по центру диалога. Во-первых, он устанавливает свойство isFullWidth команды входа в истину, что выключает название и отображает только текстовую часть поля. Свойство IsFullWidth поддерживается во всех типах входов команд и не ограничивается только текстовыми полями. Для центрирования текста внутри диалогового окна используется дополнительная верстка:

Код - HTML: [Выделить]
  1. <div align="center"><b>Notice:</b> You are using Autodesk\'s <a href="http://fusion360.autodesk.com">Fusion 360</a></div>.'

ButtonRowCommandInput

ButtonRowCommandInput отображает ряд кнопок, где пользователь может выбрать одно или больше значений. В первом примере, свойство isMultiSelectEnabled равно Истина, что позволяет пользователю выбрать более одной кнопки. Во втором примере оно равно Ложь, так только одна кнопка может быть выбрана. Во втором случае выбор другой кнопки отменяет выбор первой кнопки.

 

Источник: http://fusion360.autodesk.com/resources

Автор перевода: Дмитрий Емельянов

Обсуждение: http://adn-cis.org/forum/index.php?topic=2842

Опубликовано 25.06.2015
Отредактировано 08.07.2015 в 11:55:47