Corel Draw X3: как размещать объекты точно на линии ?

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

Cyrax

Топикстартер
10 лет на форуме
Сообщения
588
Реакции
4
Имеется произвольная кривая. Необходимо разместить на ней ряд точек в произвольных местах линии, но чтобы точки были расположены строго на линии. Привязка к обектам задачу не решает, т.к. в этом случае привязка идёт только к определённым точкам кривой.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Ответ: Corel Draw X3: как размещать объекты точно на линии ?

Не пойму что-то, вам точки или объкеты на линии расположить надо? Если объекты, то к каким точкам объектов привязка, если объекты произвольные? По-моему задача поставленна некорректно.
 

Cyrax

Топикстартер
10 лет на форуме
Сообщения
588
Реакции
4
Ответ: Corel Draw X3: как размещать объекты точно на линии ?

На линии необходимо расположить об_екты, представленные окружностями с заливкой. Диаметр этих окружностей больше ширины линий. Вот эти окружности (самостоятельные об_екты), которые выше я назвал "точками", необходимо разместить в произвольной части кривой, но чтобы центры этих окружностей лежали строго на кривой.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Ответ: Corel Draw X3: как размещать объекты точно на линии ?

Окружности одинаковые? Тогда через перетекание (blend)
 

Cyrax

Топикстартер
10 лет на форуме
Сообщения
588
Реакции
4
Ответ: Corel Draw X3: как размещать объекты точно на линии ?

Перетекание не подходит по следующим причинам:
1. Расстояние (вдоль кривой) между центрами окружностей заранее неизвестно и не подчиняется никакому закону
2. Количество окружностей также заранее неизвестно и определяется только в процессе их расстановки на кривой
3. Окружности имеются 2 типов - правильная окружность и овал. Оба об_екта расставляются на прямой в перемешку.

Т.е. окружности и овалы расставляются на линии вручную и необходимо, чтобы центры этих окружностей "прилипали" к кривой.
Можно ли это реализовать без макросов ?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Ответ: Corel Draw X3: как размещать объекты точно на линии ?

