Четверг, 28.03.2024, 13:44 | | Регистрация | Вход
Главная » Статьи » Мои статьи

§ 11. CorelDRAW. Вычисление длины периметра векторных фигур.

 

УСОВЕРШЕНСТВОВАННАЯ ВЕРСИЯ "ПЕРИМЕТР 2014" 
 
К 2014 году я решил выдать на всеобщее рассмотрение новую версию этого макроса. Но! Работа над ним еще идет в направлении надежности. Поэтому настоятельно прошу хотя бы раз в неделю заходить сюда для обновления версии (или в комментах оставляйте адреса, я сделаю рассылку). Заранее прошу прощения за возможные неполадки или непредвиденные зависания Корела. 
 
Я полностью переписал его код под свои цели. Думаю, всем пригодится измеритель, способный обработать без ошибок неограниченное количество объектов, отсеивая при этом неизмеряемые (битмапы, эффекты и пр.), т.е. не нужно (как в других измерителях) предварительно готовить объекты к измерению. 
И хочу отметить еще два, на мой взгляд, удобных нововведения: 1) макрос "подсвечивает" объекты, которые измерил (остальные временно "прячет"); 2) макрос создаёт сторку-результат измерений там, где мы ему укажем.

 
Устанавливается так же, как все макросы - смотрите инструкцию ниже (в предыдущей версии)
 
Сначала о грустном: я проверял работу макроса пока еще не во всех версиях, только в Х6, Х5, Х4. Большая просьба, если у кого еще есть более ранние версии CorelDraw, проверьте сначала работу этого макроса, прежде чем пользоваться им. Например, в версии CorelDraw 11 неизмеряемые объекты исчезают навсегда. Я постараюсь в ближайшее время устранить этот недостаток.
 
Итак, описание новой версии:
 
1) Ввиду особенностей матаппарата самого CorelDraw, точность измерения длин криволинейных фигур не является абсолютно точной. Погрешность составляет 0,01%, т.е. если периметр получился, например, 10 метров, то ошибка составит +- 1 миллиметр. Для дизайна - это сверхточность.
 
2) Макрос анализирует типы объектов и производит определенные действия с ними:
 
– отсеивание объектов, не подлежащих измерению: bitmap, OLE, linear dimension, mesh fill, HTML;
– drop-shadow (тени) - "исчезают" и измеряется только ВЕКТОРНЫЙ источник;
– artistic media перья (спрей, разбрызгивание объектов и т.д.) - измеряется только направляющая кривая;
– эффект контейнера - измеряется только периметр контейнера, содержимое не учитывается;
– эффект bevel - измеряется только основной объект;
– размерные линии (linear dimention) - не измеряются;
– любые типы текстовых объектов можно не переводить в кривые, они будут посчитаны;
– объект Таблица тоже входит в измеряемые объекты и будет измерен;
– измеряются также без проблем: сгруппированные разнотипные объекты, эффекты:  контур,  экструзия, конверт, перспектива, перетекание объектов;
– эффект перетекания объектов вычисляется полностью, т.е. оба базовых и все перетекающие объекты.
 
3) Более надежный алгоритм:

– не возникает программной ошибки в случае объектов с большим количеством точек. Например, веторные кривые, полученные трассировкой изображений в CorelTRACE;

4) Визуализация процесса:
 
– все объекты, которые подлежат измерению, подсвечиваются желтым контуром, а те, которые не измеряются - "исчезают" на время работы макроса. Всё это можно увидеть, предварительно выставив зум на выделенные объекты, а затем при появлении окна, перемещая его по экрану. Но! Есть у меня уже версия, где окно программное не появляется, а информация создаётся в документе в виде текста; 
 
5) Получение итогов:
 
– выводится в окне статистика о количестве измеренных и неизмеренных объектов;
– по завершению работы макрос спросит, нужно ли создать текст с полученным результатом измерений. Если ответ "Да", то нужно кликнуть в то место, где должен появиться этот тект.
 
6) Планы на будущее:
– предполагаю добавить возможность измерять периметр битмапов. Я имею ввиду периметр контурной рамки, которую мы зачастую редактируем у битмапов;
– надеюсь на вашу информационную поддержку, т.е. на отзывы, замечания, пожелания и т.д., чтобы я мог усовершенствовать этот инструмент.
 
Ну, и наконец, на всякий случай для формальности замечу, что программка - бесплатная. Хотите - пользуйтесь, хотите - нет. Я не несу ответственности за возможные сбои, ошибки и т.п. последствия работы этого макроса. При возникновении таких случаев я обещаю разобраться в ситуации и сделать попытку исправить код макроса. Вобщем, всё будет видно по отзывам. Надеюсь на вас.

 
 
С уважением, Сергей Баюров, г. Харьков.
 

 


 

ПРЕДЫДУЩАЯ ВЕРСИЯ МАКРОСА:

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

Итак... весь процесс займет у вас пять-десять минут. 

1) Закройте полностью CorelDraw (если он был открыт, конечно).

2) Скачиваем:   ССЫЛКА ДЛЯ СКАЧИВАНИЯ ПРОГРАММКИ

