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()
--- Конец цитаты ---
Спасибо!
Навигация
Перейти к полной версии