Научная статья на тему 'Создание наречия языка программирования Visual Basic for application для проектирования одежды'

Создание наречия языка программирования Visual Basic for application для проектирования одежды Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
111
19
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ревякина Ольга Владимировна, Ультан Александр Ефимович

Выделение определенного набора геометрических приемов как средств построения и преобразования лекал позволило создать на их основе наречие языка программирования visual basic for application. Специфика созданных объектов языка делает доступным для пользователей, не имеющих навыков программирования, процесс создания процедуры построения лекал простыми и доступными средствами, известными всем пользователям windows.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Создание наречия языка программирования Visual Basic for application для проектирования одежды»

О. В. РЕВЯКИНА А. Е. УЛЫАН

Омский государственный институт сервиса

УДК 687.016.5

СОЗДАНИЕ НАРЕЧИЯ ЯЗЫКА ПРОГРАММИРОВАНИЯ VISUAL BASIC FOR APPLICATION ДЛЯ ПРОЕКТИРОВАНИЯ ОДЕЖДЫ_

ВЫДЕЛЕНИЕ ОПРЕДЕЛЕННОГО НАБОРА ГЕОМЕТРИЧЕСКИХ ПРИЕМОВ КАК СРЕДСТВ ПОСТРОЕНИЯ И ПРЕОБРАЗОВАНИЯ ЛЕКАЛ ПОЗВОЛИЛО СОЗДАТЬ НА ИХ ОСНОВЕ НАРЕЧИЕ ЯЗЫКА ПРОГРАММИРОВАНИЯ VISUAL BASIC FOR APPLICATION. СПЕЦИФИКА СОЗДАННЫХ ОБЪЕКТОВ ЯЗЫКА ДЕЛАЕТ ДОСТУПНЫМ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ, НЕ ИМЕЮЩИХ НАВЫКОВ ПРОГРАММИРОВАНИЯ, ПРОЦЕСС СОЗДАНИЯ ПРОЦЕДУРЫ ПОСТРОЕНИЯ ЛЕКАЛ ПРОСТЫМИ И ДОСТУПНЫМИ СРЕДСТВАМИ, ИЗВЕСТНЫМИ ВСЕМ ПОЛЬЗОВАТЕЛЯМ WINDOWS.

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

Целью данной работы является создание приложения для автоматизированного проектирования одежды с помощью языка Visual Basic. Данная разработка позволит освободить специалистов в области проектирования одежды от услуг программиста, т. е. обеспечит создание условий, при которых конструктор традиционными средствами, известными всем пользователям Windows, строит на экране лекала одежды, а параллельно с этим в памяти компьютера создается текст процедуры (написанной на созданном нами и описанном ниже наречии Visual Basic). Создаваемая процедура записывается в файл для многократного использования.

Язык, способный программным путем проектировать лекала швейных изделий, создавался как наречие VISUAL BASIC FORAPPLICATION. Такой выбор был сделан по ряду причин:

1) возможность быстрого создания приложений (RAD) [2].

2) согласно планам фирмы Microsoft различные программные продукты должны поддерживать соответствующие наречия этого языка, родственные по синтаксису и отличающиеся лишь объектами, с которыми наречия работают.

3) синтаксис этого языка очень прост в обучении и использовании. Этот план уже поддержан другими разработчиками (например, фирмой Corel Draw, Autodesk и т.д.).

Такая единая политика для разных приложений, а также простота синтаксиса VISUAL BASIC FORAPPLICATION должны существенно упростить ситуацию для пользователей.

В основе синтаксиса VISUAL BASIC FORAPPLICATION лежит понятие объекта. Объект - это поименованная совокупность переменных и процедур. Синтаксис обращения к процедурам объекта в общем случае имеет вид:

Имя_объекта. Имя_процедуры аргумент1, аргумент2, аргументЗ и т. д.

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

Имя_коллекции (Имя_объекта). Имя_процедуры аргумент"!, аргумент2 и т.д.

С другой стороны, между объектами может существовать взаимосвязь, состоящая в том, что нельзя активизировать, например, ОБЪЕКТ2, пока не активизирован, например, ОБЪЕКТ1. В этом случае обращение к процедурам ОБЪЕКТА2 имеет вид:

ОБЪЕКТ1. ОБЪЕКТ2. Имя_процедуры аргумент!, аргумент2 и т. д.

Ясно, что допустимы действия с группой объектов по принципу:

ОБЪЕКТ-!. ОБЪЕКТ2. ОБЪЕКТЗ. Имя.процедуры аргумент"!, аргумент2 и т.д.

Однако, если в момент обращения к процедуре ОБЪ-ЕКТАЗ ОБЪЕКТ1 и ОБЪЕКТ2 будут уже активными, то их имена можно не писать. Если же будет активным только ОБЪЕКТ1, то его имя можно не писать и т. д. Т. е. цепочку активных имен можно не писать.

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

Основными объектами языка являются:

А. объект APPLICATION - символизирует родительское окно редактора. С этим объектом связано несколько команд. Например:

