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

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

Подсчет блоков в AutoCad2006

Ответ
Поиск в этой теме
Непрочитано 17.11.2006, 11:13 #1
Подсчет блоков в AutoCad2006
Natan
 
Самара
Регистрация: 16.11.2006
Сообщений: 3

Подскажите возможно ли как нибудь подсчитать количество блоков используемых на чертеже в система Автокад2006. Если да то как это можно сделать? Очень былобы удобно при составлении спецификации. :idea:
Просмотров: 19601
 
Непрочитано 17.11.2006, 11:18
#2
Romanich

Robot и Хобот
 
Регистрация: 29.08.2003
Abu Dhabi
Сообщений: 940
Отправить сообщение для Romanich с помощью Skype™


команда BCount, из экспресса
__________________
Robot и Хобот
Romanich вне форума  
 
Непрочитано 17.11.2006, 11:19
#3
X-DeViL

Бизнес-шмизнес
 
Регистрация: 26.05.2004
Питер
Сообщений: 1,911


QUICKSELECT

согласен с предыд оратором bcount - вызывается только из командной строки...
X-DeViL вне форума  
 
Автор темы   Непрочитано 17.11.2006, 11:51
#4
Natan


 
Регистрация: 16.11.2006
Самара
Сообщений: 3


И что мне с этим делать???? Если можно по подробнее
Natan вне форума  
 
Непрочитано 17.11.2006, 12:05
#5
X-DeViL

Бизнес-шмизнес
 
Регистрация: 26.05.2004
Питер
Сообщений: 1,911


Ну попробовать хэлп почитать наводку мы тебе дали... а дальше - ты тоже что нибудь сделай, а то "и рыбку съесть, и на х** ссесть" хочешь(с) не ленись и все будет...
X-DeViL вне форума  
 
Непрочитано 17.11.2006, 12:07
#6
Макс Тал.

строитель
 
Регистрация: 13.03.2005
СПб.
Сообщений: 216
<phrase 1=


Жми правой кнопкой и в меню уже ищи Быстрый выбор или(QUICKSELECT ) зависит от версии далее уже прость выбираеш как искать, или по слою, или по цвету, или по блоку, или по заданной длинне 8) короче там целая куча параметров, не ленись, а просто почитай.
Макс Тал. вне форума  
 
Непрочитано 17.11.2006, 12:53
#7
fenix

проектировщик-электрик
 
Регистрация: 20.06.2006
Сообщений: 459
<phrase 1=


если блоки с атрибутами, то можно извлечь атрибуты....заодно и посчитает
__________________
ужасно интересно всё то, что неизвестно
fenix вне форума  
 
Непрочитано 17.11.2006, 13:16
#8
maestro

проектировщик
 
Регистрация: 08.05.2004
Украина
Сообщений: 1,123
<phrase 1=


bcount галимый. Как и все укоманды экспресс тулза он не знает про дин. блоки и тупо игнорирует их, потому что они физически реализованы как анонимные, т.е. начинающиеся со "*". Так что галимая командочка.
maestro вне форума  
 
Непрочитано 17.11.2006, 13:19
#9
ытя


 
Регистрация: 23.09.2005
СПб
Сообщений: 424


Цитата:
если блоки с атрибутами, то можно извлечь атрибуты....заодно и посчитает
и без аттрибутов тоже
ытя вне форума  
 
Непрочитано 17.11.2006, 13:28
1 | #10
Кулик Алексей aka kpblc
Moderator

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


