| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как подсчитать динамические блоки с несколькими параметрами видимости?

Как подсчитать динамические блоки с несколькими параметрами видимости?

Ответ
Поиск в этой теме
Непрочитано 26.09.2016, 14:43 #1
Как подсчитать динамические блоки с несколькими параметрами видимости?
Zelbr
 
Регистрация: 26.09.2016
Сообщений: 15

Здравствуйте. Проблема такая:
Есть динамический блок с несколькими параметрами видимости (visibility set) Сделаны блоки по этой инструкции в 2011 автокаде.
Теперь суть дела.
Нужно это все подсчитать с учетом всех параметров видимости.
У меня сейчас в файле примера есть три параметра видимости:
- Номер рамы
- Балка под замену
- Контроль балки
На самом деле их будет около 16-20шт.
Есть лисп dbcount, но он считает только те видимости, которые установлены текущими.
Т.е. в моем примере на выходе получается что-то типа
=============================================
Block..................................Count
=============================================
Секция.....................................4
Норма...................................2
Контролировать балку....................2
=============================================
Можно, конечно, переключать текущий параметр видимости и считать заново, но это совсем не серьезно.
Нужно, чтобы я мог видеть кол-во балок под замену/контроль и остальные блоки, которых еще нет.
Т.е. нужно видеть все значения всех visibility set, которые есть в блоке.
Если на выходе данные будут в каком-нибудь формате, что их легко можно будет запихнуть в табличку эксель вида:

Номер рамы Контролировать балку Замена балки замена отбойника
без номера 2 х
1 1 х
2 3 х
3 1 х
4
n

и т.д.
, то будет вообще шикарно.
Возможно такое?

Вложения
Тип файла: dwg
DWG 2010
Пример.dwg (364.6 Кб, 20 просмотров)
Тип файла: lsp DBCountV1-1.lsp (10.5 Кб, 48 просмотров)

Просмотров: 3621
 
Непрочитано 26.09.2016, 14:53
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Наверное, возможно. Свой код показывай - будем разбираться.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 26.09.2016, 15:50
#3
Zelbr


 
Регистрация: 26.09.2016
Сообщений: 15


дык, был бы :-)
Я в лиспе, да и вообще в программировании ни в зуб ногой. Все, чем пользуюсь, приложил.

----- добавлено через ~1 ч. -----
Так, разобрался, как это делать через Extract_Data.
Теперь интересует другой вопрос. Можно ли сделать "кнопку", чтобы выполнялась Extract_Data с нужными мне колонками (линиями)?
Или это сильное колдунство, доступное за отдельные деньги?

Последний раз редактировалось Zelbr, 26.09.2016 в 17:06.
Zelbr вне форума  
 
Непрочитано 26.09.2016, 17:07
#4
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Цитата:
Сообщение от Zelbr Посмотреть сообщение
Все, чем пользуюсь, приложил.
И чем же ты пользуешься?
Вот что выдает программа Lee Mac DBCountV1-1r.lsp (здесь присутствует буква "r" - это моя русификация) после обработки вашего примера:

Команда: _appload DBCountV1-1r.lsp успешно загружено.
Команда:
:: DBCount.lsp | Version 1.1 | © Lee Mac 2016 www.lee-mac.com ::
:: Type "DBCount" to Invoke ::
Команда:
Команда: DBCOUNT

Выберите блоки для подсчета <all>:

=============================================
Блок..................................Кол-во
=============================================
A$C44E01825................................9
---------------------------------------------
A$C7356629C................................9
---------------------------------------------
Секция.....................................3
Норма...................................1
Контролировать балку....................2
---------------------------------------------
поврежден подпятник.......................12
=============================================
Вывести результат в [TXT/CSV] <exit>:
Profan вне форума  
 
Автор темы   Непрочитано 26.09.2016, 17:51
#5
Zelbr


 
Регистрация: 26.09.2016
Сообщений: 15


Цитата:
Сообщение от Profan Посмотреть сообщение
И чем же ты пользуешься?
Я, кажется написал выше. Тем, что выложил.
Выполняю dbcount, потом захожу в блок, меняю "активную видимость" на ту, что мне нужна, и выполняю еще раз dbcount. И так, через несколько повторов я получаю данные, что мне нужны. Короче, долго все делаю.
Меня спасает только то, что таких блоков, как в примере, у меня не 4, а 800-1000, так что все-равно, получается быстрее, чем вручную. И вот, я задался вопросом, как это дело еще ускорить.
Теперь, когда я разобрался, как это делать с помощью Extract_Data, меня интересует вопрос:

Цитата:
Можно ли сделать "кнопку", чтобы выполнялась Extract_Data с нужными мне колонками (линиями)?
Или это сильное колдунство, доступное за отдельные деньги?
Zelbr вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как подсчитать динамические блоки с несколькими параметрами видимости?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как выбрать динамические блоки по состоянию видимости? АлексЮстасу Динамические блоки 17 06.02.2022 14:36
Как в AutoCAD создать блок с несколькими ручками видимости? МишаИнженер Динамические блоки 15 06.03.2020 16:35
Болты высокопрочные, гайки, шайбы к ним в dwg, динамические блоки Tyhig Поиск литературы, чертежей, моделей и прочих материалов 7 21.10.2015 15:22
Динамические блоки при копировании перестают быть динамическими. *Voland* Динамические блоки 11 04.07.2012 10:51
чем взрывать динамические блоки? АлексЮстасу Динамические блоки 9 27.08.2011 13:14