Пунктирные и размерные линии на VBA CorelDraw
Займёмся расширением кругозора по командам VBA CorelDraw. В этой небольшой заметке мы научимся создавать пунктирные и размерные линии с помощью макроса VBA.
Не буду заставлять вас долго ждать, вот функция VBA, которая рисует пунктирную линию:
Sub DrawCurve(node1X, node1Y, node2X, node2Y) Dim s As Shape Dim crv As Curve Dim sp As SubPath Dim cdrType As cdrDimensionType Set crv = CreateCurve(ActiveDocument) Set sp = crv.CreateSubPath(node1X, node1Y) sp.AppendLineSegment node1X, node1Y, False sp.AppendLineSegment node2X, node2Y, False Set s = ActiveLayer.CreateCurve(crv) s.Outline.SetProperties Width:=0.2, Style:=OutlineStyles(8), DashDotLength:=4# End Sub
В строках 2-5 мы вводим необходимые переменные, в шестой инициализируем кривую для данного активного документа. В строках 7-9 добавляем сегмент и точки для данного сегмента (как бы конструируем контур). В 10 непосредственно создаем абрис, а в 11 устанавливаем необходимые параметры для него: толщина и тип прерывистой линии. Если теперь после выполнения данного кода заглянуть в параметры созданного объекта, то увидим примерно такую картину:

Дальше для этого абриса необходимо проставить размерную линии. И для этого есть встроенные средства CоrelDraw. Готовая функция для рисования:
Sub DrawRazmer(x, sx, y, sy, cdrType, r) Dim pt1 As SnapPoint, pt2 As SnapPoint Dim s As Shape ActiveDocument.Unit = cdrMillimeter Set pt1 = CreateSnapPoint(x, y) If cdrType = cdrDimensionHorizontal Then Set pt2 = CreateSnapPoint(x + sx, y) Set s = ActiveLayer.CreateLinearDimension(cdrType, pt1, pt2, True, , , cdrDimensionStyleDecimal, False, False, Placement:=cdrDimensionWithinLine, HorizontalText:=False, BoxedText:=False, LeadingZero:=True, Prefix:="", Suffix:="", OutlineWidth:=-1, Arrows:=ArrowHeads(1), OutlineColor:=CreateCMYKColor(75, 68, 67, 90), TextFont:="Verdana", TextSize:=10, TextColor:=CreateCMYKColor(75, 68, 67, 90)) s.Dimension.TextShape.SetPosition x + sx / 2, y + r Else Set pt2 = CreateSnapPoint(x, y + sy) Set s = ActiveLayer.CreateLinearDimension(cdrType, pt1, pt2, True, , , cdrDimensionStyleDecimal, False, False, Placement:=cdrDimensionWithinLine, HorizontalText:=False, BoxedText:=False, LeadingZero:=True, Prefix:="", Suffix:="", OutlineWidth:=-1, Arrows:=ArrowHeads(1), OutlineColor:=CreateCMYKColor(75, 68, 67, 90), TextFont:="Verdana", TextSize:=10, TextColor:=CreateCMYKColor(75, 68, 67, 90)) s.Dimension.TextShape.SetPosition x + r, y End If End Sub
Здесь мы на вход принимаем координаты первоначальной точки, смещение, направление (горизонтально или вертикально), а также отступ. Интересно, что функция CreateLinearDimension немного по-разному работает в разных версиях CorelDraw. Например, в шестом кореле отключение отображения единиц измерения работает, а вот в 2018 – нет, все равно ставятся миллиметры или дюймы.

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

