ПредишенСледващото

В този урок ние ще се опитаме да създадем най-простите и най-много според мен правилен, и така липсва Korela плъгин за измерване на дължината на криви. Възможност за дизайнерите е абсолютно ненужна функция, а хората, които използват Corel за всички видове технически приложения е много необходима функция. Забележка, не се нуждаят от програми на трети страни, не е нужно да изтеглите нещо, всеки, дори на непознат с програмни хора ще бъде в състояние да реши бързо и лесно за себе си тази тежка задача на пръв поглед.

Използването на имуществото на кривата "Дължина", можете да видите на дължината на кривата без да се прибягва до всякакви софтуерни трикове. Чудя се защо такава характеристика крива като дължината, които не са взети на прозореца на свойствата на Korela. Очевидно заминава за "иновации" в бъдещите версии. Така че ние се създаде нова функция, ние го наричаме такъв MyLength:

На следващо място, с помощта на кривата на дължина собственост, да извлече информация прозорец със стойността на избраната дължина на кривата:

Под MyLength ()
Дим S Както Форма
Дим Ln Както Двойна
Комплект възлага променлива S = ActiveShape "S всички свойства на избраната крива
Ln = S.Curve.Length "се отчита стойността на дължината на кривата
MsgBox Ln "извлече дължината използване на информация съобщение
End Sub

Най-простият вариант на запушалка съгласно дефиниция готов дължина крива. Сега е времето да се провери нашия код в действие. Равен всеки вектор елемент изисква превръщане в кривата ( "съединяващи се криви" CTRL + Q) за korelovskih примитиви като елипса, правоъгълник, многоъгълник. След това отворете плъгин дърво Инструменти / Macros / MacroManager (Alt + Shift + F11), да намерите името на нашия проект, в сегашния си модул, който ще бъде на всички функции, които създаваме, включително MyLength. това бягане виждаме числената стойност равна на дължината на избраната крива.

Но всеки път, когато се разпределят на крива по-скоро неприятно и ние искаме нашата приставка извежда стойността на всички избрани криви. За това ние използваме една линия, в която ние се оправи всичките ни криви, както и променлива сума на всички тези ценности. Също така предварително конвертируеми само в случай, всички от нашите позиции в кривите и не избрани Разгрупира. Обединението на всички наши действия и вземане на премахване в края, след получаване на дължините на всички елементи, върнете всички направени превръщането и разгрупирате в първоначалното му състояние. Ние се пригответе за приставки:

Публична Sub MyLength ()

ActiveDocument.Unit = cdrMillimeter "Посочете устройството по подразбиране на измерване
ActiveDocument.BeginCommandGroup "Посочете, че от тук започва една група от програмен код, който отменен с едно докосване" Отказ "
ActiveSelectionRange.UngroupAll "разгрупирате избраните обекти, ако има такива,
ActiveSelectionRange.ConvertToCurves "Конвертиране на всички елементи, тъй като кривите Дължината на имота е достъпна само за кривите

Дим S Както Форма
Дим Ln Както Двойна

За Всеки S В ActiveSelectionRange
Ln = Ln + S.Curve.Length
до

ActiveDocument.EndCommandGroup "Посочете тук zakazchivaetsya група от нашите действия
ActiveDocument.Undo "Тъй като общата дължина на стойността вече се съхранява в променливата LN, анулира всички промени, направени с кривите до първоначалното им състояние

MsgBox Ln "ММ". "Дължина криви" "изход стойността на общата дължина на всички избрани елементи.

Имайте предвид, че ние получаваме грешка при изчисляването на продължителността на криви такива обекти, които не могат да бъдат превърнати във вектори, например, растерни изображения, сенки.

Подкрепете проекта - споделете линка, благодаря!