Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: vermesser от 04-12-2019, 15:09:10

Название: Как создать стиль мультивыноски без стрелки?
Отправлено: vermesser от 04-12-2019, 15:09:10
Подскажите, пожалуйста, как создать стиль мультивыноски без стрелки.
Если не задавать свойство MLeaderStyle.ArrowSymbolId (или задать его равным ObjectId.Null/Nothing),
то стрелка всё равно будет присутствовать.
Название: Re: Как создать стиль мультивыноски без стрелки?
Отправлено: Александр Ривилис от 04-12-2019, 15:18:53
1. Смотрим есть ли в чертеже блок (BlockTableRecord) с именем "_None". Если нет, то создаём его без единого примитива.
2. Получаешь ObjectId у BlockTableRecord блока с именем "_None"
3. Присваиваем ArrowSymbolId полученный ObjectId.
Название: Re: Как создать стиль мультивыноски без стрелки?
Отправлено: Александр Ривилис от 04-12-2019, 15:24:43
В качестве альтернативы самостоятельному созданию блока "_None" можно задать системной переменной DIMBLK значение "_None" и AutoCAD сам создаст этот блок. Главное не забыть потом восстановить DIMBLK в предыдущее значение.
Название: Re: Как создать стиль мультивыноски без стрелки?
Отправлено: Александр Ривилис от 04-12-2019, 15:32:49
Вот статья которая описывает такие действия: https://adndevblog.typepad.com/autocad/2012/07/adding-mleader-style-.html
Только там выноска не "_NONE", а "_DOT". Но схема полностью аналогичная.
Название: Re: Как создать стиль мультивыноски без стрелки?
Отправлено: vermesser от 04-12-2019, 16:44:30
1. Смотрим есть ли в чертеже блок (BlockTableRecord) с именем "_None". Если нет, то создаём его без единого примитива.
2. Получаешь ObjectId у BlockTableRecord блока с именем "_None"
3. Присваиваем ArrowSymbolId полученный ObjectId.
Отлично помогло, спасибо!