Наверное каждый пользователь CorelDRAW, хоть раз, но сталкивался с такой проблемой, когда скомбинированные кривые (пути) имеют заливку даже в тех местах где должны быть просветы. И решение то вроде простое - поменять направление одного из путей. Но почему так происходит и что это за баг такой? А может не баг вовсе...
И действительно, это ни какой не баг, а одна из особенностей работы с кривыми. Всё дело в том что CorelDRAW поддерживает два режима заливки: Alternate и Winding.
По умолчанию в программе используется именно Alternate режим, а поменять его на Winding можно только из VBA. Но истинные причины появлений кривых с таким режимом заливки совсем не в VBA, а в импорте файлов ПостСкрипт форматов ( ai, pdf, eps ), где кривые могут иметь заливку с режимом Winding.
Кстати говоря, этот режим имеет одну дополнительную особенность - реверс направления пути приводит к появлению просвета, что в свою очередь позволяет использовать залитые участки с просветами в одной кривой.
Т.к. менять режим через пользовательский интерфейс нельзя, я написал макрос, который переключает режим заливки с одного на другой:
02 |
If ActiveSelectionRange.Count = 0 Then Exit Sub |
04 |
For Each s In ActiveSelectionRange |
06 |
If s.Fill.Type <> cdrNoFill Then |
07 |
If s.FillMode = cdrFillAlternate Then _ |
08 |
s.FillMode = cdrFillWinding Else _ |
09 |
s.FillMode = cdrFillAlternate |