Как повернуть несколько мультивыносок вместе со стрелкой?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как повернуть несколько мультивыносок вместе со стрелкой?

Как повернуть несколько мультивыносок вместе со стрелкой?

Ответ
Поиск в этой теме
Непрочитано 13.07.2025, 16:14 #1
Как повернуть несколько мультивыносок вместе со стрелкой?
mindchamber
 
Регистрация: 29.07.2017
Сообщений: 201

ДОброго дня. Не нашел решение как можно повернуть множество мультивыносок, чтобы относительное положение текста и стрелки не менялось.

Ниже 3 скрина

1) Исходное состояние
2) Как хотелось бы чтобы было
3) Как он поворачивает если я через свойства поворачиваю.

PS: выноски сохранять свое положение относительно геометрического центра (хотя бы примерно)

Миниатюры
Нажмите на изображение для увеличения
Название: 1.png
Просмотров: 28
Размер:	94.2 Кб
ID:	268788  Нажмите на изображение для увеличения
Название: 2.png
Просмотров: 27
Размер:	14.8 Кб
ID:	268789  Нажмите на изображение для увеличения
Название: 3.png
Просмотров: 21
Размер:	13.9 Кб
ID:	268790  

Просмотров: 341
 
Непрочитано 13.07.2025, 17:58
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,426


А обычная _.rotate не срабатывает? Это предположение, если что
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.07.2025, 18:32
1 | #3
Ingpro


 
Регистрация: 11.07.2022
Сообщений: 765


Цитата:
Сообщение от mindchamber Посмотреть сообщение
выноски сохранять свое положение относительно геометрического центра (хотя бы примерно)
Может подойти лисп MidRotate.lsp (автора не знаю), который позволяет выбирать несколько объектов, и поворачивать их вокруг своих центров.

----- добавлено через ~2 мин. -----
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
А обычная _.rotate не срабатывает?
обычная _.rotate запрашивает базовую точку и все объекты крутятся вокруг неё...
Миниатюры
Нажмите на изображение для увеличения
Название: Поворот объектов.png
Просмотров: 27
Размер:	15.6 Кб
ID:	268792  Нажмите на изображение для увеличения
Название: Поворот объектов1.png
Просмотров: 27
Размер:	8.8 Кб
ID:	268794  
Вложения
Тип файла: lsp MidRotate.lsp (566 байт, 6 просмотров)

Последний раз редактировалось Ingpro, 13.07.2025 в 18:49.
Ingpro вне форума  
 
Непрочитано 13.07.2025, 18:36
1 | #4
Dinoxromniy


 
Регистрация: 14.09.2020
Санкт-Петербург
Сообщений: 399


Цитата:
Сообщение от mindchamber Посмотреть сообщение
Ниже 3 скрина
Это как аудиосообщение в вотсапе, только скрины.

Цитата:
Сообщение от mindchamber Посмотреть сообщение
чтобы относительное положение текста и стрелки не менялось.
Если готовы заморочиться с VBA, то на нем код будет выглядеть примерно так (насколько можно писать код по скринам, у меня на примере сработало, у вас - кто ж кроме вас этот файл видел):
Код:
[Выделить все]
Sub rot_mleaders()
    Dim sstext As AcadSelectionSet
    Dim FilterType(0) As Integer
    Dim FilterData(0) As Variant
    Dim ent As AcadEntity
    Dim vrtPnt As Variant
    Dim dblPnt(0 To 2) As Double
    Dim ssObj As AcadSelectionSet
    For Each ssObj In ThisDrawing.SelectionSets
        If ssObj.name = "SS3" Then
        ssObj.Delete
        Exit For
        End If
    Next ssObj
    
    FilterType(0) = 0
    FilterData(0) = "MULTILEADER"
    ThisDrawing.SelectionSets.Add("SS3").SelectOnScreen FilterType, FilterData
    For Each ent In ThisDrawing.SelectionSets.Item("SS3")
    vrtPnt = ent.GetLeaderLineVertices(0)
    dblPnt(0) = vrtPnt(0)
    dblPnt(1) = vrtPnt(1)
    dblPnt(2) = vrtPnt(2)
        ent.Rotate dblPnt, Atn((vrtPnt(0) - vrtPnt(3)) / (vrtPnt(1) - vrtPnt(4)))
    
    Next ent
    ThisDrawing.SelectionSets.Item("SS3").Delete
End Sub
Если речь идет о каком то одном конкретном файле - можете приложить выкопировку мультивыносок в исходных координатах, я попробую повернуть и перевыложить. Поворот вокруг острия стрелки выноски.
Dinoxromniy вне форума  
 
Автор темы   Непрочитано 14.07.2025, 09:02
#5
mindchamber


 
Регистрация: 29.07.2017
Сообщений: 201


Цитата:
Сообщение от Ingpro Посмотреть сообщение
Может подойти лисп MidRotate.lsp (автора не знаю), который позволяет выбирать несколько объектов, и поворачивать их вокруг своих центров.

----- добавлено через ~2 мин. -----

обычная _.rotate запрашивает базовую точку и все объекты крутятся вокруг неё...
Спасибо, мужик. То что надо
mindchamber вне форума  
 
Непрочитано 14.07.2025, 09:26
1 | #6
Ingpro


 
Регистрация: 11.07.2022
Сообщений: 765


mindchamber, этот код выполняет поворот нескольких MULTILEADER относительно конца стрелки.
Миниатюры
Нажмите на изображение для увеличения
Название: MLROT.png
Просмотров: 24
Размер:	26.8 Кб
ID:	268810  
Вложения
Тип файла: lsp MLROT.lsp (977 байт, 8 просмотров)

Последний раз редактировалось Ingpro, 14.07.2025 в 10:43.
Ingpro вне форума  
 
Непрочитано 14.07.2025, 12:28
#7
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,813


mindchamber,
можно менять только угол каждой мультивыноски
Миниатюры
Нажмите на изображение для увеличения
Название: ML_Angle.jpg
Просмотров: 24
Размер:	42.8 Кб
ID:	268814  
__________________
K Lisp
koMon вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как повернуть несколько мультивыносок вместе со стрелкой?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли вести сразу несколько общих журналов работ? Alesandro68 Технология и организация строительства 7 22.07.2014 00:53
Несколько проблем при работе с Автокад Night_WolF_BLaCK AutoCAD 1 21.10.2012 11:09
ssget не выбирает несколько объектов gool Программирование 3 14.03.2012 12:20
Копирование несколько раз с относительной базовой точкой eugenmax AutoCAD 12 10.11.2011 16:59
Toolpalettes - несколько путей (ACAD 2005) Кулик Алексей aka kpblc AutoCAD 7 19.08.2005 17:17