Меню Рубрики

Как в кореле написать скрипт

14.3. Использование скриптов

В CorelDRAW 10 вы можете использовать последовательности действий, разработанные профессиональными художниками. Такие последовательности называются скриптами. С помощью скриптов, например, можно из окружности сделать шар или кнопку, а также создать табличку из фигурного текста (Рис. 14.3). Некоторые скрипты реализуют оригинальные заливки. Часто скрипты включают в себя несколько эффектов. При выборе скрипта CorelDRAW 10 повторяет все действия, которые выполнял разработчик этого скрипта. Вам не надо выполнять все его действия для достижения аналогичного результата, достаточно выбрать нужный скрипт.

Рис. 14.3. Использование скриптов

Удобнее работать со скриптами с помощью специального закрепления. Выберите команду меню Window Dockers Corel Scripts Manager (Окно Закрепления Диспетчер скриптов Corel) и закрепление появится на экране (Рис. 14.4). В закреплении предлагаются все доступные скрипты, причем все они сопровождаются небольшими эскизами. Рассмотрим использование скриптов на простом примере. Создайте эллипс, после чего щелкните мышью на скрипте, создающем кнопку. Этот скрипт так и называется: Button (Кнопка). Объект и скрипт выделены, можно приступать к изменению объекта. Нажмите кнопку следующий, расположенную в нижней части закрепления. После этого начнет выполнятся скрипт. Это займет некоторое время, по окончании которого ваш эллипс будет преобразован в кнопку. Аналогично вы можете преобразовать любой объект. После преобразования вы можете продолжить редактирование объекта, например, поменять цвет или убрать ненужные детали. Часто требуется разгруппировать результат, чтобы отредактировать некоторые части. Обратите внимание, что в списке скриптов есть несколько папок, перейдя в которые вы найдете дополнительные скрипты. С их помощью можно применить к объекту распространенные заливки и менять контур.

Рис. 14.4. Закрепление для работы со скриптами

Графический редактор CorelDRAW 10 поддерживает скрипты, написанные на языке программирования Visual Basic. Если вы знакомы с этим языком, то можете создавать собственные скрипты и менять существующие. Однако в большинстве случаев эти возможности редактора не используются.

Источник статьи: http://corel.demiart.ru/book/14.3.htm

Как в кореле написать скрипт

На днях поступил новый интересный заказ – создание макроса для CorelDRAW. С визуал бейсиком (именно на разновидности VB пишутся макросы для таких программ) я не имел дела с университета, а по CorelDRAW имел только общее представление, так что с опаской взялся за оценку данной задачи. Однако, как оказалось зря: все просто. В этой статье я попробую показать вам, как можно написать простой макрос для CorelDRAW самостоятельно, даже не умея программировать.

Запускаем CorelDRAW (у меня, например, на данном ноутбуке версия 19, 2017), создаем новый документ – на чем то же мы будем работать, верно? Открываем «Диспетчер макросов», щелкаем правой кнопкой мыши на «Visual Basic for Application» — «Создать новый». Создаем, например, с именем «CopyUp.gms»:

Далее «Инструменты» — «Макросы» — «Редактор макросов» (или сразу ALT+F11) и видим наш новый проект слева вверху. Выделим наш проект, нажмем «Insert» — «UseForm» и вуаля – у нас появилась новая форма в проекте.

Если у вас есть опыт работы с визуальными редакторами (Visual Studio для C# или C++ либо JBuilder для Java, либо других), то вы без труда разберетесь с интерфейсом Microsoft Visual Basic for Application – все очень похоже. Например, нам надо изменить заголовок. Находим в столбце «Alphabetic» строку «Caption» изменяем там на необходимое нам.

Но нам надо, чтобы форма что-то делала, верно? Добавим на неё кнопку (рядом окошко с элементами Toolbox), двойной щелчок по кнопке, переходим в код (обработчик нажатия на неё) и вставляем следующее:

Если вы выберете форму, то уже сможете запустить её – F5 и посмотреть, как она выглядит. Однако, это еще не полноценный макрос, для того, чтобы сделать его таким, надо добавить модуль запуска. Выбираем «Insert» — «Module», добавляем модуль, переходим на вкладку с его кодом и добавляем такой код:

Теперь мы можете запустить макрос, перейдя в основное окно корела, нажать «Запустить макрос», выбрать из выпадающего списка наш и нажать «Run»:

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

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


Автор этого материала — я — Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML — то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

заметки, макросы, CorelDRAW, VBA

Источник статьи: http://upread.ru/art.php?id=399

Как в кореле написать скрипт

Макросы можно:
— создавать автоматически,
— писать «с нуля»,
— и среднее между первым и вторым.

Создавать автоматически.
Для этого в CorelDraw есть специальные возможности:
1) Командой «Записать» (Инструмент -> Visual Baisic -> Записать) (рис) создаем имя макроса и указываем, что дальше идет запись действий (не всех), которые вы хотите записать для автоматического воспроизводства.
2) Командой «Стоп» (Инструмент -> Visual Baisic -> Стоп) указываете, что запись закончена.
3) Воспроизвести выполненные действия — выполяете комаду «Проиграть» (Инструмент -> Visual Baisic -> Проиграть).
Сохраняя документ CorelDraw в формате *.cdr, вы автоматически сохраняете и структура макросов данного сеанса, правде при загрузке этого файла надо указать (система спросит)
«Enamle Macros». Примеры же автоматической организации макросов дан в уроке 1.

