ADN Club > ObjectARX

Рамка мультивыноски

(1/1)

VLADIMIRnext:
Добрый день.
Ковыряю выноску AcDbMLeader, вопрос.
Если текст выноски находится на чертеже в рамке, как можно узнать вершины полилиний для этой рамки?
Я вот итерируюсь по индексам линий выноски - LeaderLineIndexes, потом из каждой достаю вершины, но в этом случае учитываются только линии указывающие на текст выноски.

Примерно так думал делать:


--- Код - C++ [Выбрать] ---        AcArray<int> line_indexes;        pMLeaderEntity->getLeaderLineIndexes(line_indexes);        AcGePoint3dArray array_verts;        for(int i = 0; i < line_indexes.length(); i++){                int num_verts;                auto es = pMLeaderEntity->numVertices(line_indexes[i], num_verts);                if(es == Acad::eOk){                        for(int j = 0; j < num_verts; j++){                                AcGePoint3d vertex;                                auto es2 = pMLeaderEntity->getVertex(line_indexes[i], j, vertex);                                if(es2 ==Acad::eOk)                                array_verts.append(vertex);                        }                }        }
И еще=) как достать подсказку для тега атрибута из класса AcDbAttribute

Александр Ривилис:

--- Цитата: VLADIMIRnext от 03-06-2022, 10:37:51 ---И еще=)
--- Конец цитаты ---
Один вопрос - одна тема!

Александр Ривилис:

--- Цитата: VLADIMIRnext от 03-06-2022, 10:37:51 ---как достать подсказку для тега атрибута из класса AcDbAttribute
--- Конец цитаты ---
Подсказка есть не у атрибута (AcDbAttribute), а у определения атрибута (AcDbAttributeDefinition - методы prompt и promptConst)
В твоём случае нужно по tag атрибута найти определение атрибута и уже из него получить подсказку.

Александр Ривилис:

--- Цитата: VLADIMIRnext от 03-06-2022, 10:37:51 ---Если текст выноски находится на чертеже в рамке, как можно узнать вершины полилиний для этой рамки?
--- Конец цитаты ---
Простейший (если не единственный способ) - использовать метод explode() (не путать с командой _EXPLODE) и найти среди всех примитивов замкнутую (прямоугольную) полилинию.

VLADIMIRnext:

--- Цитата: Александр Ривилис от 04-06-2022, 22:26:16 ---Один вопрос - одна тема!
--- Конец цитаты ---
Больше такого не повторится=)

--- Цитата: Александр Ривилис от 04-06-2022, 22:52:02 ---использовать метод explode()
--- Конец цитаты ---
Спасибо!

Навигация

[0] Главная страница сообщений

Перейти к полной версии