• New имя_настройки - эта команда создает новое дочернее окно и автоматически связывает с ним указанную настройку, а также соответствующую этой настройке карточку исходных параметров, используемую по умолчанию.

• OpenPattern имя_открываемого_файла, ре-жим_работы_окна - эта команда создает новое дочернее окно, а в нем - указанные лекала либо для просмотра и редактирования (режим_работы_окна = 1), либо для обучения в первом обучающем режиме (режим_работы_ окна = 2), либо для обучения во втором обучающем режиме (режим_ра6оты_окна = 3), либо для обучения в третьем обучающем режиме (режим_работы_окна = 4). С окном автоматически связывается настройка, соответствующая открытому дочернему окну (создаваемых в нем лекал).

• OpenBodyMeasures имя_открываемого_файла -

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

• SaveParameters_имя_coxpaняeмoгo_фaйлa - эта

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

• Print-эта команда выводит содержимое активного дочернего окна на печать.

• Quit - эта команда завершает работу

С помощью редактора эти команды заносятся в тело создаваемой процедуры при обращении к соответствующим командам из меню "Файл".

B. коллекция изделий PATTERNS, работа с каждым из которых происходит в отдельном дочернем окне. По умолчанию изделия имеют стандартные имена: ИЗДЕЛИЕМ ИЗДЕЛ ИЕ2 и т. д. С этим объектом связаны следующие команды:

• Райегп5(имя_изделия).Activate - эта команда активизирует указанное дочернее окно (при работе в нескольких окнах).

• Patterns(mmh_M3flennfl).Add - эта команда создает новое дочернее окно, активизирует его и автоматически связывает с ним настройку и карточку размерных признаков используемые для предыдущего активного окна. Окно будет находиться в режиме создания лекал.

C. объект BOX - символизирует рабочую область, расположенную в каждом дочернем окне для построения лекал. С этим объектом связаны следующие команды:

• Box.SetWidth ширина_листа_бумаги-эта команда задает нужную ширину листа.

• Box.SetHeight длина_листа_бумаги-эта команда задает нужную длину листа.

• Box.SetScale режиммасштабирования, масштаб

- эта команда задает нужный масштаб изображения листа бумаги на дисплее.

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

Р. объект ARROW - стрелка.

С этим объектом связаны следующие команды:

• Arrow.Revolve угол_поворота, направление -

эта команда поворачивает стрелку на указанный угол и в указанном направлении (против часовой стрелки если направление =1 и по часовой если направление = -1).

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

• Arrow.RevolveToActivePolnt-эта команда поворачивает (удлиняет) стрелку до предварительно выделенной активной точки.

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

• Arrow.RevolveAlongTangent-эта команда поворачивает предварительно созданную стрелку, начальная точка которой лежит на предварительно выделенной кривой, вдоль касательной к этой кривой в этой точке.

• Arrow.RevolveAlongPerpendicular - эта команда поворачивает предварительно созданную стрелку, начальная точка которой лежит на предварительно выделенной кривой, перпендикулярно касательной к этой кривой.

• Arrow.Delete - эта команда удаляет ошибочно вызванную стрелку и т. д.

E. коллекция точек POINTS. Каждый элемент этой коллекции имеет стандартное имя: POINT1, POINT2 и т. д.

С этими объектами связаны следующие команды:

• Polnts(HMfl_T04KH).AddArrow-3Ta команда создает стрелку с началом в точке с указанным именем, стандартной длинны и стандартно направленной вниз. Теперь к ней можно применять команды, связанные со стрелкой: удлинять, поворачивать и пр.

Эта команда заносится в тело создаваемой процедуры после щелчка правой кнопкой мыши на нужной точке и выбора соответствующей команды в появившемся контекстном меню.

• P0ints(HMH_T04Kn).Activate - эта команда активизирует точку с указанным именем.

С помощью редактора эта команда заносится в тело создаваемой процедуры после щелчка левой кнопкой мыши на нужной точке при нажатой на клавиатуре клавише Shift. После этого выделенная точка изменит свой цвет на цвет выделенного объекта (желтый).

• P0ints(HMfl_T04KH).DeActivate - эта команда деак-тивизирует точку с указанным именем.

Эта команда заносится в тело создаваемой процедуры после щелчка левой кнопкой мыши на листе бумаги BOX. После этого выделенная точка изменит свой цвет на цвет невыделенного объекта.

• P0ints(MMA_T04KH).Delete - эта команда удаляет указанную точку.

Эта команда заносится в тело создаваемой процедуры после щелчка правой кнопкой мыши на нужной точке и выбора соответствующей команды в появившемся контекстном меню.

F. коллекция линий - LINES. Каждый элемент этой коллекции имеет стандартное имя: LINE1, LINE2 и т. д.

С этим объектом связаны следующие команды, например:

• ипез(имя_прямой).Activate. Эта команда активизирует прямую с указанным именем.

С помощью редактора эта команда заносится в тело создаваемой процедуры после щелчка левой кнопкой мыши на нужной прямой при нажатой клавише Shift на клавиатуре. После этого выделенная прямая изменит свой цвет на цвет выделенного объекта (желтый).

