[CDR 2025] Дорисовать скомбинированный объект макросом

Код:
Application.FrameWork.Automation.InvokeItem "ce73460f-ccd3-75a5-427a-0b5e757a642a"
'вызов/закрытие докера Join Curves
 
  • Спасибо
Реакции: Dinosaur
Не увидел последнего сообщения
 
Последнее редактирование:
Application.FrameWork.Automation.InvokeItem "ce73460f-ccd3-75a5-427a-0b5e757a642a"
Да, докер открывается, спасибо

Еще пытался вот так сделать, но нет
sr(1).Curve.Nodes.ALL.Application.FrameWork.Automation.InvokeItem "259d7733-648b-4eb3-ae96-3768ea6370d3" 'chamfer

В общем наверное всё, всем спасибо!!! Эта тема с InvokeItem для меня новая, я к ней позже вернусь
 
Я просто плохо понимаю InvokeItem "".
Если можно было сделать то, что делает докер Join Curve(chamfer), только в цикле макроса . Ну то есть по очереди перебирать шейпы (состоящие из отрезков, скомбинированные) и соединять их (с запасом взять Gap+ -).
 
Я просто плохо понимаю InvokeItem "".
Если можно было сделать то, что делает докер Join Curve(chamfer), только в цикле макроса . Ну то есть по очереди перебирать шейпы (состоящие из отрезков, скомбинированные) и соединять их (с запасом взять радиус+ -).
InvokeItem нельзя давать аргументом обьекты. Но можно выделять обьекты перед его запуском.
 
  • Спасибо
Реакции: zollinger и Dinosaur
так есть же метод closespoinnt или как там его.
пробегаем по всем концам. ищем к каждому концу ближайшую точку. и дорисовываем линию appendlinesegment
ну или делаем combine объекту и jointochedsubpath с параметром разворота линий и он всё соединит
 
  • Спасибо
Реакции: Dinosaur
Код:
    ActiveDocument.Unit = cdrMillimeter
    Dim s As Shape
    Dim s2 As New Shape
    
    Set s = ActiveSelection
    
    s2 = s.Curve.JoinTouchingSubpaths(True, 0.5)

Я пробовал JoinTouchingSubpaths, но шибка компиляции
 
Я не знаю, как я упустил этот код или сейчас просто сейчас увеличил tol = 1000, но самое главное, это работает!!!!!!!
Спасибо вам большое! всем спасибо за помощь!
Обязательно разберусь в этом коде!
вы же только учтите что там единицы документа стоят миллиметры.
если вы делаете tol = 1000 он будет искать в радиусе 1 метра.
 
вы же только учтите что там единицы документа стоят миллиметры.
если вы делаете tol = 1000 он будет искать в радиусе 1 метра.
Мы не знаем, какого размера у него кривые и что он вообще делает. Допуск в любом случае придется настраивать/подгонять
 
  • Спасибо
Реакции: DukereD