|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
15.07.2011, 09:31 | #1 | |
Как создать формулу для автоматического счета количества нужных объектов c чертежа?
Проектировщик
Владивосток
Регистрация: 06.02.2010
Сообщений: 6
|
||
Просмотров: 7895
|
|
||||
Регистрация: 25.09.2008
Новосибирск
Сообщений: 218
|
Можно сделать нечто подобное с помощью извлечения данных, будет таблица в автокаде, которая будет следить за количеством новых объектов. С Excel такой фокус не пройдет, насколько я помню.
Вот ссылочка в помощь, там вроде то, что тебе надо
__________________
www.saa-blogs.blogspot.com |
|||
|
||||
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
специалист по околачиванию грушевых деревьев Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 813
|
Цитата:
http://through-the-interface.typepad...ng-an-exc.html |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Как минимум через DXF (я в одном проекте это использовал) можно установить разное значение и отображение (текстовое) в ячейке - пары 1 и 302. То есть можно придумать свои формулы которые будет обрабатывать, либо по вызову команды(прочитал формулу - изменил отображение), либо вообще реактором на изменение документа - то есть в таблицу вбиваешь какой-нибудь #blockcount("Болт М8 по ГОСТ...."), а в ней будет отображатся текущее количество блоков(болтов). Беда в том, что эти отображения не работают (у меня не получилось) со стандартными табличными формулами - то есть если делать хорошо - надо добавить еще как минимум функци +-*/ скобки и пр. Так-же плюс функции подсчета аттрибутов и суммирования их значений. Проще всего это реализовать через eval - (просто запускаешь строку лисп кода идущего после определенного символа(@# например), а возврат заносишь в отображение ячейки), но в автолиспе eval работает только в общем окружении (там и окружений-то как таковых нет) - то есть потенциальная проблема безопасности (в ячейку запросто вирус или просто какую-нибудь гадость вписать можно). То есть по хорошему надо писать полноценный парсинг с отловом функций, расстановкой их по приоритетам (там всякие скобки, кавычки, умножение, сложение), но на это лично у меня совсем нет времени - будет время (и если еще кому-нибудь нужно) может "разрожусь". Программа-то на самом деле не сильно большая - но "продумать" всяких аспектов надо много.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Цитата:
p.s. Лично меня "кодерская" часть в данном исполнении нисколько не смущает, а уж диалект здесь дело 10-е - тут куча вопросов в правильной структуре формул и их связи между собой (по простому тут все строчек в 20-30 уложится), а по хорошему одно описание формул (словесное) - на пару страниц.
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 15.07.2011 в 19:54. |
|||
|
||||
Проектировщик Регистрация: 06.02.2010
Владивосток
Сообщений: 6
|
Суть в том что как связать таблицу с базой векторных объектов(например линий) в модели автокада, что бы превратить их в табличную матрицу, по которым EXEL будет искать нужное одинаковое значение. Как создать этот автономный "переход"
|
|||
|
||||
Альпар666, если необходимо (как я понял) из АКАДа в Ексел данные передавать автоматически при редактировании базы АКАДа, то тут ИМХО без реакторов (в случае LISP) и COM не обойтись. В случае VBA - отследить событие базы (редактирование) и опять COM.
Что касается COM-сервера, в данном случае это Ексел, необходимо иметь именованный диапазон (ячейку), которая будет отвечать за определенные примитивы. Я пользуюсь списками, а не диапазонами, ибо они гораздо более продуманные как раз для нашего случая. Могу сказать сразу, что автообновление - не самая лучшая практика, все это грузит систему, а при больших файлах - очень даже заметно. Я пользуюсь обновлением по запросу юзера. *** Или разговор сейчас о встроенных таблицах АКАДа? Или об OLE вхождениях? Последний раз редактировалось 5hev, 17.07.2011 в 17:45. Причина: не догнал |
||||
|
||||
Если под "тормозами" понимаешь снижение производительности при подсвечивании таблицы, то это легко отключается. Насчёт "убожества" - да, функционал ограничен, но работать с ним можно. В любом случае это лучше, чем в AutoCAD копировать таблицу Excel в виде OLE-объекта.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Архитектор Регистрация: 11.05.2010
Москва
Сообщений: 10
|
Цитата:
__________________
Scio nihil scire |
|||
|
||||
специалист по околачиванию грушевых деревьев Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 813
|
|
|||