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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > В учебных целях поднимаю свой старый топик (Создание поля-счётчика листов в dwg-файле)

В учебных целях поднимаю свой старый топик (Создание поля-счётчика листов в dwg-файле)

Ответ
Поиск в этой теме
Непрочитано 26.10.2009, 14:40 #1
В учебных целях поднимаю свой старый топик (Создание поля-счётчика листов в dwg-файле)
hwd
 
C, C++, C#
 
С-Пб.
Регистрация: 07.10.2009
Сообщений: 2,762

Вопрос снят - разобрался сам. этот архив не качайте! в нём старая, не исправленная версия библиотеки. исправленная указана далее по топику.

Вложения
Тип файла: zip AcadPlagins.zip (1.42 Мб, 136 просмотров)


Последний раз редактировалось hwd, 10.11.2009 в 18:01.
Просмотров: 7302
 
Непрочитано 26.10.2009, 23:41
#2
чеснок


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


hwd, издеваетесь, вы чего в архив напихали. Траффик знаете не резиновый у некоторых
Хм, compositum это вы, такой ник встречал на форуме SQL кажется.
Вы спец по С# NET и всякое такое.
Это хорошо. (может скинете примерчик приложения на С# для общего развития, можно по бд, спасибо <сhesnok@pochtamt.ru>).
чеснок вне форума  
 
Автор темы   Непрочитано 27.10.2009, 10:25
#3
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от чеснок Посмотреть сообщение
hwd, издеваетесь, вы чего в архив напихали. Траффик знаете не резиновый у некоторых
в архив включены необходимые библиотеки автокада 2009-го, чтобы можно было запустить на более ранних версиях акада. На этот архив нужно забить - код я исправил, а доступ к уже выложенному архиву, как я понял - уже не имею, дабы удалить его.

Цитата:
Сообщение от чеснок Посмотреть сообщение
hwd
Хм, compositum это вы, такой ник встречал на форуме SQL кажется.
Вы спец по С# NET и всякое такое.
Это я. Насчет "спец" - это преувеличение ). Я обычный юзер-самоучка.

Цитата:
Сообщение от чеснок Посмотреть сообщение
Это хорошо. (может скинете примерчик приложения на С# для общего развития, можно по бд, спасибо <сhesnok@pochtamt.ru>).
Так у вас же "трафик не резиновый" )... Базы они разные бывают - в одних приложениях я в качестве базы использовал аксесс, в других sql server. Какая СУБД интересует? )
hwd вне форума  
 
Непрочитано 27.10.2009, 19:06
#4
чеснок


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


Цитата:
Сообщение от hwd Посмотреть сообщение
Так у вас же "трафик не резиновый" )... Базы они разные бывают - в одних приложениях я в качестве базы использовал аксесс, в других sql server. Какая СУБД интересует? )
Про базы это я ляпнул до кучи. Мне сейчас главное не база, а сама организация приложения. Что, как, к чему, посмотреть живьем так сказать, а то читаю книжки, а там helloworld и типа того.
А сколько прмерно весят исходники. Я думаю не больше 10Мб. Для дела то я уж потяну
чеснок вне форума  
 
Автор темы   Непрочитано 27.10.2009, 22:23
#5
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от чеснок Посмотреть сообщение
Про базы это я ляпнул до кучи. Мне сейчас главное не база, а сама организация приложения. Что, как, к чему, посмотреть живьем так сказать, а то читаю книжки, а там helloworld и типа того.
А сколько прмерно весят исходники. Я думаю не больше 10Мб. Для дела то я уж потяну
Мои поделки нельзя приводить в качестве учебного пособия ). Советую почитать Стива Макконнелла "Совершенный код" (я её не всю прочёл, а только часть) - он пишет как раз на эту тему, причём довольно таки толково и понятно. Начиная с планирования, разработки обобщённых интерфейсов (дабы между библиотеками минимизировать зависимость друг от друга и предоставить возможность замены их др. более новыми модулями, без переписывания существующего кода) и т.п. Паттерны те же... Я лишь малую часть из них читал, а понял еще меньше )
Мои поделки хоть и работают, но в качестве образца их использовать ни в коем случае нельзя. )))
hwd вне форума  
 
