Сообщество программистов Autodesk в СНГ
ADN Club => AutoCAD .NET API => Тема начата: Павел55 от 27-08-2020, 09:53:50
-
Возможно ли как то узнать не общее количество вставок блока, а на конкретном листе?
-
Легко. Открываете PaperSpace этого листа и перебираете все его объекты ровно так же как внутри любого блока.
-
Совсем другое дело, если имеется задача найти объекты видимые во вьюпортах листа. Тоже можно. Но надо уточнить задачу.
-
Легко. Открываете PaperSpace этого листа и перебираете все его объекты ровно так же как внутри любого блока.
Допустим есть Id листа, как открыть PaperSpace листа?
-
Легко. Открываете PaperSpace этого листа и перебираете все его объекты ровно так же как внутри любого блока.
Есть альтернативный способ. Имея Layout.BlockTableRecordId для данного листа и BlockTableRecord для искомого блока, можнно воспользоваться методом BlockTableRecord.GetBlockReferenceIds для получения ObjectId для всех вставок блока. Ну и для каждой вставки блока проверить на равенство его OwnerId с Layout.BlockTableRecordId. Это для статических блоков. Для динамических чуть сложнее. Кроме BlockTableRecord.GetBlockReferenceIds нужно еще воспользоваться методом BlockTableRecord.GetAnonymousBlockIds для получения ObjectId BlockTableRecord анонимных блоков. С ними следует поступить так же как и с основной BlockTableRecord. Возможно этот способ будет более быстрым чем перебор всех объектов в листе.
-
Легко. Открываете PaperSpace этого листа и перебираете все его объекты ровно так же как внутри любого блока.
Допустим есть Id листа, как открыть PaperSpace листа?
Цитата: avc от 27-08-2020, 10:17:30
Легко. Открываете PaperSpace этого листа и перебираете все его объекты ровно так же как внутри любого блока.
Допустим есть Id листа, как открыть PaperSpace листа?
Id листа - это ObjectId для его Layout? Тогда Layout.BlockTableRecordId даст ObjectId соответствующий PaperSpace (PaperSpace - это BlockTableRecord для листа)
-
В качестве продолжения моего ответа посмотри эту статью: https://adn-cis.org/kak-najti-vse-vstavki-dinamicheskogo-bloka.html