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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Автозаполнение ведомости рабочих чертежей

Автозаполнение ведомости рабочих чертежей

Ответ
Поиск в этой теме
Непрочитано 29.10.2007, 09:15 3 |
Автозаполнение ведомости рабочих чертежей
wetr
 
инженер
 
Владивосток
Регистрация: 09.08.2006
Сообщений: 1,536

Те кто видел КОМПАС меня поймут: хочу чтобы ведомость рабочих четрежей заполнялась автоматически. Пользую поля - ссылки на объекты. В моем случае ссылаюсь на блок(рамка) с аттрибутами "№листа" и "наименование листа". Вроде бы все отлично. Убивает трудоемкость создания данной таблицы. Т.е. как я делаю(может не правильно?):
создаем мтекст-вставить поле-объект-выбрать- а дальше проблемка - рамка то находится в лайоутах. А перелистывать лайоуты в режиме выбора нельзя... Приходится сначала открывать лайоут, затем копировать текст вида
"%<\AcObjProp Object(%<\_ObjId 2130566400>%).TextString>%"
в отдельный файл, затем вставлять в нужное мне поле. Есть другие варианты узнать ObjID? Или другие варианты создать эту таблицу?
И еще: в каких случаях меняется этот ID? А то я боюсь теперь эти блоки редактировать - все собьется нафиг
*******************************************************************************************************************
...Прошел год
VVA сделал отличную программу по созданию Ведомости рабочих чертежей (Компас отдыхает)

ВОЗМОЖНОСТИ:
- Ведомость создается в виде таблицы с полями.
- Обязательно использование блока с атрибутами "ЛИСТ" и "НАИМЕНОВАНИЕ.ЧЕРТЕЖА".
- Таблицы вставляется в слое _Таблица. Если слоя нет - он создается. Настройки слоя можно поменять в ЛИСПе
- Таблицы вставляются в Стиле таблиц "Ведомость чертежей" оформленной по ГОСТу. Настройки стиля см. в ЛИСПе
- Запускать командой VRC в командной строке или сделать себе кнопку


ОСОБЕННОСТИ:
- В таблице и блоке используется шрифт "MIPGOST.SHX". Скачать можно здесь. Не нравится? Открывай код и меняй под себя.
- В блок-рамке используется многострочный атрибут, который работает только в AutoCAD 2008 и старше.
Если у вас более ранняя версия - программа будет работать, но атрибут будет однострочный.
- При заполнении многострочного атрибута "НАИМЕНОВАНИЕ.ЧЕРТЕЖА" не используйте ENTER. Текст перескочит на новую строку сам.(Это актуально если лисп вставляет поля. Варианты лиспа VRCTS и VRCTN отрабатывают без проблем)

ПРО БЛОК:
- Рамка пестрит полями - название проекта заполнять на титульном листе, в рамке обновится
- ШИФР проекта заполнять на титульном листе
- Формат листа - ссылка на lookup внутри блока, обновляется.
- Для того, чтобы количество листов прописывалось автоматом, я сделал себе макрос на кнопку, запускающую VRC
Цитата:
^C^C(setvar "USERI1" (length(layoutlist)));_updatefield;all;;vrc
Внимание! Если у вас используется переменная USERI1, могут возьникнуть проблемы!
**********************

Для тех, кому не нравиться что программа создает стили и слои, вариант от VVA и Red Nova

************************************
***Обновление от 04.02.2008. **********
************************************
Добавлена возможность заполнять таблицу полями, текстом, выбирать или нет листы. Подробности в начале лиспа.
Команды:
VRC - таблица с полями, все листы
VRCTS - таблица с Tекстом, выбор (S) листов
VRCTN - таблица с Tекстом, нет (N) выбора листов
VRCFS - таблица с полями (F), выбор (S) листов

************************************
***Обновление от 06.09.2010. ***********
***********************************
Добавлена возможность выбора стиля таблиц
Версия для x64 : http://forum.dwg.ru/showpost.php?p=349807&postcount=159

************************************
***Обновление от 16.04.2025. ***********
***********************************
Актуальная для меня задача - создание ведомости из нескольких открытых файлов реализована с помощью Gemini 2.5 Pro.
Новая версия обрабатывает все открытые файлы, собирает данные из блоков с атрибутами "ЛИСТ" и "СОДЕРЖИМОЕ" и вставляет таблицу.
Тестировал на Автокад 2020.
Файл OVRC.lsp, запускать командой OVRC.

Вложения
Тип файла: rar mipgost.rar (6.1 Кб, 1283 просмотров)
Тип файла: dwg
DWG 2004
Пример Ведомость чертежей.dwg (110.4 Кб, 35063 просмотров)
Тип файла: lsp vrc_VVA.lsp (34.6 Кб, 1191 просмотров)
Тип файла: lsp OVRC.lsp (13.7 Кб, 15 просмотров)

__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)

Последний раз редактировалось wetr, 16.04.2025 в 04:45.
Просмотров: 137909
 
