|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как все поля чертежа сразу преобразовать в текст?
ՃԱՐՏԱՐԱԳԵՏ, տ.գ.թ.
Торонто
Регистрация: 23.10.2007
Сообщений: 1,990
|
||
Просмотров: 29378
|
|
||||
DEM, Поправлюсь, там мтексты, жалко портить, и потом в блоках тоже есть.
Рyslan, Поле, это где косят траву, пасут овец, создателей AutoCAD как-то упрекнули, что их них продукция "отрывает людей от матушки природы", вот они и решили добавить поле. Нажал на кнопку и во круг ручейки, травка, солнышко светит. ![]() А если серьезно дай поиск в хелпе на "field".
__________________
Блог |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Лисп покатит?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Цитата:
Был уже лиспик который поля и в М-текстах переводил в текстовые значения.
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
![]() |
|
||||
Архитектор Регистрация: 19.10.2007
Казахстан
Сообщений: 74
![]() |
|
|||
![]() |
|
||||
seilg, Спасибо, нашел по ссылке дельный лисп, жаль только блоки и листы сразу не чистит.
Кулик Алексей aka kpblc, Кстати ты ведь его делал, может можно добавить возможность чистить еще и в блоках и в листах сразу? Типа запустил команду и пурген всем полям. Код:
__________________
Блог |
||||
![]() |
|
||||
Кулик Алексей aka kpblc,
Эх что-то в последнее время ты креатином мало занимаешься. Жаль. ![]()
__________________
Блог |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Времени мало... Не успеваю
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
О, кстати, образец кинь для проверки и просмотру
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Вот файл. Там есть поля в мтекстах в модели и на листе, а еще в блоке. Надо одной командой все почистить.
![]()
__________________
Блог |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Значит так. Поля, которые ссылаются на текущий лист, корректно обрабатываться отказываются. А так - пробуй:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Спасибо, но пока лисп не очень корректный.
![]() 1. Дин. Блоки содержащие поля в конец портятся. (динамические свойства летят на фиг). 2. Номера листов отобразились не корректно, корректен только лист, на котором ты находишся выполняя команду. 3. Один вертикальный мтекст в с полем развернулся на 90 градусов. 4. В одном дин. блоке у мтекста содержащего поле была маска, она осталась, но почему-то ее размеры увеличились. (border offset factor был 1,2, стал 1,5). Очень надеюсь что это поправимо, поскольку лисп и в правду очень нужный. Смотри пример до и после.
__________________
Блог |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Эх, не зря я не хотел связываться с атрибутами...
Суть лиспа такова: создается новый объект "такого же" типа, только у него TextString устанавливается (простая замена работает только на атрибуты, на многострочные тексты практически никогда не срабатывало; на однострочных пару раз отказалось. Возможно, я там в файле накосячил). После создания новому объекту назначаются все возможные свойства исходного. Файл попробую дома посмотреть, но ничего гарантировать не могу. Поля "со ссылками на лист" лечению лично у меня не поддавались. Может, еще кто подключится?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Цитата:
![]()
__________________
Блог |
||||
![]() |
|
||||
Попробую сформулировать одну мысль. Будучи далеким от программирования человеком, заранее прошу прощение за возможную некорректность.
В AutoCAD есть стандартная возможность конвертации поля в текст. Для этого надо правда открыть мтекст, затем найти поле, правый клик, convert fied to text. При этом поля связанные с листом (да и все другие) корректно переводятся в текст. Предлагаю алгоритм. Что если с перва найти все мтексты (тексты) в модели, в листах, а так же в блоках, затем в этих мтекстах найти поля, и по очереди применить к ним convert fied to text. Что-то похожее и с атрибутами можно сделать. Мысль очень далека от реальных возможностей лисп?
__________________
Блог |
||||
![]() |
|
||||
kp+,
Работает исправно. Нет мысли как применить ко всему файлу?
__________________
Блог |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Red Nova, а ты попробуй сделать так: сначала
Код:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Кулик Алексей aka kpblc,
Пока не въехал. Ты выложил два вложения. Что сделал я. -Я сохранил оба как отдельные лиспы, загрузил эти лиспы. Перешел на лист. В ком. строке пишу (setq ent (car (entsel)) Запроса на выбор объекта не следует. Пробую иначе, методом тыка. (car (entsel)) Запрос последовал. (Рождается надежда что я пошел по правому пути.) Выбираю мтекст, перехожу на другой лист, ввожу (fft ent) Пользы нету. (Надежда умирает). Это максимум на что у меня хватило серого вещества. ![]()
__________________
Блог |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Red Nova, скобку пропустил
(setq ent (car (entsel)))
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Это я пропустил...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Cо скобкой результат данной операции дал то, что первое указанное поле номера страницы стало текстом. Но это влияет только на одну страницу. А как быть если листов 30?
__________________
Блог |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
*** Добавлено 2010-10-29 ***Добавлено 2011-01-31 3 Команды: CFT - конвертирование полей с запросом CFTALL - конвертирование полей без запроса ***Добавлено 2011-03-09*** CFTSEL - конвертирование полей в выбранных примитивах ***Добавлено 2013-05-23*** Исправлено см. #48 (Стирает содержимое ячейки таблицы, если в данной ячейке присутствует блок) Дальнейшее развитие см LISP. Подготовка подосновы Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 08.08.2013 в 21:45. Причина: Исправлена ошибка поста #43 |
|||
![]() |
|
||||
VVA,
Класс, Вот тока лисп пытается и Xref обработать, в результате возникают баги, Xref просто пропадает ... А можно сделать так чтобы и Xref сразу корректно обрабатывался (типа edit Xref in place)?
__________________
Блог |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Red Nova, Вообще-то не должен xref обрабатывать
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
VVA, у меня несколько раз сравнение по "=" не давало нужный результат. Зато equal прекрасно срабатывал
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Offtop: Да не за что, моей заслуги тут нет.
P.S. "Обжегшись" на сравнении указателей на пространства модели и листа, с тех пор все время сравниваю vla-указатели через equal ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
VVA,
Это к стати не первая моя тема в которой решение находится более чем год спустя с последнего сообщения ![]() Спасибо, теперь все работает правильно.
__________________
Блог |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Red Nova, Обещанного сам знаешь сколько ждут. Так что пока в эти сроки укладываемся
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
skkkk, пример в студию
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Не вопрос
![]() В приложенном файле поля в спецификации (объект Table) ссылаются на объекты из исходных данных. Обрабатываю файл командой CFT. Все поля преобразовываются в текст (что хорошо). Далее двойной клик по ячейке, где ранее было поле открывает пустой редактор, т.е. не содержащий начертанные в ячейке символы, словно бы я кликнул по пустой ячейке. При Esc все возвращается на места, но при попытке сохранить изменения, допустим посредством клика по другой ячейке происходят чудеса....как-то: заполнение текущего столбца таблицы данными из левого соседнего столбца (при том не всех, а некоторых), или исчезновение содержимого некоторых ячеек с бывшими филдами(полями). Ячейки же, в которых полей не было, ведут себя привычно. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
skkkk, Обещанного 3 года ждут. Вроде поборол этот глюк. Код в #26
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
осталось теперь только добавить третью команду - конвертирование отдельных таблиц или текстов, и тогда вообще было бы идеально! Или такое решение уже есть и я туплю? Во всяком случае было бы хорошо иметь все в одном лисп-файле.
Спасибо за программку ![]() |
||||
![]() |
|
||||
решение по конвертации полей в текст отдельных текстов или атрибутов есть http://dwg.ru/dnl/1932. Но к сожалению там оочень не хватает таблиц.
|
||||
![]() |
|
||||
Инженер Регистрация: 10.11.2008
Владимирская обл., пос. Вольгинский
Сообщений: 147
|
Вчера сделала кнопку на команду CFTSEL из лиспа VVA пост 26, а сегодня поля в таблице не желают преобразовываться в текст. Раньше все прекрасно работало и при выделении таблицы поля в ней превращались в текст, таблица при этом оставалась таблицей. В чем может быть причина сбоя?
__________________
AutoCAD 2014 |
|||
![]() |
|
||||
Инженер Регистрация: 10.11.2008
Владимирская обл., пос. Вольгинский
Сообщений: 147
|
А в этом чертеже команда CFTSEL работает. Странно. Что же такое с предыдущей таблицей или чертежом случилось? VVA, форумчане, помогите, пожалуйста. Очень хочется, чтобы команда работала.
********** Итак, я поняла, почему у меня не получалось. Чтобы команда CFTSEL превращала поля в текст, надо, чтобы ВСЕ ячейки таблицы, включая заголовок и название, были разблокированы.
__________________
AutoCAD 2014 Последний раз редактировалось Nata1, 02.10.2012 в 15:14. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
adu, Пример выложи
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 825
|
VVA, Подправленный лисп перестал поля в таблицах преобразовывать в текст. Предыдущая версия нормально преобразовывала.
Во вложении таблица с полями. Попробуйте старой версией и новой.
__________________
AutoCad 2011 -> AutoCad 2013 -> AutoCad 2016 -> AutoCad 2011 -> AutoCad 2022 |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Astartes, Был глюк, исправил #26. Тестируй
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 24.05.2013 в 09:29. |
|||
![]() |
|
||||
добрый человек Регистрация: 23.02.2004
Глушь
Сообщений: 971
|
VVA, Спасибо!
Небольшое замечание. В строках 18-19 и 137-139 из #26 видимо, подсчет идет не только полей, но и всех текстовых объектов, попавших в выбор.
__________________
Правильно сформулированный вопрос содержит 90% ответа. |
|||
![]() |
|
||||
Давно не пользовался лиспом. Откопал но к сожалению понял что с созданными мною армянскими шрифтами не работает, символы превращаются в вопросы. Прикрепил файл пример. Шрифт можно скачать тут.
|
||||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Red Nova, здесь, начиная с #13. Оно?
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Red Nova, Если не поможет вариант, предложенный skkkk то попробуй команды
из BGTOOLS Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Спасибо за ответы.
skkkk Поменял региональные настройки на Армению. Рестартнул. Не помогло. VVA BGTOOLS работает корректно ![]() Такая же история с вопросами у меня с VRCTN и VRCTS (отсюда). Возможно ли там также изменить? |
||||
![]() |
|
||||
Регистрация: 14.03.2020
Сообщений: 39
|
апну тему, для того чтобы лисп https://forum.dwg.ru/showpost.php?p=395488&postcount=26 заработал в свежих версиях автокад в начало нужно добавить строку (vl-load-com)
![]() ![]() |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Текст из autocad в Word в текущее положение курсора. Как? | _Andre_ | Программирование | 31 | 18.06.2016 15:56 |
Как в AUTOCAD2008 распечатать все листы сразу | Vavan Metallist | AutoCAD | 2 | 11.03.2008 10:34 |
ЮМОР 2006 =) | Perezz!! | Разное | 1122 | 04.01.2007 00:46 |