Для дин.блоков, без особых проверок, спробуй:
Код:
[Выделить все]
(defun c:blockcount (/ adoc selset res name)
  (vl-load-com)
  (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
  (if (setq selset (ssget '((0 . "INSERT"))))
    (progn
      (foreach blk
               (mapcar 'vlax-ename->vla-object
                       (vl-remove-if 'listp (mapcar 'cadr (ssnamex selset)))
                       ) ;_ end of mapcar
        (setq name (cond
                     ((and (vlax-property-available-p blk 'isdynamicblock)
                           (= (vla-get-isdynamicblock blk) :vlax-true)
                           ) ;_ end of and
                      (vla-get-effectivename blk)
                      )
                     (t (vla-get-name blk))
                     ) ;_ end of cond
              ) ;_ end of setq
        (if (member name (mapcar 'car res))
          (setq res (subst (cons name (1+ (cdr (assoc name res))))
                           (assoc name res)
                           res
                           ) ;_ end of subst
                ) ;_ end of setq
          (setq res (append res (list (cons name 1))))
          ) ;_ end of if
        ) ;_ end of foreach
      (princ "\nИмя\tКоличество")
      (foreach item res
        (princ (strcat "\n" (car item) "\t" (vl-princ-to-string (cdr item))))
        ) ;_ end of foreach
      (princ)
      ) ;_ end of progn
    ) ;_ end of if
  ) ;_ end of defun
Добавлено: атрибуты не забираются, значения динамических параметров тож.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.11.2006, 15:23
#11
Rost

Инженер-Архитектор
 
Регистрация: 20.03.2005
Сообщений: 776


Исчо filter помогает. Смысл такойже как и у КВИКСЕЛЕКТ. Только filter работает на заданной области а не во всем файле.
Rost вне форума  
 
Непрочитано 17.11.2006, 15:35
#12
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Быстрый выбор тоже работает в выделеной области.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 17.11.2006, 15:51
#13
X-DeViL

Бизнес-шмизнес
 
Регистрация: 26.05.2004
Питер
Сообщений: 1,911


kpblc

Нашел чего предлагать, человек не знает как команды писать, а ЛИСП
X-DeViL вне форума  
 
Непрочитано 17.11.2006, 15:55
#14
Кулик Алексей aka kpblc
Moderator

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


Ну ладно тебе, уже и покодить низя.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.11.2006, 16:33
1 | #15
MCAD


 
Блог
 
Регистрация: 05.01.2005
Сообщений: 1,694


Для поиска и подсчета блоков подходит команда СПДС, SpQs.
Возможности несколько выше чем у стандартной команды.
• = – равно;
• != – не равно;
• >, < – больше, меньше;
• >=, <= - не меньше, не больше;
• Like - поиск подстроки.
Может быть множественны, тоесть можно искать одновременно несколько блоков по разным условиям, а шаблоны поиска сохранять, для последующего использования.
[ATTACH]1163770424.gif[/ATTACH]
MCAD вне форума  
 
Непрочитано 01.12.2006, 15:22
#16
Витюн


 
Сообщений: n/a


2 Крыс
Хорошая работа.
 
 
Непрочитано 01.12.2006, 15:32
#17
Кулик Алексей aka kpblc
Moderator

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


Спасибо
Теперь осталось только в автодеск код отправить на предмет внедрения к ET
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 16.07.2007, 12:46
#18
Ander822


 
Регистрация: 16.07.2007
Minsk
Сообщений: 84


А вот если блоки содержат более мелкие блоки, и надо посчитать их количество не взрывая больших блоков?
Ander822 вне форума  
 
Непрочитано 16.07.2007, 13:11
#19
@LEXx

Инженер-строитель ПГС
 
Регистрация: 29.07.2006
г. Владимир
Сообщений: 1,125
Отправить сообщение для @LEXx с помощью Skype™


количество больших блоковхколичество мелких блокоф в большом блоке
__________________
Доверяй, но проверяйся
@LEXx вне форума  
 
Непрочитано 16.07.2007, 13:11
#20
Кулик Алексей aka kpblc
Moderator

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


Так... А вот теперь вопросы
- учитывать ли "родителя"?
- что делать с дин.блоками?
- что делаем с внешними ссылками?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Подсчет блоков в AutoCad2006

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

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