Непрочитано 08.09.2010, 13:21
#181
kha

BIM, С#, AutoCAD, LISP
 
Регистрация: 15.03.2006
Дуброво
Сообщений: 657


VVA, скажите, пожалуйста, если использовать пакетную обработку файлов по лиспу в 6-м сообщении темы возможно ли возникновение каких-либо проблем?
__________________
"Молодой человек, Вы не представляете всей широты поставленной перед Вами задачи." © Панкратова Г.Е.
kha вне форума  
 
Непрочитано 08.09.2010, 17:07
#182
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Да. Навскидку:
1. Файл сохранен в формате более старшей версии Автокада.
2. Файл испорчен и при открытии требует выполнить _recover
3. В файле есть ссылка на несуществующий файл форм. И при его открытии будет болтаться окно запроса.
4. Наличие Proxy объектов.
Почитай тему Последовательное применение lisp-функции к множеству файлов Там описаны и другие варианты обработки. Я бы остановился на варианте №4 из поста #4 по ссылке
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 08.09.2010, 17:46
#183
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


VVA, а на мой вопрос?
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 08.09.2010, 18:17
#184
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от dextron3 Посмотреть сообщение
VVA, а на мой вопрос?
На твой вопрос ответил wetr
Цитата:
Сообщение от wetr Посмотреть сообщение
dextron3, в таблицах это предусмотрено - посмотри внимательней
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 08.09.2010, 21:10
#185
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


VVA, а про идею с алгоритмом?
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 08.09.2010, 22:20
#186
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от dextron3 Посмотреть сообщение
1. Надписи в штампе состоят из блочных штампов как вы говорите, но чтобы просто можно копирывать было из лайаута в лайаут без проблем и потом они распозновались как отдельные блочки
Не вижу никаких проблем. Создаешь блок из одних атрибутов и копируешь сколько нужно и куда нужно.

Цитата:
Сообщение от dextron3 Посмотреть сообщение
2. Запускаем лисп он согласно нумерации лайаутов и расположения в лайауте согласно оси Х и Y объединяет название в лайауте и в итоге выдает перечень старниц просто в блокноте как вы делали 2 года назад
Здесь не понятно. Причем здесь X и Y. Название листа берется из атрибута. Где-то на форуме были программы по синхронизации названий листов и атрибутов. Ну и наконец если я это делал 2 года назад, то почему бы этим не воспользоваться?
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 09.09.2010, 06:46
#187
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


VVA, я пользуюсь, а представьте что вам чужой чертеж дали где обычные текста и нет блоков а надо сделать лист общих данных
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 02.08.2011, 17:15
#188
kha

BIM, С#, AutoCAD, LISP
 
Регистрация: 15.03.2006
Дуброво
Сообщений: 657


В запарке не всегда удаётся отследить - нажал Enter или нет при вводе наименования чертежа. Это незаметно на рамке, но при формировании ведомости всплывают косячки.
Надоело каждый раз править и добавил очистку форматирования наименования чертежа:

Код:
[Выделить все]
	    (if IsField
              (setq fld (strcat " %<\\AcObjProp Object(%<\\_ObjId "
                                (vl-princ-to-string(vla-get-objectid (caddr (assoc Tag-Name-NCHERT i))))
                                ">%).TextString \\f \"%tc3\">%"
                                ) ;_ strcat
                    )
              (setq fld (vl-princ-to-string (cadr (assoc Tag-Name-NCHERT i))))
              )
;;;;	    Убираем форматирование наименования чертежа, заданное пользователем
           (while (wcmatch fld "*\\P*")
              (setq fld (vl-string-subst "" "\\P" fld))
	     )
	   (while (wcmatch fld "*   *")
              (setq fld (vl-string-subst " " "   " fld))
	     )
	   (while (wcmatch fld "*  *")
              (setq fld (vl-string-subst " " "  " fld))
	     )
	   (setq fld (vl-string-left-trim "\\W0.7000;" fld))
;;;         Закончили уборку форматирования наименования чертежа
	    (vla-settext tbl row 1 fld)
            (vla-setcellalignment tbl row 1 acMiddleLeft)
            (vla-setcelltextheight tbl row 1
                             3  ;_Высота текста
              )
Здесь же убираются лишние пробелы в наименовании чертежа, а также параметр сжатия текста по горизонтали.

UPD:

При длинном названии чертежа текст утаптывается в две строки и текст снизу и сверху налезает на границы ячейки.
Чтобы поправить это, добавил настройку отступа по вертикали в таблице:

Код:
[Выделить все]
          (vla-put-horzcellmargin tbl 2) ;_Отступ текста по горизонтали
          (vla-put-vertcellmargin tbl 1) ;_Отступ текста по вертикали
            (vla-SetRowHeight tbl 0 8) ;_Высота строки Ведомость чертежей
          (vla-SetRowHeight tbl 1 8) ;_Высота строки Лист Обозначение Наименование