Непрочитано 04.11.2009, 03:18
#6
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Цитата:
Сообщение от hwd Посмотреть сообщение
Вопрос снят - разобрался сам.
Не слишком ли много телодвижений, ради одной только цифры?

Вариант с USERI1
Вариант с подшивкой
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 09.11.2009, 09:25
#7
Walkmax


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


Товарисчи, поясните пожалуйста.
При использовании приведённого в шапке комплекта систематически выпадает AutoCad с фатальной ошибкой.
Walkmax вне форума  
 
Автор темы   Непрочитано 09.11.2009, 10:15
#8
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Walkmax Посмотреть сообщение
Товарисчи, поясните пожалуйста.
При использовании приведённого в шапке комплекта систематически выпадает AutoCad с фатальной ошибкой.
всё до безобразия просто: приведённый выше архив использовать не следует. Данный баг давно исправлен. Рабочая версия выложена здесь. Там же описаны и варианты регистрации библиотек. Размещать информацию в этом топике о том, что ошибка исправлена не стал в виду того, что интереса к ней не было проявлено (на данном форуме).

2 wetr
Цитата:
Не слишком ли много телодвижений, ради одной только цифры?

Вариант с USERI1
Вариант с подшивкой
А ведомости тут коим боком?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 09.11.2009 в 10:31.
hwd вне форума  
 
Непрочитано 10.11.2009, 17:50
#9
Walkmax


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


Всё было-бы хорошо, но результат тот-же.
"может в консерватории что-нибудь подправить?"
Новый вариант не отличается поведением. Возможно есть какая-нибудь заковырка?
Пробовал на двух разных машинах, с разными автокадами (2008 и 2009)
Очень полезная ACVAR, жаль что такие фокусы с ней...
Walkmax вне форума  
 
Автор темы   Непрочитано 10.11.2009, 17:55
#10
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Walkmax Посмотреть сообщение
Всё было-бы хорошо, но результат тот-же.
"может в консерватории что-нибудь подправить?"
Новый вариант не отличается поведением. Возможно есть какая-нибудь заковырка?
Пробовал на двух разных машинах, с разными автокадами (2008 и 2009)
Очень полезная ACVAR, жаль что такие фокусы с ней...
а может просто руки не оттуда растут? причём у меня.... )))))

Удали все предидущие версии и установи эту. Архив на сайте так же обновлён. Должно заработать как часы.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 10.11.2009 в 19:02.
hwd вне форума  
 
Непрочитано 10.11.2009, 23:20
#11
Walkmax


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


Ух.
Значит так. Системная переменная работает только в одном файле.
При открытии следующего файла происходит "Фатальная ошибка".
В первом файле переменная работает устойчиво, но только в первом.
Есть мысли по этому поводу...?
Walkmax вне форума  
 
Непрочитано 10.11.2009, 23:27
#12
чеснок


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


Walkmax, так это намек, не юзай что попало...
Как детят говорят - не бери в рот бяку )))
чеснок вне форума  
 
Непрочитано 10.11.2009, 23:46
#13
Walkmax


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


Задаваемые мной вопросы адресованы человеку с ником hwd поднявшему данную тему, который к стати скромно подписался Специалист по САПР, и если нечего ответить по делу то как говорится - стойте в сторонке и набирайтесь вежливости.
Решение данной проблемы полезно не только для решения как такового.
А реплики типа "не бери в рот бяку" наводят на размышления о уместности данной реплики как таковой.
А что интересно ВЫ товарищ ЧЕСНОК рекомендуете ЮЗАТЬ?
Walkmax вне форума  
 
Непрочитано 11.11.2009, 00:02
#14
чеснок


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


Я ж, из добрых пожеланий (родители ведь тоже добра детям желают).
В любом случае (какая бы проблема не была), использование не проверенного софта, ведёт сами убедились к чему.