Писать «с нуля».
Здесь надо знать основы языка программирования
Visual Basic for Applications (см. например здесь), команды CorelDraw на VBA, Learning CorelSCRIPT и т.д., что довольно скучное занятие и под силу опытным программистам
(например, текст этого макроса через «Блокнот» или WordPad сохраните в файле с расширением *.csc (смотрите внимательно) и затем запустите макрос («Инструмент -> Запустите скрипт»). Вы получили макрос, написанный с нуля, правда, без всяких кодов CorelDraw.

Макросы — среднее между создавать их автоматически и писать «с нуля»
Чаще приходится дублировать действия. Одно действие при этом можно создать автоматически, а дальше дело техники (точнее некоторых приемов создания циклов на Visual Baisic). Поэтому требуется модернизировать макросы, созданные автоматически. При этом в той структуре (проектах), куда они записываются автоматически.

Пример 1. Создать макрос вращение отрезка вокруг его начальной точки.

Вот его текст
Sub Macro1()
Dim i As Integer
x1 = 4
y1 = 5
r = 4
ug0 = 0
num = 41
ugi = 6.28 / num
For i = 1 To num
ug = ug0 + i * ugi
x2 = x1 + r * Sin(ug)
y2 = y1 + r * Cos(ug)
Dim s104 As Shape
Dim crvs104 As Curve
Set crvs104 = CreateCurve(ActiveDocument)
With crvs104.CreateSubPath(x1, y1)
.AppendLineSegment x2, y2
End With
Set s104 = ActiveLayer.CreateCurve(crvs104)
k = k + 1
Next i
End Sub

Видно, что код создания отрезка (взят из автоматической записи макроса для отрезка) состоит из 6 строк:

Dim crvs104 As Curve
Set crvs104 = CreateCurve(ActiveDocument)
With crvs104.CreateSubPath(x1, y1)
.AppendLineSegment x2, y2
End With
Set s104 = ActiveLayer.CreateCurve(crvs104)
где x1,y1 и x2,y2 — координаты начала и конца отрезка.

Цикл организован так:
For i = 1 To num

Пример 2. Организовать перебор точек на отрезке прямой линии.

Sub Macro2()
Dim i As Integer
num = 25
r1 = -0.1
r2 = -0.1
r3 = 0.1
r4 = 0.1
x1 = 1
y1 = 1
x2 = 10
y2 = 7
tb = 1 / num
For i = 0 To num
t = i * tb
x = (1 — t) * x1 + t * x2
y = (1 — t) * y1 + t * y2
Dim s45 As Shape
Set s45 = ActiveLayer.CreateEllipse((x + r1), (y + r2), (x + r3), (y + r4), 90#, 90#, False)
s45.Fill.UniformColor.CMYKAssign 0, 100, 100, 0
Next i

Dim s104 As Shape
Dim crvs104 As Curve
Set crvs104 = CreateCurve(ActiveDocument)
With crvs104.CreateSubPath(x1, y1)
.AppendLineSegment x2, y2
End With
Set s104 = ActiveLayer.CreateCurve(crvs104)
End Sub

Для изображения точки и ее заливки цветом использован код:
Dim s45 As Shape
Set s45 = ActiveLayer.CreateEllipse((x + r1), (y + r2), (x + r3), (y + r4), 90#, 90#, False)
s45.Fill.UniformColor.CMYKAssign 0, 100, 100, 0

Пример 3. Определить минимальное расстояние от точки до отрезка. Показать ЦФ расстояния от точки до отрезка.

Вот цикл (полный т екст Макры 3 см. здесь ) (для CorelDraw 10 здесь)

For i = 0 To num
t = i * tb
x = (1 — t) * x1 + t * x2
y = (1 — t) * y1 + t * y2
Set s45 = ActiveLayer.CreateEllipse((x + r1), (y + r2), (x + r3), (y + r4), 90#, 90#, False)
s45.Fill.UniformColor.CMYKAssign 0, 100, 100, 0
Set crvs104 = CreateCurve(ActiveDocument)
With crvs104.CreateSubPath(x, y)
.AppendLineSegment x3, y3
End With
Set s104 = ActiveLayer.CreateCurve(crvs104)
s = Sqr((x — x3) * (x — x3) + (y — y3) * (y — y3))
Set s46 = ActiveLayer.CreateEllipse((x — r5), (s — r5 + 1), (x + r5), (s + r5 + 1), 90#, 90#, False)
s46.Fill.UniformColor.CMYKAssign 0, 100, 100, 100
If s В цикле происходит:
— перебор отрезков от точки до прямой,
— перебор точек на прямой,
— перебор точек на ЦФ на всей области существования ЦФ
— перебор точек на ЦФ до минимума расстояния от точки до прямой.

Чтобы загрузить текст макросов (все три макры здесь ) ( для CorelDraw 10 здесь ) в CorelDraw, нужно выполнить
1. Откройте CorelDraw (новый документ).
2. Создайте пустую запись макроса (Инструмент -> Visual Baisic -> Записать) (см. рис)
3. После того, как вы щелкните по «Записать» появится окно (рис), в котором после команды ОК вы создадите Макрос (пустой), который можно редактировать, в частности, записать в него свои тексты своих макросов.
4. Откойте макрос: (Инструмент -> Visual Baisic -> Проиграть)
5. После выполнений команды «Проиграть» появится окно, в котором надо выполнить команду Edit (редактирование).
6. Выполнив команду «Edit», вы автоматически попадате в редактор Visual Baisic, где будет текст вашего пустого макроса (рис.)
7. Через буфер (Ctrl + c) скопируйте туда набор данных макросов.
8. Запустите тот или иной макрос (Инструмент -> Visual Baisic -> Проиграть-> Макро 1,2,3 -> Run)
9. А сохранив файл CorelDraw, вы сохраните в нем и проект макросов.

Далее рассмотрим примеры построение муаров и использование случайных чисел (тексты 4-х макросов здесь) (для CorelDraw 10 здесь).

Пример 5. Муар на квадрате (Макро1)

Пример 6. Муар на треугольнике (Макро2)

Пример 7. Разбросать окружности на листе A4 случайным образом со случайной заливкой.

Пример 8. На листе A4 создать три формы: круг, квадрат и треугольник со случайной их заливкой.

Как загрузить макры в CorelDraw см. выше.

Примечание. При копировании текстов в рекдактор CorelSCRIPT строки могут быть скопированы с переносом, что вызовет ошибку (эти строки будут выделены), поэтому попытайтесь их сдвинуть влево.

Встроенные диалоговые окна: окна ввода и вывода

Sub Macro1()
Dim zF As String, zI As String
zF = InputBox(«Ваша фамилия», «Окно ввода»)
Dim s As Shape
Set s = ActiveLayer.CreateArtisticText(0, 0, zF)
With s.Text.FontProperties
.Name = «Arial» ‘ «Arial Black» «TimesET»
.Size = 40
End With
zI = «Борис»
Dim s1 As Shape
MsgBox «Ваша имя, братец, будет: » & zI
Set s1 = ActiveLayer.CreateArtisticText(2, 0, zI)
With s1.Text.FontProperties
.Name = «Arial»
.Size = 40
End With
End Sub

При выполнении графических работ требуется соблюдать ГОСТ, в частности, чертежи должны иметь основную надпись. Каждый раз ее чертить довольно трудоемкая работа. Можно хранить чертеж основной надписи в формате .cdr и им пользоваться, однако удобнее иметь макрос, с помощью которого можно в диалоге быстро внести свои данные

Пример 10. Написать макрос, который бы автоматически исполнял основую надпись с вводом в диалоге постоянных данных и переменных: фамилию, номер задания, лист, количество листов, название группы. Начала системы коордимнат поместим в нижний правй угол.
Решение задачи.
1. Выполним рамку и заполним ее на листе с сохранением сценария.
2. Организуем ввод и заполнении переменных данных через диалоговое окно ввода.

Протокол ввод текста на рабочее поле не записывает. Поэтому сначала рисуем прямоугольники (с левого нижнего угла вверх), а потом берем эти координаты и подставляем их в коды вывода нужного текста. Внизу в макросе показан этот прием.

Sub Macro2()
Dim s980 As Shape
Set s980 = ActiveLayer.CreateRectangle(2.786543, 2.676874, 5.645953, 3.549236, 0, 0, 0, 0)
Set s3 = ActiveLayer.CreateArtisticText(2.786543, 2.676874, «Проба»)
With s3.Text.FontProperties
.Name = «Arial»
.Size = 24
End With
End Sub
Макрос (CorelDraw11) построения «Основной надписи» с вводом в диалоге фамилий: кто выполнил, кто проверил, номер задания, название группы, номер варианта здесь.
Основнуюнадпись с макросом ввода своих данных в формате .cdr скачать отсюда.

Резюме. Используя макросы, можно автоматизировать некоторые часто повторяющиеся виды построений при графических работах. В данном наборе макросов собраны базовые элементы: отрезок прямой, окружность, прямоугольник, многоугольник и т.д.
В другом наборе задаются аксонометрические оси 5-ти стандартных аксонометрических проекций (изометрия, диметрия, фронтальная косоугольная изометрия и диметрия, горизонтальная косоугольная изометрия — зенитная проекция), применяемых в начертательной геометрии и черчении.

Источник статьи: http://vm.msun.ru/Ngeom/Corel_ng/Vvedenie.htm


0 0 голоса
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии