| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Offtop: Даешь 1-ю космическую скорость
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Регистрация: 17.01.2014
Сообщений: 97
|
Пытаюсь создать функцию цикла. Цикл должен запускать entsel, условие выхода из цикла - выбор таблицы. Написал следующую конструкцию:
Код:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,846
|
Со скобками запутался. Да и логика какая-то странная...
А если вообще ничего не выбрать? А если человеку надо "вотпрямщас" прекратить выполнение кода? А так - на выбор: Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 17.01.2014
Сообщений: 97
|
Цитата:
Цитата:
Попытался вшить предложенную функцию в код, но не сработало. Может подскажешь куда копать? Суть такова: 1. нужно выбрать таблицу (строку в таблице), и, если выбор сделан => 2. нужно выбрать мвыноску, и, если выбор сделан => 3. в таблицу вставляется строка с текстом выноски и ее координатами 4. циклический возврат к пункту 1 На данный момент в пункте 1 и 2 выбираются любые объекты, а нужно, чтобы в п. 1 можно было выбрать только таблицу, а в п. 2 - только мвыноску. Код:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,846
|
Я бы делал ставку на фильтры selset - быстро, просто, предсказуемо
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,846
|
Я ж в t2 показал варианты выбора. В чем трудность?
И настоятельно все же рекомендую разобраться со скобками: код вообще непонятно как должен работать.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,846
|
Не обратил сразу внимания. Код не сработает в локализованной версии AutoCAD.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,046
|
а код и так лишен смысла - с алгоритмом:
никак не пересекается. Не говоря уже о том, что постоянно прыгать от выноски в чертеже к таблице (таблицам) и обратно - мягко говоря, самый неудачный вариант в плане реализации, имхо. |
|||
|
||||
Регистрация: 17.01.2014
Сообщений: 97
|
На счет качества кода не скажу - код не мой. Я лишь пытаюсь допилить его под себя.
Цитата:
Кулик Алексей aka kpblc, Цитата:
1. если выбран объект кроме таблицы (либо ничего не выбрано) - функция возвращает nil. 2. если выбрана таблица - цикл выбора продолжается. Но это не то, что мне нужно. Попробую пояснить на примере. В выражении: Код:
А нужно, чтобы переменной X была возможность присвоить только имя таблицы, в противном случае цикл выбора продолжается. Последний раз редактировалось Browning Zed, 25.02.2018 в 15:01. |
|||
|
||||
Регистрация: 17.01.2014
Сообщений: 97
|
Спасибо, VVA. То, что нужно! Но есть один косяк. Эта функция работает, только, если в процессе выполнения кода нужно выбрать один тип объекта. В моем случае - сначала необходимо выбрать таблицу, а затем мультивыноску. Т.е., если в коде будут два выражения, типа:
Код:
Код:
Это можно как-то поправить? |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,846
|
При выборе мультивыноски надо "кликать" не на аннотации, а на самой выноске. Кстати, выноски могут быть и стандартные.
И ты уверен, что именно функция mip-ssentget-by-type срабатывает неправильно?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 17.01.2014
Сообщений: 97
|
Кулик Алексей aka kpblc,
Неважно куда кликать, на текст или линию выноски - функция прерывается с ошибкой. Цитата:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,846
|
Ок, замени вызов на обычный ssget: (ssget '((0 . "ACAD_TABLE"))) и (ssget '((0 . "MULTILEADER"))) и посмотри, что будет в результате. Мне кажется, что проблема совершенно в другом месте.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,046
|
используйте трассировку - редактор лиспа акадовский это позволяет. Чем гадать...
|
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
Цитата:
Поэтому В редакторе лиспа в меню "Отладка" поставь чек-бокс на "Прервать на ошибке". Запусти лисп. После ошибки вернить в редактор и выбери "Отладка"->"Причина последнего останова" (Ctrl+F9) Перейдешт на строчку, в которой возникла ошибка Клик правой кнопкой на переменной -> "Изучить" Смотри что в ней содержится
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 25.02.2018 в 21:56. |
|||
|
||||
Доброго. Нубовопрос.
После того как отработала переопределенная функция (*error* nil), разве не должен происходить выход из вычислений? Я наивно пологал что вызов error остановит вычисления на моменте где собственно и вызвать error . Но у меня в данном примере после (+ 1 1) отрабатывает error а после этого отрабатывает и (+ 2 2). Все так и должно быть? Если все так и должно быть, то как грамотно обеспечить выход при error? Код:
__________________
Блог |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,846
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
ЮМОР 2006 =) | Perezz!! | Разное | 1122 | 04.01.2007 00:46 |