А юзать, да от фатала никто не застрахован, - ручками.
чеснок вне форума  
 
Непрочитано 11.11.2009, 00:20
#15
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от Walkmax Посмотреть сообщение
Ух.
Значит так. Системная переменная работает только в одном файле.
При открытии следующего файла происходит "Фатальная ошибка".
В первом файле переменная работает устойчиво, но только в первом.
Есть мысли по этому поводу...?
Второй файл открываешь закрыв первый или нет?
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 11.11.2009, 08:22
#16
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Walkmax Посмотреть сообщение
Ух.
Значит так. Системная переменная работает только в одном файле.
При открытии следующего файла происходит "Фатальная ошибка".
В первом файле переменная работает устойчиво, но только в первом.
Есть мысли по этому поводу...?
Странно... Вчера я на 2007-м проверял, всё работало прекрасно. Мне нужно точное описание производимых вами действий, чтобы я смог понять, на каком шаге у вас вылетает фатал эрор. Тестируя я создавал как раз несколько файлов. Сегодня еще раз посмотрю... Кстати, работать со вторым файлом, закрыв первый я не пробовал... Попробую сегодня.

Я проверял так (прошу и вас в таком же виде описать порядок своих действий):
1. Запустил автокад
2. Создал файл
3. загрузил через netload свою библиотеку.
4. Создал текстовое поле, которому присвоил значение системной переменной.
5. создавал листы, удалял листы - всё работало как часы.
6. Затем, не закрывая первый файл, создал второй (сейчас не помню, по-моему в нём я netload уже не вызывал)
7. во втором файле повторил действия п.п. 4 и 5. Всё хорошо работало.
8. закрыл второй файл.
9. снова повторил п.5 в первом файле - всё по прежнему работало.

О варианте Александра Ривилиса я как-то не подумал. Сегодня с утра попробую и его.

Хотя, если netload загружать при открытии каждого файла индивидуально для документа - вроде не должно быть проблем. Но раз вы говорите, что у вас вылетает ошибка - буду смотреть...

Вообще, как появится свободное время, я хочу сделать ещё два варианта счётчиков:
1. Показывающий общее количество листов в разделе подшивки.
2. Показывающий общее количество листов в целом в подшивке.

На мой взгляд эти счётчики были бы более актуальны, поскольку проекты у меня (в смысле в нашей компании), как наверняка и у многих др. пользователей, будут вестись в виде подшивок. Вот для подшивок счётчики более интересны, чем для единичного файла. Хотя сначала нужно конечно же разобраться, в чем дело в вашем случае.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 11.11.2009 в 08:45.
hwd вне форума  
 
Непрочитано 11.11.2009, 08:57
#17
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Цитата:
Сообщение от hwd Посмотреть сообщение
А ведомости тут коим боком?
в теме про ведосмости решалась та же задача.
Код:
[Выделить все]
^C^C(setvar "USERI1" (length(layoutlist)));_updatefield;all;;
если нужно штоб считалось само. В поле соответственно выводим значение переменной USERI1. Только тыкать кнопочку просто так - расход энергии большой. Поэтому повесил макрос на кнопочку с вставкой ведомости рабочих чертежей.

С подшивкой еще проще получается. В поле вставляем количество строк Ведомости рабочих чертежей (минус) 2 строки.

Просто не могу представить для чего нужно именно ДИНАМИЧЕСКОЕ обновление количества листов? Юзер что постоянно должен отслеживать его? Я задумываюсь о кол-ве листов, только когда проект готов.

И при всех вариантах - заполняю это поле вручную. Ведь по нормам достаточно использовать поле "Листов" только на титуле. Кроме того, бывают ситуации, когда в файле торчат вспомогательные layout_ы.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Автор темы   Непрочитано 11.11.2009, 08:58
#18
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Значит так... Прежде чем идти на работу, сел и проверил у себя на компе дома вариант Александра Ривилиса.
1. создал первый файл, в нём загрузил через netload мою библиотеку, поиграл с листами.
2. Создал второй файл и так же выполнил ряд операций с листами.
3. закрыл второй файл, сохранив его предварительно. снова в первом файле выполнил ряд операций с листами.
4. закрыл первый файл, сохранив его предварительно (теперь открытых файлов нет).
5. создал новый файл (третий). поигрался с листами. ошибок нет...