• Lines (HMfl_npflMoii).DeActivate. Эта команда деак-тивизирует прямую с указанным именем.

Эта команда заносится в тело создаваемой процедуры после щелчка левой кнопкой мыши на листе бумаги BOX. После этого отменяется выделение прямой.

G. коллекция кривых CURVES. Каждый элемент этой коллекции имеет стандартное имя: CURVE1, CURVE2 и т.д.

С этим объектом связаны следующие команды:

• Curves(HMH_KpHBOii).Actlvate - эта команда активизирует кривую с указанным именем.

Эта команда заносится в тело создаваемой процедуры после щелчка правой кнопкой мыши на нужной кривой при нажатой на клавиатуре клавише Shift. После этого выделенная кривая изменит свой цвет на цвет выделенного объекта.

■ Curves(HMH_KpnBoA).DeActivate - эта команда деактивизирует кривую с указанным именем.

Эта команда заносится в тело создаваемой процедуры после щелчка правой кнопкой мыши на листе бумаги

BOX. После этого выделенная кривая изменит свой цвет на цвет невыделенного объекта.

• Сип/ез(имя_кривой).Delete - эта команда удаляет указанную кривую.

Эта команда заносится в тело создаваемой процедуры после щелчка правой кнопкой мыши на нужной кривой и выбора соответствующей команды а появившемся контекстном меню.

• Curves.AddCurveWithActivePoints - эта команда добавляет кривую, проходящую через предварительно выделенные точки.

• Curves.AddCurveWithTwoTangents_CTwib - эта

команда добавляет кривую, касательную к двум указанным отрезкам.

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

• Curves.RevolveActiveCurves_4eHTp, угол, направление, способ 0,1 - эта команда поворачивает активные (выделенные) кривые вокруг указанного центра по часовой стрелке - направление = -1 или против часовой стрелки - направление = 1. При выборе способа = 0, кривые поворачиваются на новое место без создания копий. При выборе способа =1, кривые поворачиваются на новое место, оставляя копии в первоначальном положении.

• Curves.MoveActiveCurvesWithArrow_cnoco6 0,1 -

эта команда перемещает активные кривые по созданной стрелке. При выборе способа = 0, кривые перемещаются на новое место без создания копий. При выборе способа =1, кривые перемещаются на новое место, оставляя копии в первоначальном положении.

Н. коллекция дуг - Arcs. Каждый элемент этой коллекции имеет стандартное имя: Агс1, Агс2 и т.д.

С этим объектом связаны следующие команды:

• Arcs.AddArcWithTwoPointsAndCenter_CTHnb -

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

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

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

- стиль (объекты чертежа могут создаваться как основные или вспомогательные),

- направление движения от одного объекта к другому, задаваемое последовательностью построения точек на экране (например, от точки созданной первой ко второй),

- расстояние меиоду точками, определяемое формулой или заданным значением,

- угол поворота и направление поворота (по или против часовой стрелки).

Анализ объектов языка и связанных с ними команд позволяет сделать следующие выводы:

1) Использование стилей визуализирует иерархию объектов на чертеже, т.е. основные и вспомогательные объекты изображаются по-разному (например, основные

6

Рис. Построение прямой юбки при помощи команд VISUAL BASIC FOR APPLICATION.

линии - сплошные, вспомогательные пунктирные, темные точки - основные и светлые - вспомогательные) (рис.).

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

3) Углы поворота могут задаваться величиной в градусах или интерактивно. Кроме того, обязательным является задание направления поворота.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

4) Кроме стилей объекты чертежа могут отличаться цветом. Цвет выделенных объектов— желтый, невыделенных - черный.

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

6) С выделенными объектами можно выполнять различные действия как с группой в целом, так и с единичными объектами: удаление, перемещение, поворот и т. д.

Простота синтаксиса и визуальный режим работы создаваемого наречия VISUAL BASIC FOR APPLICATION дает возможность пользователям с различным уровнем подготовки выполнять построение лекал одежды на экране компьютера при помощи мыши. Причем список доступных команд изменяется в зависимости от того, какие объекты выделены на экране.

Такой подход обеспечит диалог меэду пользователем и ЭВМ, сделает процесс проектирования наглядным за счет использования средств визуального программирования.

Литература

1. A.A. Аверьянов / Компьютер - самый главный инструмент для конструктора и технолога// Директор, № 1 (39), январь 2002.

2. Сайлер, Брайан, Споттс, Джефф. Использование VISUAL BASIC 6. Специальное издание.: Пер. с англ. -М.; СПб.; К.: Издательский дом "Вильяме", 2001. -832 с.: ил,-Парап. тит. англ.

РЕВЯКИНА Ольга Владимировна, старший преподаватель кафедры конструирования швейных изделий, аспирант.

УЛЬТАН Александр Ефимович, кандидат технических наук, доцент кафедры высшей математики и информатики.

i Надоели баннеры? Вы всегда можете отключить рекламу.