|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Для этого надо писать обработчик ошибок (функцию *error*) или использовать vl-catch- функции (на autolisp.ru я показывал варианты и одного, и другого).
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 05.09.2007
RUSSIA
Сообщений: 165
|
Несколько вопросов:
1. (повтор) как программно к конфигурации печати ( например DWG To PDF.pc3) подключить файл описания принтера (например DWG To PDF New.pmp)? 2. Как из программы вызвать "проводник" - окно сохранения(открытия) файла? 3. Нужно сохранить файл перед обработкой. Как это сделать быстрее? Если использовать SaveAs - активной становится копия и при большом файле геморройно открывать старый-закрывать новый. Если через SSGET "_X" и потом WBLOCK - то можно ли быть уверенным, что чертеж будет идентичным? Заранее благодарен. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Цитата:
startapp 1. (command "_.save") 2. (vla-save ... 3. Похожую задачу делал на http://adn-cis.org/forum/index.php?t...sg7171#msg7171 , но результат оказался никому не нужным. Код оставил просто "на память". Теоретически - да. Практически - еще вопрос.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 05.09.2007
RUSSIA
Сообщений: 165
|
Цитата:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Сходи по ссылке, почитай обсуждение.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Это "локализация по месту" имени res - чтоб не засорять пространство имен - vlax-for устроен, так сказать, не в концепции лиспа - это чисто итеративная функция, а в функциональном стиле подобную "встроить" поленились - по факту функция берет vla коллекцию "VLA_ITEM" и возращает список ее item'ов - я тоже приодически использую подобнцй костыль - только "VLA_ITEM" у меня вынесен как аргумент.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
а у любого лиспа любую скобку(и) убери он уже по другому заработает, а в "пустоте" запускается только-что созданная функция.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Или так:
(apply (function (lambda (/ res) (vlax-for sub VLA_ITEM (setq res (cons sub res) ) ) (reverse res) ) '()) ЗЫ пишу с планшета, так что код не проверял и не тестировал. Могут быть косяки
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Цитата:
P.S. Еще один вариант: Код:
Ну и еще один (просто работать не хочу - сил нет ) Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 12.01.2015
Сообщений: 261
|
В прошлом веке познакомился с lisp'ом в объеме книги Ю. А. Кречко В. В. Полищук "Автокад 13: новые возможности" Москва "Диалог-МИФИ" 1996. В книге четко прописано ограничение: "... хотим добавить новый примитив, то должны использовать команды отрисовки или редактирования Автокада. Это ограничение связано с желанием защитить ГБД от неграмотного программиста: ...". Благодаря воспитательному эффекту форума обнаружил две новые для себя функции: entmake и entmakex. Безусловно такой подход на порядок, два увеличивает скорость работы lisp'а, существенно облегчает проблему отслеживания значений системных переменных. Но страх испортить ГБД остался.
На сколько защищена работа этих функций от действий "обезьяны с гранатой"? |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
А кто выступает в роли "обезьяны"? Если программист, но ничего не поможет. Если пользователь - то это более безопасно.
P.S. Кстати, прорекламируюсь-ка, пожалуй В свое время расписывал кое-что у себя на сайте: http://autolisp.ru/2009/09/22/programming-style/ ; http://autolisp.ru/2009/09/20/execution-speed-check/ ; http://autolisp.ru/2009/09/13/error-catch/ - ну так, для общей информации ))
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 12.01.2015
Сообщений: 261
|
Алексей, спасибо за оперативный ответ. От ошибки не соответствия dxf кода типу данных не застрахован и квалифицированный программист.
(entmakex '((0 . "LINE") (10 0. 0. 0.) (11 100. 10. 0.) (8 . "СлойОтрезка") (62 . 1) (6 . "Continuous") (370 . 25) (210 0. 0. 1.) ) Например после кода 8 вставлены координаты кода 11. Что будет в этом или подобном случае? |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |