|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
10.04.2011, 16:19 | #1 | |
Преобразование многострочного текста в блок с атрибутами
Регистрация: 15.01.2010
Сообщений: 254
|
||
Просмотров: 9509
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Поскольку тема в "AutoCAD", то, наверное, ответ будет только один - вручную. Или теме место в "Программировании"?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Перенесено.
--- Добавлено: а закон формирования подобных атрибутов всегда один?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 15.01.2010
Сообщений: 254
|
Цитата:
MTEXT в 2 строки; формат записи такого вида ABC123DE456F (A...F - любая латинская заглавная буква, 1...6 - любая цифра 0...9) ABC - первый атрибут блока, 123 - второй, DE - третий; 456 - четвертый; F - пятый А что, позже нельзя будет изменить, если "закон" изменится (чертежи разные приходят, под все не подстроишься)? Если бы на LISP-е было решение, то можно было бы попробовать подправить в случае чего самому |
|||
|
||||
Если программу писать грамотно, т.е. выносить настройки во внешний файл, то можно.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Регистрация: 15.01.2010
Сообщений: 254
|
|
|||
|
||||
Цитата:
Если лисп не компилировать, то конечно же - не сложно и в lsp-файле внести изменение (если человек точно знает, где именно и что нужно менять), но если на руках будет только откомпилированная версия... Offtop: Вообще НЕ выносить конфигурационные настройки за рамки кода считается правилом дурного тона (по вполне понятным причинам). Даже если лисп не компилировать, существует опасность того, что пользователь, когда полезет изменять "правило", случайно не там точку поставит или ещё чего, в результате код работать перестанет. Да и вообще, все настройки нужно хранить отдельно от кода - тогда и их искать по коду не придётся, и угрозы случайного повреждения кода не будет. Я не придираюсь, просто озвучиваю общепринятую практику программирования
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
В MTEXTе контент может содержаться не только в коде 1, но и в дополнительных кодах 3. В примере из #1, конечно же, количество символов небольшое и в таком случае вполне будет достаточно извлекать только код 1, но, на всякий случай, это стоит иметь в виду (если поискать на форуме, можно найти грамотные функции для извлечения из MTEXTа строки).
Затем, нужно будет снести форматирование MTEXTа (поиск по форуму по словам "mtext" "unformat"), потому что вместо нужной строки "CSQ874JL080V" из MTEXTа в примере извлекается "CSQ874\\PJL080V" (и это еще далеко не самый запущенный случай). Ну а потом уже манипулировать с готовой к употреблению строкой с помощью функции substr, или как в коде из #9 преобразовать строку в список с помощью vl-string->list и работать со списком... |
||||
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 571
|
superkot007, для Твоего примера
Код:
Исходный mtext удаляется. Блок вставляется в точку вставки mtext'a
__________________
cadtools |
|||
|
||||
Регистрация: 06.10.2011
Сообщений: 42
|
да мне нужно много текстов на плане перевести в блоки автоматом, вот этот код это делает ? http://www.cadtutor.net/forum/showth...th-block/page2
|
|||
|
||||
Регистрация: 30.03.2012
Сообщений: 101
|
именно. Единственное, что блок, которым будете заменять, должен находиться в этом варианте программы в отдельном файле.
А вообще обманул я вас. Она не вносит значения текста в атрибут это раз, во вторых в оригинале заменяются только строки с "F", ну и масштаб вставляемого блока не 1,1,1. Так что не то Последний раз редактировалось WhiteShark, 21.03.2014 в 14:50. |
|||
|
||||
Регистрация: 06.10.2011
Сообщений: 42
|
Да каждый текст преобразуется в блок с атрибутом содержащий этот текст и вставляется в тоже место где был этот текст, то есть происходит просто замена текста на блок с атрибутом. и так во всех текстах на плане
пример что я хочу ----- добавлено через ~39 мин. ----- интересный пост http://through-the-interface.typepad...et-part-2.html ----- добавлено через ~8 ч. ----- Вот замороченный пример только не понятно как запускается http://www.cad.dp.ua/stats/a_vba/acentity3.php |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Выравнивание текста по двум точкам. | Krieger | Готовые программы | 10 | 24.12.2011 16:02 |
Ширина многострочного текста уменьшается до минимума | Kalhaman | AutoCAD | 4 | 12.05.2010 12:03 |
Изменение стиля Многострочного текста | Traum | AutoCAD | 29 | 18.08.2009 10:31 |
редактирование многострочного текста в AutoCAD 2006 | greta | AutoCAD | 10 | 12.03.2007 23:24 |
как создать блок с атрибутами | Алексей К. | Динамические блоки | 8 | 12.11.2006 15:47 |