|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
|
|||
![]() |
|
||||
Программист широкого профиля. Регистрация: 08.09.2005
Челябинск
Сообщений: 722
|
Цитата:
навреное я устал и меня начало глючить. Пойду посплю |
|||
![]() |
|
||||
инженер Регистрация: 05.12.2005
Москва
Сообщений: 425
|
Помогите.
Разбирая работу со списками не могу понять как, если у меня в блоке есть текст и еще ряд примитивов как уневерсально, добраться до них.
|
|||
![]() |
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
>favorite
"Классические" варианты такие: Код:
Код:
Зачем (terpri) вставил ![]() |
|||
![]() |
|
||||
инженер Регистрация: 05.12.2005
Москва
Сообщений: 425
|
Наверное я плохо объяснил что мне надо в результате работы моей программы получается
((-1 . <Entity name: 7e202b40>) (0 . "INSERT") (330 . <Entity name: 7e3d3cf8>) (5 . "28D8") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbBlockReference") (2 . "Ïðèìèòèâ") (10 23785.8 22829.1 0.0) (41 . 1.0) (42 . 1.0) (43 . 1.0) (50 . 0.0) (70 . 0) (71 . 0) (44 . 0.0) (45 . 0.0) (210 0.0 0.0 1.0)) Фактически мне нужно не перебрать все объекты, а найти имена примитивов в списке <Entity name: 7e3d3cf8>) , чтобы потом функцией ssget развернуть его и затем подправить. Задача: У меня в блоке текст и я хочу до него добраться. |
|||
![]() |
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Цитата:
Описание блока (Block) - находится в таблице "BLOCK" (есть такая форма хранения информации в чертеже). В сам чертёж вставляются только "отражения" этой информации (Block Reference). К примеру найдём в таблице "BLOCK" описание блока с названием "My_Block": Код:
Код:
Код:
Код:
Код:
Код:
|
|||
![]() |
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Цитата:
Классический пример использования функции ENTNEXT (кроме перебора примитивов в блоке) это сбор объектов после расчленения блоков, мультилиний, размеров (тоже кстати блок). Общий алгоритм такой: Код:
|
|||
![]() |
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Кстати если вы более мение прилично читаете по английски (а это просто необходимо для самотоятельного изучения) лучший сайт для обучения AutoLISP это www.afralisp.co.za . Также для получения бесчисленного количества примеров по любой функции, просто заходите на www.google.com и набираете эту функцию в строке поиска. Особенно хороши японские и корейские сайты
![]() |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
|
|||
![]() |
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Цитата:
Да и не всегда нужен набор, иногда нужно просто обработать что-то по одному примитиву. Так что и то и другое хорошо в своём случае ![]() |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Если надо добраться до элементов описания блока (без взрывания), можно попробовать такое:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
> {Smirnoff} : Шутку понял
![]() Просто мне, например, оказалось проще работать через vla-функции - вот и пропагандирую их где ни попадя ![]() ![]() ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
![]() |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Лентяй, Лентяй... Я ж отлично помню всех, кто мне помогал. Если перечислять начну, я ж работать не буду дня два, не меньше!
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Программист широкого профиля. Регистрация: 08.09.2005
Челябинск
Сообщений: 722
|
Господа, подскажите, как сохранить в переменной имена всех слоев текущего рисунка для передачи их в раскрывающийся список диалогового окна DCL, где пользователю предлагается выбрать один из имеющихся слоев.
Можно получить хотябы даже список с неужными элементами(тип линий, стиль печати), этих ненужных элементов я уже научился выбрасывать из списков. Проблема эта вызвана тем, что я не могу угадать какой слой использует пользователь для рисования допустим осевых линий, поэтому я решил предоставить пользователю выбрать самому выбрать слой для того или иного типа линий. |
|||
![]() |
|
||||
инженер Регистрация: 05.12.2005
Москва
Сообщений: 425
|
Цитата:
Подскажите пытаюсь текст в блоке заменить что-то не получается скажите где я не прав. Код:
|
|||
![]() |