Как в Corel 12 измерить длину наклонных объектов?

Статус
Закрыто для дальнейших ответов.

persik_55

Участник
Топикстартер
Сообщения
263
Реакции
0
Как измерить в Corel 12 длину стороны ромба, или длину наклонной прямой, т.е. чего-нибудь, расположенного под углом, а не строго горизонтально или вертикально?
 

sander

15 лет на форуме
Сообщения
1 562
Реакции
137
Ответ: Как в Corel 12 измерить длину наклонных объектов?

dimension tool + snapping
или по координатам пересчитывать в Excell
 

Вложения

  • Untitled-1.png
    Untitled-1.png
    11.2 КБ · Просм.: 1 628

persik_55

Участник
Топикстартер
Сообщения
263
Реакции
0
Ответ: Как в Corel 12 измерить длину наклонных объектов?

Если можно - объясните более детально. Что делать с shape, и что - с demension.
Я нарисовала горизонтальную линию с точным размером длины. Повернула ее на какой-то угол, выделила ее с помощью shape, инструментом dimension кликнула в начале линии, в конце линии и сбоку. Длина получилась не такая же, как была до поворота линии. Что я делаю не так?
 

LeGo

Участник
Сообщения
98
Реакции
0
Ответ: Как в Corel 12 измерить длину наклонных объектов?

а разве не легче вернуть объект в горизонтальное положение, увеличить/уменьшить, и развернуть обратно
 

Fog_patch

12 лет на форуме
Сообщения
3 163
Реакции
998
Ответ: Как в Corel 12 измерить длину наклонных объектов?

persik_55 сказал(а):
Длина получилась не такая же, как была до поворота линии. Что я делаю не так?

В Property Bar посмотри внимательно. Там есть режимы измерения — горизонтальный, вертикальный, наклонный и тп.
 

LeGo

Участник
Сообщения
98
Реакции
0
Ответ: Как в Corel 12 измерить длину наклонных объектов?

извините за сообщение не в тему, вместо измерить прочел изменить длину
 

sander

15 лет на форуме
Сообщения
1 562
Реакции
137
Ответ: Как в Corel 12 измерить длину наклонных объектов?

LeGo сказал(а):
а разве не легче вернуть объект в горизонтальное положение
Многогранник - не факт!
 

sander

15 лет на форуме
Сообщения
1 562
Реакции
137
Ответ: Как в Corel 12 измерить длину наклонных объектов?

persik_55 сказал(а):
. Что я делаю не так?
Мож инструмент не тот? Там их 3. Я пользовал Slated dimension. Dynamic guides включены?
 

persik_55

Участник
Топикстартер
Сообщения
263
Реакции
0
Ответ: Как в Corel 12 измерить длину наклонных объектов?

Да, в инструменте Dimension нужно выбрать в его палитре третий в строке слева (Slated dimension) и кликнуть точно в начале объекта, конце и в стороне. Покажет точные размеры наклонного объекта.
 

wOxxOm

Участник
Сообщения
798
Реакции
3
Ответ: Как в Corel 12 измерить длину наклонных объектов?

может кому-нибудь пригодится макрос от IsoCalc под названием Measure Perimeter - для измерения любых периметров
 

VATS

Участник
Сообщения
99
Реакции
0
Ответ: Как в Corel 12 измерить длину наклонных объектов?

wOxxOm
Спасибо!
Интересно, работает ли этот макрос в ХЗ?
Завтра на работе проверю. Очень нужная штукенция.
 

wOxxOm

Участник
Сообщения
798
Реакции
3
Ответ: Как в Corel 12 измерить длину наклонных объектов?

работает и в Х3 тоже.
Кстати по стандарту он просто показывает длину, но не дает ее скопировать в буфер, а я поменял msgbox на inputbox и теперь это число можно легко копировать (Ctrl-C)

А сам модуль-то очень простой -
Код:
Option Explicit

