|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как перерисовать Мультивыноску чтобы корректно отображались линии указатели?
Регистрация: 03.02.2017
Сообщений: 61
|
||
Просмотров: 831
|
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
У мультивыноски есть метод mleader.SetDogleg(i, mLeaderTextDoglegDirection); который и задает нужный Вам параметр.
Как это все работает можно посмотреть на примере вот этого кода: https://www.keanw.com/2016/09/jiggin...using-net.html там есть строки: Цитата:
|
|||
![]() |
|
||||
Регистрация: 03.02.2017
Сообщений: 61
|
Спасибо. За ответ.
Как я понял ml.SetDogleg устанавливает горизонтальную длину от линии до полки. А где там обновляем по ссыкле пока понять не могу. Пока сообразил такой способ у меня работает. Это все линии указатели удалить с сохранением координат, а потом их заново добавить при этом линии указатели корректно от рисуются. Код:
Цитата:
![]() Надо будет потом это использовать и по другому мультивыноски вставлять. |
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
Вы не правильно поняли "горизонтальную длину от линии до полки" устанавливает свойство ml.DoglegLength=50 , а метод ml.SetDogleg() устанавливает сторону с которой будет выноска, параметрами к этому методу передается индекс выноски, для которой нужно установить сторону и единичный вектор, показывающий с какой стороны её рисовать.
|
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
Цитата:
Код:
И что должно происходить при вызове этих методов? Последний раз редактировалось Boxa, 01.08.2024 в 16:39. |
|||
![]() |
|
||||
Регистрация: 03.02.2017
Сообщений: 61
|
Ясно, можно по другому. А можете дать ссылку на справку чтобы почитать что делает этот метод и что требует? Пытался найти не нашел.
Например что делает GetFirstVertex он получает первую вершину, а это какую, и тоже про GetLastVertex. Цитата:
|
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
Т.к. автодеск ушел из РФ и заблочил доступ к онлайн справке, то я смотрю в веб архиве http://web.archive.org/web/202406260...0-55F6A939B6F2
или можно смотреть в скачанном SDK, там в папке docs лежат файлы справки, можно просто выделив в студии тип объекта и нажав F12 посмотреть свойства и методы выбранного типа и по смыслу подобрать нужное, например: приведенные выше методы Point3d GetFirstVertex(int leaderLineIndex) и Point3d GetLastVertex(int leaderLineIndex) -> тут как бы имя передаваемого в эти методы аргумента (leaderLineIndex), тип возвращаемого объекта (Point3d) и имена самих методов (GetFirstVertex и GetLastVertex)намекают, что вызывая эти методы и передавая им индекс нужной выноски на выходе получите координаты точек начала или конца выноски. Цитата:
Вот вполне корректное обозначение, но не соответствующее Вашим критериям: ![]() Именно по этому программисту даются инструменты сделать так как он хочет. Забыл. Ну и конечно Google, если зпросы начинать со слов "autocad api c#" то найти можно очень много =) Последний раз редактировалось Boxa, 01.08.2024 в 18:03. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Какой стиль текста нужно установить, чтобы корректно отображались окна в Scad ? | jula89 | SCAD | 3 | 08.10.2019 15:19 |
Несплошные линии, X-refы и... задача | Vova | AutoCAD | 6 | 20.04.2018 16:14 |
отображаются не корректно кривые линии в автокаде | Marianna | AutoCAD | 9 | 11.04.2008 11:41 |
Загрузка типа линии из макроса | Кулик Алексей aka kpblc | Программирование | 4 | 24.01.2005 14:57 |