| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
К сожалению не обновляется если количество листов изменить. regen all не помогает, нужно заново открыть файл и заново вставить поле, чтобы количество листов было заново учтено.
__________________
Блог |
||||
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Да, так и есть, колличество изменится только при следующем открытии файла.
Поле заново вставлять не нужно. ЗЫ Опять по той же ссыке, можно сделать кнопку, принудительно изменяющую поле с количеством листов. Код:
|
|||
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,686
|
В свойствах чертежа можно какое-либо из них (в смысле, свойств - "Ключевые слова" там и т.д.) отвести под количество листов (или новое создать на вкладке "Прочие", если основные свойства уже используются) Ну и в штампах - таблицах использовать field со ссылкой на это свойство.
Конечно, при изменении кол-ва листов придется значение это ручками менять, но всего в одном месте. А может, и программно можно - отследить события удаления-добавления листов... |
|||
|
||||
Регистрация: 29.05.2007
Сообщений: 210
|
|
|||
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Без лиспа всё равно никак. В том выражении в поле вставляется значение переменной USERI1, которая заполняется всё равно программно.
PS Всё таки, если не секрет, какоё прикладное значение имеет количество вкладок листа? Подшивку никто не пытался использовать? |
|||
|
||||
Регистрация: 28.01.2009
Сообщений: 14
|
Да прикладное значение элементарное - Сделал штамп динамическим блоком - рамка меняет форматы, сбоку выбираешь есть/нет штампик СОГЛАСОВАНО, поля штампа заполняются сами...ну вобщем все дела, И завис на счетчике листов. Хочу чтобы два этих пункта заполнялись сами - чтобы один атрибут считал сколько листов в чертеже, а другой выводил номер листа на котором находится.
И эту рамку вставляю на все листы, чем с себя снимаю постоянные гемор с проверкой - Все ли штампики заполнил? Переделал ли нумерацию в поле - Лист/Листов при перемещении/создании нового листа и т.д А через подшивку не делаю потому как пока не внедрил еще ее в работу, но уже движусь по этому направлению (на нее у меня грандиозные планы) Да и с расстановкой нумерации листов в каждом отдельно взятом альбоме подшивки мне она врятли поможет... Насколько я понял из своих экспериментов с ней, с ее помощью я смогу посчитать только количество листов во ВСЕЙ подшивке. А не хочу Лспом потому что тогда каждому из мох коллег придется ставить это лисп, объяснять че к чему...ну и т.д... Помоему было бы проще и функциональнее (со всех сторон) сделать это в виде некого атрибута... |
|||
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Вопросы:
1. Я так понял весь проект в одном файле. Не тормозит? Хотя нет, лучше так: какой объём файла? Для примера посмотрел 1-й попавшийся проект у себя: 10-этажный жилой дом, альбом АС - 20 файлов *.dwg общим объемом 11Mb. Если всё это запихнуть в один файл, то можно предположить, что он будет весить не менее 10Mb. Мой комп пока такое вряд ли потянет. 2. Как заполняютя твои штампы? Конкретно, если например меняется шифр проекта или стадия, в скольких местах надо изменить, чтобы поменялось во всём проекте? С вопросами пока всё, теперь сентенции. 1. Ничто не заменит автоматически создаваемую и в последствии автоматически изменяющуюся в подшивке ведомость листов, которую можно вставить в виде таблицы в рисунок. Даже лисповых аналогов, достойных сего чуда я не встречал. 2. В подшивке все данные штампа, кроме названия и номера листа можно прописать в одном месте. 3. Справедливости ради надо отметить, что в пошивке всё таки нет поля для количества листов. Но ничто не мешает сделать доп. свойство подшивки "кол-во листов" и полем ссылаться на него. Не автоматически, но всё равно достаточно быстро. 4. И ещё справедливовсти ради надо отметить, что многострочные атрибуты в блоке, использующие поля подшивки (как показала статистика - именно подшивки!) иногда глючат. Об этом я уже упоминал в другой теме. |
|||
|
||||
Регистрация: 28.01.2009
Сообщений: 14
|
Ну у меня гдето 4-6Mb не тормозит вроде ниче...
Меняются путем ввода данных в Свойствах чертежа. (создал пару пользовательских свойств, ну и соответственно там у меня все данные штампа. Один раз ввел, на всех листах поставилось.) Да. Поле - Номер листа есть, но опятьже номер листа относительно ВСЕХ листов в подшивке (надо глянуть может возможно сделать номер листа определенной группы) Ну и взаключение подмогните Нармальным стопроцентов работающим лиспом(я о щетчике) посажу его на кнопочку и буду нажимать...Раз другого выхода нет... |
|||
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Ну раз всё в одном файле, так сделай пользовательское свойство в _DWGPROPS "кол-во_листов" и в штампе поле со ссылкой на него. Тоже самое получится: "Один раз ввел, на всех листах поставилось".
Насчёт "нармального" лиспа, чем лисп (setvar "USERI1" (length(layoutlist))) вкупе с полем %<\AcVar USERI1>% не устраивает? PS Мне бы такой комп как у тебя. У меня 4-6Mb всё же подтормаживает. Даже завидно. |
|||
|
||||
Регистрация: 28.01.2009
Сообщений: 14
|
Лисп, кстати говоря, при ближайшем рассмотрении меня вполне устроил!
Только растолкуйте мне что за переменная USERI1? Как я понял используется она для хранения какихто устанавливаемых пользователем значений? Ну типа записной книжки...Я прав? Или я не верно понял? |
|||
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Цитата:
В подшивке это можно реально сделать. И ещё ведомость чертежей создать. Для твоего варианта не вижу ничего лучшего, как проставлять номер листа вручную. Хотя если листы расположены последовательно, то можно в принципе написать лисп. Цитата:
Функция length считает количество элементов в списке. |
|||
|
||||
Регистрация: 03.03.2005
Сообщений: 3
|
Вариант решения есть и при этом довольно таки простой и изящный на мой взгляд - написать код обработчиков событий, скомпилировать это в dll-сборку и подключить к автокаду. Что я и сделал.
Только сразу предупреждаю - писал я это под 2009-й автокад. Тестировал в нем же. У меня всё замечательно работает. Протестировать на другом акаде/компе нет возможности. Кроме того, на компе должен быть установлен .Net Framework 3.5 SP1 (если он у вас не установлен, то скачать его можно абсолютно бесплатно с официального сайта Майкрософт отсюда В общем вот выкладываю архив, в нем лежит readme.txt о том как правильно установить (всё до безобразия просто). Любопытно услышать замечания/пожелания.
__________________
С уважением Андрей. |
|||
|
||||
Регистрация: 28.01.2009
Сообщений: 14
|
compositum
Чет не получается... Да я думаю вышепредложенное вполне приемлемое решение. Еще сценарий на выполнения макроса написать и все. А на счет атрибута - ЛИСТ у тебя никаких идей нет? Последний раз редактировалось alexxandr, 30.01.2009 в 15:09. |
|||
|
||||
AutoCAD/AutoLISP Регистрация: 27.08.2003
Seattle/USA
Сообщений: 1,133
|
Переменная "CTAB", если ее вставить в FIELD то с прерменой лайоута она будет менятся. Кроме того если сделать лисп то его тоже можно загнать в FIELD начиная с 2008 акада.
__________________
Сквозь тернии к звездам.... и обратно :yes: |
|||
|
||||
Цитата:
У меня голова под вечер не варит или это то, о чем я думаю?
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
|
||||
Регистрация: 07.07.2010
Сообщений: 17
|
Такая переменная должна быть! Откуда он берёт эти цифры? [IMG]http://s53.***********/i139/1007/83/eadb966464f1.jpg[/IMG]. Вот только как её (переменную) найти...
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Переменная содержащая имя листа | deConstructor | AutoCAD | 6 | 11.11.2007 17:57 |
Есть ли такая системная переменная? | {Smirnoff} | Программирование | 6 | 19.08.2005 12:11 |
Количество листов в layout | AleXYZ | AutoCAD | 6 | 06.05.2004 17:40 |