[CDR 2017-2021] Обрезать несколько замкнутых объектов другим объектом

  • Автор темы Автор темы Nameless950
  • Дата начала Дата начала

Nameless950

Участник
Топикстартер
Сообщения
30
Реакции
0
Здравствуйте. Необходимо обрезать несколько замкнутых кривых другим объектом, пользуюсь функцией "подгонка", но на выходе нужно получить разомкнутые линии в месте обрезания (чтобы концы не соединялись, а повисли в воздухе). С заведомо разомкнутыми всё работает как нужно. Подскажите как решить проблему?
 
Переведите пожалуйста с надмозгового на язык здорового человека что есть


Кэп советует разомкнуть контур и обрезать
Что кэп посоветует сделать с тысячей таких контуров? Оптимального решения не нашел

П.с.: "подгонка" это встроенная функция корела из серии "объединение, подгонка, пересечение, упрощение, передние минус задние" и т.д.
 
Последнее редактирование:
Что кэп посоветует сделать с тысячей таких контуров?
Разомкнуть-скомбинировать(сгруппировать)-обрезать-раскомбинировать(разгруппировать)
П.с.: "подгонка" это встроенная функция корела из серии "объединение, подгонка, пересечение, упрощение, передние минус задние" и т.д.
А, понятно, "подгон" в кореле здорового человека, вероятно, называется Trim
 
Разомкнуть-скомбинировать(сгруппировать)-обрезать-раскомбинировать(разгруппировать)
Можно какой-то командой разомкнуть все замкнутые кривые?
Если нельзя, то как из тысячи кривых на слое выделить только замкнутые, чтобы потом отдельно каждую разомкнуть?
Оптимально было бы конечно комплексно решить проблему без ручной работы, ибо объем работы большой. В голову приходит идея перевода кривой в множество кривых каким-то макросом, а потом уже обрезание этих кривых, но подобного макроса найти не могу, а написать не берусь, ибо 0 опыта в макросах.
 
Вот, наконец, наступил момент истины и вы сами (почти) пришли к правильной формулировке топикового вопроса
Можно какой-то командой разомкнуть все замкнутые кривые?
но подобного макроса найти не могу
Примерно как то так
Код:
Sub unclose()

Dim sh As Shape
For Each sh In ActivePage.FindShapes(Type:=cdrCurveShape)
 sh.Curve.Closed = False
Next sh

End Sub
 
Вот, наконец, наступил момент истины и вы сами (почти) пришли к правильной формулировке топикового вопроса


Примерно как то так
Код:
Sub unclose()

Dim sh As Shape
For Each sh In ActivePage.FindShapes(Type:=cdrCurveShape)
sh.Curve.Closed = False
Next sh

End Sub
Спасибо. Подскажете куда это писать? В меню создания макроса?
 
В кореле здорового человека это называется Visual Basic Editor, хотя, в топиковых версиях, возможно, и иначе, под рукой нет
А как надмозговые локализаторы перевели даже и думать боюсь
 
В кореле здорового человека это называется Visual Basic Editor, хотя, в топиковых версиях, возможно, и иначе, под рукой нет
А как надмозговые локализаторы перевели даже и думать боюсь
Спасибо, очень помогли. Разобрался, как и указали за вами - VSTA у меня. Проверил, работает. Благодарю