странно...

2 wetr
Цитата:
Просто не могу представить для чего нужно именно ДИНАМИЧЕСКОЕ обновление количества листов? Юзер что постоянно должен отслеживать его? Я задумываюсь о кол-ве листов, только когда проект готов.
имея на руках вариант с динамикой, юзер вообще не думает о том, что у него там с количеством листов. Оно всегда актуально (т.е. отображается корректно).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 11.11.2009 в 10:09.
hwd вне форума  
 
Непрочитано 11.11.2009, 09:05
#19
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Цитата:
Сообщение от hwd Посмотреть сообщение
Оно всегда актуально (т.е. отображается корректно).
а вариант
Цитата:
когда в файле торчат вспомогательные layout_ы
?
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Автор темы   Непрочитано 11.11.2009, 10:28
#20
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от wetr Посмотреть сообщение
а вариант
?
при желании решаемо. например вы можете в поле таблицы поставить не значение самого field, а формулу, использующую этот field. т.е. формулу разницы общего количества листов минус количество ваших черновиков.
Но это было бы неверное решение, т.к. вам нужно в таком случае постоянно держать в голове, что после того, как изменится количество черновиков, вам нужно вносить правку в формулу.

Поэтому задачу (в случае наличия черновиков) грамотней решать так:
Можно легко избежать формулы, реализовав определение типа листа (т.е. черновик он или нет) программным способом.
Например, имена черновым листам присваивать согласно определённым правилам (к примеру начиная с символа "_").
В этом случае добавив в код блок foreach{...} в котором анализируются наименования листов и в соответствии с результатом выдавалось бы количество НЕ ЧЕРНОВЫХ листов - данная задача была бы решена.

При желании могу сделать это. Но, имхо, вам это не нужно, поскольку ваша задача, как я понимаю - доказать бесполезность моего варианта и нужность вашего. ) На "полезность" своего не претендую, поскольку считаю более полезным вариант, который бы работал с подшивкой. )

п.с. я не заставляю никого использовать то, что мною написано ))) код написан мною, прежде всего, для самого себя - из интереса, получится или нет.
Получилось.

Вести споры, честно говоря, желания нет.

п.с. 2
из интереса добавил в код изменение, в соответствии с которым считаются только те листы, имена которых не начинается с символа "_" (подчёркивание). Т.е. те листы, имена которых начинаются с "_" - считается черновиками и они не должны учитываться при подсчёте общего количества листов в файле.
Сейчас протестирую и заменю прежний вариант на новый...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 11.11.2009 в 10:55.
hwd вне форума  
 
Непрочитано 11.11.2009, 11:32
#21
Walkmax


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


hwd Приношу свои глубокие извинения, сегодня протестил на третьем компе, там всё нормально.
Проблема судя по всему в совместимости с чем-то ещё.
Если-бы можно было отследить источник я был-бы рад.
Буду благодарен за дельный совет по отлову (метод исключений оставим на потом).
Walkmax вне форума  
 