__________________
"Молодой человек, Вы не представляете всей широты поставленной перед Вами задачи." © Панкратова Г.Е.

Последний раз редактировалось kha, 04.08.2011 в 13:14.
kha вне форума  
 
Непрочитано 23.08.2011, 10:48
#189
kha

BIM, С#, AutoCAD, LISP
 
Регистрация: 15.03.2006
Дуброво
Сообщений: 657


Прикрутил ещё одну опцию - формирование ведомости рабочих чертежей по выбору секущей рамкой:

(and
;;(setq ss (ssget "_X" '((0 . "INSERT")(66 . 1)))) - было
(setq ss (ssget '((0 . "INSERT")(66 . 1)))) ;;;; - стало
(setq lst (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp(mapcar 'cadr(ssnamex ss)))))
__________________
"Молодой человек, Вы не представляете всей широты поставленной перед Вами задачи." © Панкратова Г.Е.
kha вне форума  
 
Непрочитано 04.04.2012, 14:36
#190
baklushev


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


При использовании программы в Win 7x64 (авосад 10 русс) в таблице (в полях -номер листа и наименование) появляются звезды.
В Win XP32 (автосад 9 англ) все работало. Не подскажите в чем дело?
baklushev вне форума  
 
Непрочитано 04.04.2012, 18:32
#191
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


baklushev, Я думаю, что проблема в этом ( см. пост #4 решение в #8)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 04.04.2012, 22:30
#192
baklushev


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


VVA Спасибо! Вроде стало все на месте
baklushev вне форума  
 
Непрочитано 01.06.2012, 13:28
#193
baklushev


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


В таблице (ведомость рабочих чертежей, поля - наименование) перед названием листа стоят знаки (\W0.9000. Как от них избавиться? Сейчас разбиваю поля и удаляю вручную (поиск и замена).
baklushev вне форума  
 
Непрочитано 01.06.2012, 13:53
#194
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


попробуй убрать форматирование http://forum.dwg.ru/showthread.php?t=24790
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 28.08.2012, 14:01
#195
kifa


 
Регистрация: 03.12.2009
Сообщений: 1,847


и так и сяк пробую вставить кусок когда, чтоб поля нормлаьно отображались, в каде 2011, система winows 7 ультимейт х64. Ставлю в конец, все правильно делаю?
код беру отсюда
http://forum.dwg.ru/showthread.php?t=51822
kifa вне форума  
 
Непрочитано 24.05.2013, 13:54
#196
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, տ.գ.թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,990
Отправить сообщение для Red Nova с помощью Skype™


VVA,
Давно не использовал лисп. На 2013-м x64 пробую код с поста #159. Вариант с полями выдает вместо требуемого названия "####". Вариант без полей показывает вопросы вместо армянского шрифта (с русским нормально). Шрифт прилагаю.
Вложения
Тип файла: rar CS Arm Unicode.rar (11.9 Кб, 36 просмотров)
Red Nova вне форума  
 
Непрочитано 24.05.2013, 13:57
#197
kifa


 
Регистрация: 03.12.2009
Сообщений: 1,847


мой лисп в х64 нормально работает. исправлял...долго и упорно вроде получилось
Вложения
Тип файла: lsp vrc_VVA.lsp (32.4 Кб, 60 просмотров)
kifa вне форума  
 
Непрочитано 24.05.2013, 14:43
#198
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


kifa, Спасибо. Именно в этом и дело. В своем варианте убери в конце файла цифру 39
Обновил #159
Red Nova, Шрифт пока не тестировал. Попробуй обновленный вариант. М.б. дело было в этом
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 24.05.2013, 14:58
#199
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, տ.գ.թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,990
Отправить сообщение для Red Nova с помощью Skype™


VVA,
Пробую обновленный код.

Код:
[Выделить все]
Command: VRC
nil
Command:
Command: VRCFS
nil
Command:
Command: VRCTN
nil
Command:
Command: VRCTS
nil
Command:

Последний раз редактировалось Red Nova, 24.05.2013 в 15:04.
Red Nova вне форума  
 
Непрочитано 24.05.2013, 22:15
#200
kifa


 
Регистрация: 03.12.2009
Сообщений: 1,847


Цитата:
Сообщение от VVA Посмотреть сообщение
В своем варианте убери в конце файла цифру 39
спасибо подчищу
kifa вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Автозаполнение ведомости рабочих чертежей



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автозаполнение ведомости чертежей и автонумерация листов в спдс 6 Кукурузо_Джон_Горыныч ПО от CSoft 34 15.02.2019 08:13
Ведомость рабочих чертежей основного комплекта 13Rossoneri Архитектура 3 22.08.2015 00:21
Аннулирование комплекта рабочих чертежей путем замены Elena.sh Разное 8 26.05.2011 05:47
Хочу быстрее заполнять ведомости рабочих чертежей! a-alex Программирование 2 19.02.2008 19:09