Статьи по теме:
- Как нарисовать линию в Corel
- Как нарисовать прямую линию
- Как поменять толщину линий
Вам понадобится
- — персональный компьютер.
Инструкция
Нарисуйте прямую линию. Для этого в левом столбике инструментов рисования выберите значок, на котором изображен заточенный кончик карандаша. Он находится в верхней части столбца. Выпадет горизонтальная панель инструментов. Из нее выберите инструмент, который называется «ломаная линия». Он наиболее удобен и прост в использовании. Поставьте курсор в точку, из которой будет выходить линия, и нажмите левую кнопку мыши. Ведите курсор до нужной вам длины и щелкните дважды левой кнопкой. Обратите внимание, что при начале рисования линии щелчок должен быть один, а в конце – два. Учтите, что линия, нарисованная таким инструментом, будет сверхтонкой и при печати на бумаге не будет видна.
Выберите обязательно толщину линии в верхней строке инструментов в окошке, расположенном с правой стороны. Максимальное значение там 2,0 мм. Если нужно больше, то сделайте ручной ввод цифр с клавиатуры.
Поверните линию. Для этого выберите верхний инструмент левого столбца инструментов, который называется «указатель». Перетащите его на нарисованную линию и дважды щелкните левой кнопкой мышки до появления стрелочек с обеих сторон. Захватите мышкой эти стрелки и поверните так линию, как вам нужно.
Нарисуйте длинную или короткую линии. Для этого на уже имеющуюся линию наведите инструментом «указатель» и щелкните один раз левой кнопкой мышки. С обеих сторон появятся черные квадратики. Зацепите их и ведите в середину для сокращения линии и вовне для ее удлинения.
Нарисуйте цветную линию. Наведите инструментом «указатель» на линию и выделите ее легким щелчком левой кнопки. Теперь выберите цвет, находящийся в палитре, которая расположена с правой стороны столбиком. Когда цвет выбрали, сделайте щелчок правой (!) кнопкой – линия закрасится. Поменяйте цвет на любой другой аналогичным образом.
Нарисуйте пунктирную линию. Для этого выделите линию «указателем». Потом в окошке, расположенном рядом от окошка с выбором толщины линии, выберите нужный пунктир. В соседних окнах выберите также конечный наконечник, т.е. либо стрелочки, либо другие знаки.
- корел как рисовать
Совет полезен?
Статьи по теме:
- Как построить прямую линию
- Как перевести текст в кривые в Corel
- Как вырезать объект в Corel
Добавить комментарий к статье
Похожие советы
- Как в Corel вырезать фигуру
- «Красные флажки» от Джима Коллинза
- Как сделать календарь в Кореле
- Как рисовать векторные рисунки
- Как в Кореле сохранить
- Как в Coreldraw сделать прозрачный фон
- Как в Кореле вырезать объект
- Как в Кореле вырезать
- Как вставить текст в Corel
- Как перевести текст в кривые
- Как научиться рисовать мышкой
- Как нарисовать вектор
- Как нарисовать красивое сердечко в Corel
- Жизнь в полосочку
- Как сделать контур рисунка
- Как нарисовать пунктирную
- Как сделать визитку в Corel
- Как перевести в кривые в Иллюстраторе
- Как установить шрифт в корел
- Как дозвониться в студию «Лото забава»
КАК нарисовать штрих пунктирную кривую в кореле
Нажмите F5, включится инструмент «свободная форма». Нарисуйте нужную вам линию (если линия нужна плавная, волнистая и пр. — просто рисуйте с нажатой левой клавишей мыши, если линии нужные прямые, с углами — щелкните дважды по месту первой точки, отведите к месту второй точки, щелкните один раз. . если нужно продолжение этой линии, опять щелкните дважды на последней точке, переместите мышку в новое место, щелкните один раз — линия продолжится) .
Затем нажмите правой клавишей по нарисованной линии, выберите самый нижний пункт «Свойства», а в нем — «Стиль линии». и там уже — подходящий вам.

То же самое можно сделать и дважды щелкнув левой клавишей на черный прямоугольник в правом нижнем углу окна программы. Появится следующее окно (Перо абриса — Outline Pen):
Выбираете Style (Стиль).. .
В значении width (ширина) вы выбираете толщину линии.
Похожие вопросы
Stroke пунктир в curves
Как пунктирную линию сделанную при помощи stroke dashed line преобразовать в кривые. или разбить на объекты с заливкой fill (пусть их даже много получится). Это я все для переноса в корел. Он строке пунктирное не понимает.
И вообще я перевожу в корел макеты из ai предварительно сохранив файл как pdf (его корел читает). Может есть более грамотные способы.
Guest
ЗАЧЕМ В КОРЕЛ.
Guest
В меню Object-> Expand.
Guest
профи сразу видно. Просто сначала сам свой ЭКСПАНД попробуй,
и увидешь что получишь далеко не ДЭШЛАЙН.
Guest
правильно замечено про corel им лучше не пользоваться ато проблем будет ещё больше
object-flatten transparency установки по усмотрению
Guest
корел епсы запросто открывает
Guest
Все кто откликнулся, спасибо огромное. Хелп перечитал а как слово трансперенси видел пролистывал . Все гуд. А по поводу зачем корел.? Очень просто. В издательских фирмах далеко не гуру железа и уж темболее софта и поэтому в илючтраторе не принимают. А мне для гибкости работы очень удосно в иллюстраторе. Потом все заготовки использую в AE 5.5 теперь медленными шажками на 6 перехожу.