Public Sub measure_perimeter()
    Dim doc As Document, old_units As Long
    Dim sDupShape As Shape
    Dim length As String, shape_count As Long
    shape_count = ActiveSelection.Shapes.Count
    If shape_count > 0 Then
        'Set the document units to horizontal ruler units
        Set doc = ActiveDocument
        doc.BeginCommandGroup "IsoCalc.com's Perimeter temporary shapes"
        old_units = doc.Unit
        doc.Unit = doc.Rulers.HUnits
        'Get the length of the shape or shapes and tidy up
        ActiveSelection.Duplicate
        ActiveSelection.UngroupAll
        Set sDupShape = ActiveSelection.Combine
        length = (sDupShape.Curve.length * doc.WorldScale) & " " + Choose(doc.Unit + 1, " tenth-microns", _
                    " inches", " feet", "mm", "cm", " pixels", " miles", "m", _
                    "km", " didots", " Agate", "yds", " pica", " cicero", "pt", _
                    "Q", "H")
        doc.EndCommandGroup
        doc.Undo
        doc.Unit = old_units
        'Report the length
        If shape_count = 1 Then
            InputBox "The perimeter is " & length & ".", "IsoCalc.com's Perimeter", length
        Else
            InputBox "The sum perimeter of all " & shape_count & " shapes is " & length & ".", _
                    "IsoCalc.com's Perimeter", length
        End If
    End If
End Sub
 

SBdesign

Участник
Сообщения
3
Реакции
0
Знакомый код! Этот макрос был написан в 2001 году Nicholas Wilkinson. Имеет недостаток - объекты с большим количеством точек не может обработать, не может измерять сгуппированные объекты, есть ограничение по видам объектов.
Я написал более изощренный макрос (писал для себя), в котором есть все проверки на "векторность" и он сам отфильтровывает, подготавливает и измеряет, можно сказать, практически все объекты... т.е. можно выбрать (выделить) сразу всё и запустить макрос... он посчитает, выдаст статистику, да еще и создаст текст-результат измерения.
Рекомендую, он полностью бесплатный: http://maket.moy.su/publ/coreldraw_vychislenie_dliny_perimetra_vektornykh_figur/1-1-0-6
 

lev

Модератор
20 лет на форуме
Сообщения
2 147
Реакции
2 072
О том, что код написал Nicholas Wilkinson можно было понять прогулявшись по ссылке из 9-го поста, которая ещё была рабочей в 2006-м году.
не может измерять сгуппированные объекты
поясните следующий код:
Код:
ActiveSelection.Duplicate
ActiveSelection.UngroupAll
Set sDupShape = ActiveSelection.Combine
Работает ли Ваш код в CorelDRAW12? Если да, то мы перешлём Ваше решение в 2006 год топикстартеру.
 

SBdesign

Участник
Сообщения
3
Реакции
0
поясните следующий код:
Код:
ActiveSelection.Duplicate
ActiveSelection.UngroupAll
Set sDupShape = ActiveSelection.Combine
Да, выразился неточно, извините...
Уточню. Имел ввиду группу, когда в ней присутствуют объекты, не подлежащие измерению. По коду видно, что после разгуппирования макрос выполняет пытается выполнить Combine выбранных объектов, чего нельзя сделать с некоторыми типами объектов, - выдает ошибку.

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

Насчет версий Корела до Х3, - пока вопрос открыт. Я работаю над этим. Прошу, кстати, кого-нибудь мне помочь в тестировании, чтобы исправить возможные ошибки!
 

lev

Модератор
20 лет на форуме
Сообщения
2 147
Реакции
2 072
Не думаю, что будет очень много потребителий Вашего макроса работающих в версиях до Х3, это, просто, был намёк, что не стоило писать в тему 2006 года с заголовком ""как в Corel 12..." не гарантируя работу с версией указанной в заголовке темы.
 
Статус
Закрыто для дальнейших ответов.