Гм. Если так, то я навскидку не соображу как такое даже макросом реализовать можно :(
 

Cyrax

Топикстартер
10 лет на форуме
Сообщения
588
Реакции
4
Ответ: Corel Draw X3: как размещать объекты точно на линии ?

Если центр об_екта находится близко к кривой, перемещаем его на кривую. Только событий что-то нет там совсем (кроме SelectionChange). Может, смотрю не там ? Необходимо что-то вроде Moved или PositionChanged...
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Ответ: Corel Draw X3: как размещать объекты точно на линии ?

Это порочный путь. В принципе, хоть сам и не пробовал, теоретически можно отслеживать движение объекта мышью. Однако, представляете, как это тормозить будет? К тому же, на бейсике пересчитывать расстояние до произвольной кривой и ближайшую точку - это весьма серьезная математика. Даже лучше и не думать в эту сторону.
А чем не нравится поставить галку Snap to object, в установках Snap to object поставить установку High и галки на всех частях объекта. После чего берете искомый овал за центр и тянете вдоль кривой в нужное место - он существенно липнет центром к кривой.
 

Fog_patch

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

Т.к. суть задачи мне до конца не ясна, предлагаю несколько способов на выбор, может что-нибудь подойдет:
- вырезать объекты и вставлять как текст по пути
- сделать кисть Sprayer
- использовать fitobjects
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Ответ: Corel Draw X3: как размещать объекты точно на линии ?

Fit objects не пойдет по причине указанной в сообщении №5
Первые два варианта вообще не в тему
 

Fog_patch

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

Я вообще не понимаю что тут может быть в тему. Что должно быть в результате? Если снэп в старой версии не приклеивает объект к кривой, то почему нельзя увеличить число узлов на кривой?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Ответ: Corel Draw X3: как размещать объекты точно на линии ?

Зачем увеличивать? Snap to object превосходно клеит центр к любому месту кривой независимо от количества узлов. Проверьте сами, как я советовал в сообщении 8.
 

Fog_patch

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

У меня нет доступа к версии X3. У меня на новом компе стоит X5, а на древнем компе v11, и в ней снэп действительно не клеит к кривой, только к узлам.
 

Baryga88

Участник
Сообщения
130
Реакции
39
Ответ: Corel Draw X3: как размещать объекты точно на линии ?

Что-то я ничего не понял в этой каше. "Смешались кони, люди..." Как так, не решает проблему привязка к объектам? Если "точки" - это окружности и овалы, то при включении привязки, привязывается центр окружности (овала) к кривой. Он не привязывается к точкам на кривой. То, что Вы назвали привязкой к точкам - это привязка к узлам. А чтобы центр привязывался к любому месту на кривой, нужна привязка к краю (Edge) и центру (Center). Эти виды привязки включаются в Параметрах, в разделе "Привязка к объектам". Если у Вас эти варианты привязки не задействованы, то ничего у Вас и не получится. Так что проверьте настройки привязки в окне Параметры.
P. S. Справедливости ради скажу, я не помню, в Х3 эти настройки есть или нет, но по-моему уже были.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Ответ: Corel Draw X3: как размещать объекты точно на линии ?

Только что проверял в X3 и X5 - все нормально клеит. Еще раз объясняю - в настройках Snap to Objects ставите радиус побольше, все галки на Modes выделены. Затем, хватаете овал за центр (загорается синяя надпись center) тащите к кривой (загорается синяя надпись edge). После чего вдоль кривой в любое место.
 

Cyrax

Топикстартер
10 лет на форуме
Сообщения
588
Реакции
4
Ответ: Corel Draw X3: как размещать объекты точно на линии ?

Слабым звеном оказался глючный Corel. Если проверять привязку к об_ектам на тестовом примере - всё в порядке, центр окружности "липнет" к кривой. Но на моём файле с большим числом об_ектов (среди которых - об_екты-символы) при включении привязки Corel начинает глючить:
1. Если поставить только одну галочку - "по кривой", то при перемещении окружности через кривую никаких меток не появляется и круг к кривой не "липнет". При этом если спозиционировать круг вблизи прямой (на расстоянии от прямой, на котором должно работать "прилипание") и отпустить левую клавишу мыши, то на мгновение появляется метка "по кривой". При этом круг к кривой по прежнему не "прилипает", а остаётся там, где его отпустили.
2. Если же в свойствах привязки поставить все галки, то Corel вообще зависает на минуту при каждой попытке переместить кружок. Жесть.

Если удалить из файла все об_екты, кроме нескольких, то на оставшихся об_ектах привязка начинает работать нормально, без глюков.


Не по теме:
P.S. Запарился я с твёрдым знаком - вместо него B-тег вылазит. Твёрдый знак здесь невозможно написать. Бесит
 

suntory

Administrator
15 лет на форуме
Сообщения
23 351
Реакции
12 403
Ответ: Corel Draw X3: как размещать объекты точно на линии ?


Не по теме:
Cyrax
http://forum.rudtp.ru/showthread.php?t=48096
Пишите жалобы разработчикам vBulletin и CKEditor или пользуйтесь другим браузером

 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Ответ: Corel Draw X3: как размещать объекты точно на линии ?

Если проверять привязку к об_ектам на тестовом примере - всё в порядке, центр окружности "липнет" к кривой. Но на моём файле с большим числом об_ектов (среди которых - об_екты-символы) при включении привязки Corel начинает глючить
Это уже совсем другая проблема. А вот теперь представьте себе, что еще и скрипт будет дополнительно просчитывать расстояние до объектов - тормозить так будет что вообще работать невозможно. Думаю, проще вынести кривую в отдельный документ, расставить на ней кружочки-овальчики, сгруппировать и обратно втащить.
Другая идея - создать из кривой направляющую и попробовать привязку к направляющим включить. Но лично у меня это толком ничего не дало.

Или, проще, временно создать новый слой, перетащить туда кривую, на остальных слоях отключить видимость, расставить по кривой кружочки, после чего обратно всю конструкцию вернуть.
 
Статус
Закрыто для дальнейших ответов.