3) Переносим ее в директорию, где у вас  установлен Корел (или сразу туда скачиваем), у меня этот путь выглядит так:    C:\Program Files\Corel\CorelDRAW Graphics Suite X5\Draw\GMS

или так:    C:\Program Files(x86)\Corel\CorelDRAW Graphics Suite X5\Draw\GMS

4) Чтобы иметь этот инструмент "под рукой", нужно установить его значок в панель инструментов Корела. Кто знает как, можете пропустить этот пункт.

Запускаем CorelDraw (создаем пустой документ). Ищем и нажимаем:

— в меню: Инструменты/Параметры (Tools/Options) или нажимаем Ctrl+J. Откроется окно настроек Корела;

— в открывшемся окне: Рабочее пространство-Настройки-Команды (Workspace-Customization-Commands); 

— в раскрывшемся пункте:  Макросы (Macros) - найдите в выпадающем списке (вверху возле бинокля);

— в появившемся списке:  PerimeterModule... ;

— осталось выбрать вид иконки, открыв вкладку Вид (Appearance) - это на ваше усмотрение, можно в том окошке нарисовать свою, можно импортировать готовую...  например мою: 

  - ссылка для скачивания иконки 

  Выглядит это так:  

 

5) Теперь осталось ухватить макрос за значок (возле названия PerimeterModule) и перетянуть на любую рабочую панель инструментов (или просто на рабочее поле - будет создана индивидуальная панелька для этого макроса).

6) Не забудьте сказать "ОК" внизу окна Параметров, чтобы сохранить проделанную работу.

7) И, на всякий случай, нажмите: Инструменты/Сохранить как настройки по умолчанию  (Tools/Save_settings_as_Default) .

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

Если чуда не произошло (окошко с информацией не появилось), значит у вас не установлен модуль VBA (visual basic for applications). Не беда! Сейчас установим.

— закрываем CorelDraw и запускаем инсталляцию Корела, ждем появления первого окна

— в первом окне выбираем пункт "Модифицировать" (Modify), а в некоторых версиях  "Add/Remove components" (добавить/удалить компоненты), жмем "Далее" (Next);

— в следующем окне переключаемся на закладку "Особенности" (Features) и жмем справа от пункта "Утилиты" (Utilites) на список и устанавливаем в нем галочку напротив пункта  Visual Basic for Applications, нажимаем "Далее" (Next) - и так далее подтверждаем, где надо, уже до конца установки. 

или возможен такой вид окна:

  

Запускаем CorelDraw и, если сделано все правильно, то макрос должен заработать. Проверяем!

Если не работает, то пишите мне гневный комментарий :) постараюсь помочь.

 

Вот и всё. Вуаля!

 

Авторcтво программы "PerimeterModule" Copyright © Nicholas Wilkinson 2001.

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


К списку статей

Близкие по теме материалы:


§ 13. CorelDraw. Генератор календарной сетки на три тысячелетия

§ 15. CorelDRAW и люверсы. Программа разметки макета баннера.





Категория: Мои статьи | Добавил: sb (28.07.2010)
Просмотров: 87493 | Комментарии: 28 | Теги: длина периметра, макрос CorelDraw, вычислить длину корел, измерение длины корел, длина периметра корел, периметр корел, векторные фигуры
Всего комментариев: 281 2 3 »
28 Натали  
0
cool Вы лучший, даже такой чайник как я смогла сделать это. Спасибо огромное! Очень полезная функция. СПАСИБО

27 admin  
0
Огромное спасибо! Очень классный макрос по подсчету периметра!!!!

26 АмирРома  
0
Спасибо!

24 PRINT3000  
1
Спасибо! Отличная, полезная вещь! Занимаемся наружкой )
Ой...) на дворе уже 2017 од. Последний коммент передо мной 2011

25 SERzh  
0
Это не последний в 2011, это первый комментарий был в 2011-м.

23 PRINT3000  
0
Спасибо! Отличная, полезная вещь! Занимаемся наружкой )

21 stepanovmishail  
0
Добрый вечер,спасибо работает,а как поменять мм на метры?

22 SERzh  
1
Макрос выводит результат в тех единицах измерения, какие установлены в данный момент в самом CorelDraw.
Чтобы их поменять, кликните в пустое место (чтобы не было выделено ни одного объекта), в одной из панелей инструментов (у меня вторая сверху) увидите кнопку с текущими единицами измерения (миллиметры/метры/дюймы/ ....) в ней и поменяйте их на нужные вам. После этого макрос будет выводить результат именно в них.

20 sffedosov  
0
Спасибо Вам большое! Отличный и нужный макрос!

19 ntassadar  
0
Крутяк, поставил на Х8, работает отлично, без проблем. Установка проще пареной репы: открываем диспетчер макросов, кнопка загрузить, ищем скаченый .gsm файл, ОК. Готово!
Огромное спасибо.

18 cyber4ainik  
0
БОЛЬШОЕ СПАСИБО!
Отлично работает. И с группами. И отверстия учитывает в фигурах. Супер!!!

17 Сергей  
0
Очень помогло, всё сработало без проблем Спасибо Внимательному к Деталям Хозяину этой страницы!

1-10 11-20 21-24
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]