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

ADN Club => AutoCAD .NET API => Тема начата: Luca от 03-11-2019, 15:55:20

Название: Автоматическая нумерация блоков
Отправлено: Luca от 03-11-2019, 15:55:20
Уважаемые форумчане.
Решил автоматизировать процесс разработки и первая задача, которая возникла следующая:
1. Как автоматически пронумеровать блоки?
например, есть блок (условно)
(https://i.postimg.cc/fSSwJ95F/DEV-1.jpg) (https://postimg.cc/fSSwJ95F)
и мне необходимо автоматически последний индекс указать.
Кстати, а я могу вызывать команду с параметрами? Это нужно, чтобы первые два индекса указать, тк они для чертежа постоянны, а последний индекс указать с какого начинать и дальше программа сама пронумерует и посчитает количество или параметры можно задать только из диалоговых окон, но не из командной строки?
Решение видится примерно таким:
1. Запросить 3 числовых параметра
2. Выбрать все блоки с именем "DEV"
3. Отсортировать слева-направо и сверху-вниз
4. Пронумеровать
для этого все блоки должны быть на одном слое (упростит задачу и сэкономит время). а дальше ...
как правильно оформить блок, чтобы к его текстовому свойству можно было легко обратиться?
может тогда блок вообще формировать динамически? но тогда не понимаю как его добавлять... так накопипастил сколько надо ввел команду  numberDevice 2 3 45 (пронумеровать устройство x=2,y=3, z начинать нумеровать с 45, например) и с возможностью перенумеровывать чтобы ) 
и надо, чтобы на слое еще какой-то объект был, который бы сохранял кол-во разных устройств на чертеже.
в связи с этим возникли вопросы:
1.как мне получить дескриптор нужного слоя?
нашел я в API такую штукуAutodesk.AutoCAD.LayerManager.LayerCollection
там методы add,remove... но как с неё получить нужный слой по имени?
2. получить все блоки с этого слоя
это даже не представляю как сделать, пока. у слоя должен быть какой-то метод перебора блоков, которые он содержит...
как получить коллекцию блоков (по имени) со слоя?





Название: Re: Автоматическая нумерация блоков
Отправлено: Александр Ривилис от 03-11-2019, 15:57:01
Luca,
А теперь всё тоже самое, только по принципу "Один вопрос - одна тема!".
Название: Re: Автоматическая нумерация блоков
Отправлено: Luca от 03-11-2019, 15:59:47
А теперь всё тоже самое, только по принципу "Один вопрос - одна тема!".
а можно два? ))
1. как получить дескриптор слоя по его имени?
2. как получить коллекцию блоков (тоже по имени), которые этот слой содержит?
Название: Re: Автоматическая нумерация блоков
Отправлено: Александр Ривилис от 03-11-2019, 16:00:27
а можно два? ))
Нет. Это две разных темы.
Тему разделил.