|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
04.12.2008, 12:13 | #1 | |
Извлечение текстовой строки из примитива
Thượng Tá Quân Đội Nhân Dân Việt Nam
44d32'44"С, 33d26'51"В
Регистрация: 14.03.2005
Сообщений: 13,381
|
||
Просмотров: 4696
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Ну хорошо, получить получили. В принципе вопрос-то только один: а назначать как? Особенно для многострочных текстов, у которых группа 3 используется во весь рост?
Через (entmod) или (vla-put-textstring) - что рекомендуется? P.S. Честно скажу - сейчас провести эксперимент не могу. Может, ночью получится... --- Добавлено: кстати, пока вспомнил про MTEXT... Код:
Добавлено 2: по идее надо бы еще и по многострочным атрибутам пройтись (для вящего спокойствия). Но, по-моему, они сильно похожи на MTEXT...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. Последний раз редактировалось Кулик Алексей aka kpblc, 04.12.2008 в 15:21. |
|||
|
||||
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Упоминавшийся диалог (есть варианты с 1 и 2 строками) используется чаще всего - чтобы можно было воспользоваться словарями, справочниками, взять имеющийся текст, не вводить вручную спецсимволы. В результате в LISP возвращается строка со спецсимволами в "лисповском" стиле, т.е. типа "\\u+22051000". В чертеж такая строка попадает разными путями. Например, через функцию рисования мультивыноски. Там работает vla-put-textstring. Есть вариант вставки в любое место. Указали точку в пустое место - добавится обычный текст со спецсимволами. Указали точку в ячейке таблицы - заменится содержимое ячейки. Указали (через опцию) "Заменить" на атрибут или размер - изменится их содержимое. Везде через свойство textstring, не задумываясь о DXF-кодах. С полями и многострочными атрибутами пока не испытывал. Многострочный атрибут - по сути MTEXT. Но это нетрудно доработать. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Естественно, kpblc, который aka Алексей Кулик
Функцию я не прикладываю, так как всех проблем с очисткой формата она не решает. Так же, как несколько других, в том числе моих собственных. А у автора может быть и уже другой вариант. Коли уж тему приподняли: Замена текста в многострочном атрибуте через свойство textstring вполне корректна, так как там только мультитекст. То же самое и для Field. Но, если просто заменить textstring, из поля пропадет формула, поэтому сделал добавление текста к свойству FieldCode, если такое обнаружится. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Как-то не обратил внимания на изменение, которое сделал Кулик Алексей aka kpblc в #2.
Для извлечения полного содержимого мультитекста конструкции (cdr (assoc 1 edata)) недостаточно. Здесь будет возвращена только последняя часть строки. А предыдущие будут зашиты в пары с кодом 3, только сколько их - заранее неизвестно. То есть надо "сложить" все строки, содержащиеся под кодом 3 со строкой с кодом 1. Сделал это не так, как Алексей - Код:
Век живи - век учись. |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу) | Red Nova | LISP | 4555 | 24.03.2024 13:44 |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Извлечение данных в шаблон EXEL. | OHUKC | Программирование | 23 | 15.09.2008 19:45 |
Как Извлечь из строки числа | Kostinok | Программирование | 7 | 12.08.2008 08:00 |
Извлечение значения параметра регистра отлиного от строки | AleX | Программирование | 13 | 27.01.2005 18:06 |