|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
08.02.2017, 12:40 | #1 | |
Собрать содержимое МТЕкста с разных листов в один документ/объект
вольный копейщик
Регистрация: 03.11.2010
Сообщений: 132
|
||
Просмотров: 8169
|
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
Цитата:
Гарантированно один Мтекст на каждый лист? Тогда вообще элементарно. Но если есть другие надписи, выполненные Мтекстом, нужные надо будет отфильтровать (по цвету, слою или другим признакам). Или просто убрать из результатов (таблицы или внеш. файла) то, что явно не подходит. Осваивайте подшивки. |
|||
|
||||
вольный копейщик Регистрация: 03.11.2010
Сообщений: 132
|
baksconstructor, примерно так.
kp+, нет, текст там конечно не один. Подшивки мне тут ничем не помогут, как мне кажется. Если я работаю в 1 файле и без коллективной работы, вообще не вижу смысла в подшивках - публикация решает все те же задачи. |
|||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
По файлу примера этого не скажешь Но, думаю, Вы уж как-нибудь разберетесь, чем нужный текст отличается от прочих.
Offtop: А он есть даже при таком раскладе. И кроется в том, что нумерация листов, их наименования и перекрестные ссылки хранятся в подшивке и автоматически обновляются. Без подшивки надо все хранить в голове. Впрочем, это сотни раз обсуждалось в "профильных" темах и здесь не к месту. |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Примерно так?
Код:
Иными словами создать для таких текстов отдельный слой или дать им особенный вес, например, и следить за тем, чтобы лишних мтекстов с такими свойствами не было. |
|||
|
||||
вольный копейщик Регистрация: 03.11.2010
Сообщений: 132
|
Спасибо всем огромное!
Просто реальный пример я приложить не могу из-за политики о неразглашении. Там конечно штампы есть, и на их уровне уже все забито "личной" информацией фирмы через поля, поэтому выложил "голый" пример. Но сути задачи это не меняет. Слой отдельный сделать для этого вообще не проблема. Про извлечение данных почему-то не подумал в данном случае! Спасибо за наводку. Код тоже попробую, чуть позже отпишусь, что вышло. Желательно, чтобы порядок сбора соответствовал порядку листов в файле. Насчет подшивок - я с ними игрался, но кроме "лишних" действий по их созданию для своей практики пользы в них не нашел. Номер листа у меня в штампе заполняется через CTAB - пробовал много способов, этот - самый удобный. Вся инфа в штампе - опять же поля, из централизованного источника все попадает в нужное место на каждом листе. Фамилии - аналогично. Машстаб ВЭ - тоже сам попадаем в штамп через поле. Печать - через экспорт в PDF - в один клик все листы. Я против подшивок ничего не имею, уточняю, чтобы камни в меня не полетели Просто для себя сделал вывод, что это удобно, если работа "типовая" - т.е настроить все местозаполнители блока и т.п., формировать сами листы и виды через подшивку. Но это специфический метод и мало кто так умеет. Большинство используют подшивки просто как способ собрать готовые листы из разных файлов в одно место для печати - а для этого и _publish подходит отлично. skkkk, код почему-то не заработал. Я создал слой Текст2, туда перенес Мтексты с листов. В коде заменил слово "текст" на "Текст2", после запуска просто открывается диспетчер слоев, либо справка, либо какая-то рандомная команда и все... больше ничего не происходит. Последний раз редактировалось Immortal_6666, 08.02.2017 в 19:59. |
|||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
Цитата:
Впрочем, можно сделать иначе: вместо обычных Мтекстов создать блоки с двумя атрибутами: - в первом - поле вида %<\AcVar ctab>% - во втором (многострочном) - наименование чертежа. Первый атрибут может быть на непечатаемом слое, а может использоваться - дело вкуса. Тогда результаты извлечения данных можно сортировать по первому атрибуту. Что используется в качестве централизованного источника, если не секрет? Последний раз редактировалось kp+, 08.02.2017 в 18:24. |
|||
|
||||
вольный копейщик Регистрация: 03.11.2010
Сообщений: 132
|
kp+, свойства документа - там заполняю нужные строки.
С извлечением данных вышла какая-то ерунда... не нашел там фильтра по слоям, и почему-то служебные знаки отображает в тексте.. не пойму как искать только по мтекстам с листов.. UPDATE Только по Мтекстам искать научился, но он выдергивает вообще все... и кучу "мусора" в строку вставляет - \pxqc,t18; Опять же, никакого порядка и последовательности.. не очень подходит метод. Вариант с кодом был бы оптимален. Очень надеюсь на skkkk =) Последний раз редактировалось Immortal_6666, 08.02.2017 в 18:21. |
|||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
Цитата:
По поводу очистки форматирования Мтекста есть отдельная тема, поиск по форуму в помощь. Знаки \P (абзац) в результатах извлечения данных нетрудно поиском-заменой убрать. |
|||
|
||||
вольный копейщик Регистрация: 03.11.2010
Сообщений: 132
|
Да, я прочитал.
Теорически можно. Правда от Мтекстов не очень хочется уходить - у меня из них потом тоже через поля "улетает" всё в другое место листа это раз. И сами эти Мтексты формируются из полей. Наверное. можно загнать поле в текст атрибута, но я так еще не пробовал и это все усложняет процесс работы. Тут задача "минимизировать" пляски с бубном, а с поиском заменой уже набирается процесс посложнее, чем просто по листам пройтись с CTRL+C =)) Самый оптимальный вариант - как-то "считать" все Мтексты с каждого листа по параметру слой (для них я бы сделал уникальный слой) и собрать их в одно место. |
|||
|
||||
Это не подойдет? Автозаполнение ведомости рабочих чертежей
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
вольный копейщик Регистрация: 03.11.2010
Сообщений: 132
|
Цитата:
Оффтоп: где бы (и у кого) в Питере программированию под AutoCAD поучиться?... |
|||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
А в результате получается сложнее и хуже...впрочем, код под именно Ваши нужды тоже можно написать...но это больше в "поиск исполнителей".
Offtop: Цитата:
|
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Цитата:
Я тестировал на 2011-й и 2015-й версиях - работает. |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
|
|||
|
||||
вольный копейщик Регистрация: 03.11.2010
Сообщений: 132
|
skkkk, копировал кнопками, пробовал в разных файлах. пробовал запихнуть код в .lsp файл - тоже не помогло... попробую еще слой на латинице сделать.
UPDATE! Со слоем латинскими буквами заработало!!! Спасибо! Похоже, что это то, что нужно! skkkk, Вы - гений! Работает и в 2017 версии - похоже, что во всех. С порядком правда, да - беда. А сделать так, чтобы еще и русские слои понимал и порядок по порядку листов очень сложно? Или номер листа перед текстом добавлял - у меня листы названы просто цифрами, можно из CTAB брать значение, но Ваш код я не понимаю, потому не знаю куда это добавить. А отсортировать потом можно уже и в ворде. Пока начал разбираться с функциями setq и ssget. =) буду дальше гуглить. Как я пытаюсь понять Ваш код: Мы объявили о создании команды TEST, создали две локальные переменные ss и i и сказали, что они типа string Далее присвоили переменной ss значение, возвращаемое функцией ssget, которая выделила объекты типа MTEXT - т.к указан групповой код 0 на конкретном слое (т.к. код 8). Вот тут я правда не понял - ssget выделяет объекты по критериям, и получается в переменную ss мы сразу содержимое всех мтекстов засунули??? как он понял, что надо именно содержимое взять? И вот что дальше в коде происходит мне уже непонятно.. Последний раз редактировалось Immortal_6666, 08.02.2017 в 22:11. |
|||
|
||||
Регистрация: 05.11.2014
Сообщений: 978
|
Immortal_6666
Тогда Вам прямая дорога к Реверс. Эта прога найдёт Вам наименование, номера листов и другую инфу, воздаст ведомость в нужном порядке и т.д. А Ваш пример файла - нужна только рамка со штампом, логотип можете удалить. |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Копирование, сортировка, переименование листов (layout) | VVA | Готовые программы | 96 | 08.12.2023 14:11 |
Печать в один PDF фаил нескольких листов | YuryKlimchuk | AutoCAD | 103 | 24.05.2018 20:47 |
Упорядочивание вкладок (листов) | Малюк | AutoCAD | 15 | 18.11.2015 17:03 |
Как собрать несколько DWF файлов в один | koks | AutoCAD | 7 | 24.06.2013 11:44 |
Как собрать несколько оформленных чертежей в один | E.D. | AutoCAD | 33 | 16.07.2009 09:42 |