Автор темы   Непрочитано 11.11.2009, 12:35
#22
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Внёс изменения в библиотеку - теперь счётчик не считает те листы, наименование которых начинается с символа "_" (подчёркивания), трактуя их как черновики. Архив у себя на сайте обновил. Если кому интересно - можно скачать.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 12.11.2009, 01:52
#23
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Цитата:
Сообщение от hwd Посмотреть сообщение
ваша задача, как я понимаю - доказать бесполезность моего варианта и нужность вашего
Цитата:
И при всех вариантах - заполняю это поле вручную
Нет, доказать, что это бесперспективное занятие. Количество энергии, затраченное на установку(+переустановку после инсталляции новой версии), на отлов ошибок(это тоже должен держать в голове), вставку соответствующего поля - неизмеримо больше, потраченного на заполнение 1 цифры вручную. Это все говорю не от балды - сам уже опробовал.
А задач для программирования - полно намного более интересных. Ты же (давай на "ТЫ") занимался стандартизацией и пытался использовать стандартный автокадовский _checkstandards. А так как автодеск его забросил, он не учитывает такие важные вещи как стили мультивыносок и таблиц. Почему бы не создать свой, учитывающий все нюансы твоей конторы (ктати, как и предлагал Кулик Алексей)?
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Автор темы   Непрочитано 12.11.2009, 08:41
#24
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от wetr Посмотреть сообщение
Нет, доказать, что это бесперспективное занятие. Количество энергии, затраченное на установку(+переустановку после инсталляции новой версии), на отлов ошибок(это тоже должен держать в голове), вставку соответствующего поля - неизмеримо больше, потраченного на заполнение 1 цифры вручную.
Ошибки есть и всегда будут в любом софте - этого не избежать. При разработке тех же модулей нормоконтроля библиотеку так же нужно будет тестировать и исправлять найденные ошибки.
Цитата:
Сообщение от wetr Посмотреть сообщение
...Количество энергии, затраченное на установку(+переустановку после инсталляции новой версии)...
Если мне не изменяет память - здесь можно почерпнуть вариант решения этого момента.

Я уже писал выше, что не заставляю никого пользоваться этой "библиотекой". Мне стало интересно решить задачку определённым образом - я её решил. Сам данной штукой не пользуюсь, т.к. при использовании подшивок от неё толку нет.

Цитата:
Сообщение от wetr Посмотреть сообщение
Ты же (давай на "ТЫ") занимался стандартизацией и пытался использовать стандартный автокадовский _checkstandards. А так как автодеск его забросил, он не учитывает такие важные вещи как стили мультивыносок и таблиц. Почему бы не создать свой, учитывающий все нюансы твоей конторы (ктати, как и предлагал Кулик Алексей)?
Разработка модулей нормоконтроля как раз и является следующей моей задачей. Однако я еще весьма плохо знаю .Net API AutoCAD, чтобы уверенно браться за неё. Сначала нужно прочитать весь мануал на эту тему, разобраться в нём, только тогда возьмусь. Меня не устраивает стандартный interface (речь не о GUI) установленный Autodesk, который должны реализовывать модули нормоконтроля в виду его (интерфейса) ограниченности. Хочу (для своих модулей) расширить его функционал, предоставив пользователям возможность их более детальной настройки. У того же автора есть хорошая статья, демонстрирующая пример создания модуля нормоконтроля. Там же описан и базовый interface, который этот модуль должен реализовывать. Дабы пощупать руками, что это такое - я почитал его код, откомпилировал, загрузил, зарегистрировал и опробовал в действии - код рабочий.

Если разберёшься раньше меня и сможешь консультировать на эту тему - я буду только рад ))))
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 12.11.2009, 21:08 вопрос.
#25
Riz

Архитектор
 
Регистрация: 11.11.2009
Москва
Сообщений: 29
<phrase 1= Отправить сообщение для Riz с помощью Skype™


Скажите, а если выдаетя несколько томов (раздел АР и том с деталями) для каждого тома будет свое разное количество листов, можно ли настроить вашу переменную чтобы она считала сколько всего листов из разных папок для каждого тома.
Riz вне форума  
 
Автор темы   Непрочитано 12.11.2009, 21:12
#26
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


данный пример упрощённый, в нём считаются только листы в составе текущего файла.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 13.11.2009, 07:50
#27
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Цитата:
Сообщение от hwd Посмотреть сообщение
Если разберёшься раньше меня и сможешь консультировать на эту тему - я буду только рад ))))
Моя должность называется инженер-конструктор, а не программист или специалист по САПР. И деньги я получаю за соответствующую деятельность - выпуск проектной документации. Интересует конечно задача упрощения вычерчивания и подсчета, но это больше хобби. Так что разбираться с .net нет даже в планах.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > В учебных целях поднимаю свой старый топик (Создание поля-счётчика листов в dwg-файле)