Основы скриптописания - Контур панели
Здравствуйте, уважаемые коллеги, мы продолжаем наш курс по изучению Скриптов в Базис Мебельщике. И сегодня начнём подробнее знакомиться с объектом панели в контексте Базис Скрипта.
Панель в самую первую очередь представляет из себя плоскую геометрическую фигуру - со своим контуром. По умолчанию, да и намного чаще всего остального мы работаем с прямоугольными контурами, без разных углов, без вырезов, отверстий и пр
Но сам БМ, в том числе скрипты имеют полный набор инструментов для работы с контурами.
Но прежде чем приступить к работе с контурами - немного повторим пройденное
В JavaScript есть понятие Объект, в контексте Базис Мебельщика одним из представителей объектов является Панель, у панели есть свои свойства, операции, и также есть свои подобъекты, которые в свою очередь могут иметь свойства, операции, подобъекты и пр.
Контур панели является подобъектом - Панели. И для работы с контуром мы должны «выйти» на уровень контура
Создаём панель
Для доступа к свойствам и операциям, как мы помним - используем “.” точку
И находим нужный нам пункт - Contour
И у Contour - будут также свои свойства и пр
Так как все команды имеют подписи - достаточно легко понять как каждая команда работает. Мы же остановимся на нескольких из них.
Первое что может быть полезным - значения (Высота и Ширина контура)
Самое простое - эти значения дают нам ширину и высоту контура, в случае если панель прямоугольная, то ширина и высота собственно самой панели, НО без учета кромки!
Для удобства доступа к данным значением - разработчики вывели их в отдельные два пункта у объекта - Панель - ContourHeight и ContourWidth, т.е. нам не надо уходить на уровень контура панели.
Когда мы находимся на уровне Контура панели в контекстном меню в верхней его части мы видим целую группу команд Add
Данный команды добавляют различные геометрические фигуры, отчасти данные команды дублируют команды построения при редактировании контура панели
С ними также все достаточно понятно, вызываем нужную нам команду, в круглых скобках указываем параметры - и получаем результат
Возьмём к примеру команду AddCircle - Добавить окружность
Данная команда имеет три параметра
xc - Центр окружности по Оси X
yc - Центр окружности по Оси Y
rad - радиус окружности
Давайте попробуем добавить окружность
Вызываем команду, прописываем параметры
И получаем результат, давайте сразу проверим что получается в итоге.
Мы дали команду, окружность радиусом 100 мм поставить в точке 150 по х и 150 по у. И получается все правильно - окружность стоит в точке 150:150 от нижнего левого края панели. А так как наша панель стоит не в начале координат, а с отступом в 10 мм по оси х и у - центр окружности в координатах модели - другой.
При работе с контуром абсолютное большинство параметров связанных с координатами - x,y и так далее имеют ввиду не глобальные наши координаты, а координаты в контексте панели.
Если мы проделаем такой же трюк с горизонтальной панелью и вертикальной.
Получи что при построении горизонтальной панели и добавлении к контуру окружности - окружность ушла за край панели, почему?
Потому что при редактировании контура и панели - точка отсчета считается не нижний левый угол, как это может казаться, а тот угол который ближе всего расположен к точке отсчета координат.
И так получается что у горизонтальных панелей эта точка находится в верхнем левом углу.
Тот те фокус мы получим если построим панель, вне нашей габаритной сетки
И получаем точка отсчёта у панели правая верхняя.
Данное понимание «пространства» - залог успешных результатов написанных команд - каждый элемент контура и контур любой формы направлен в необходимом направлении.