|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Начало работы в AutoCAD с файлов открытых в прошлой сессии
инженер (КМ)
Красноярск
Регистрация: 30.10.2004
Сообщений: 3,837
|
||
Просмотров: 5541
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Теоретически - можно. Вопрос только в том, где хранить данные о последних сохраненных файлах. Потребуется командный реактор, наверное. Ну или отдельно, руками запускаемый лисп. К примеру, так:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Во моя дурная привычка не писать команды... Вызов - со скобками, то есть (_open-last-files) и (_save-files) соответственно. для работы надо иметь права на запись в реестр, ветка HKEY_CURRENT_USER\Software\AutoCAD. Сохраняются только имена файлов, которые были сохранены. Имена файлов, которые были изменены, не хранятся.
А, стоп, я ж dbmode проверяю... Попробуй заменить _save-files на Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Так значит документ еще не сохранен. Вообще нигде и ни разу. Открой пару-тройку файлов (любых), поменяй их и сохрани; потом вызови (_save-files). Для контроля проверь значения в ветке реестра HKEY_CURRENT_USER\Software\Autodesk\DWG\Saved - там должен быть всего один параметр, где через символ ";" перечислены полные имена файлов. Есть?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,834
![]() |
Цитата:
![]() Зачем его убрали, кому мешал, кто знает? Архиполезнейшая штука! ![]()
__________________
По теории майский жук летать не может. Но он этого не знает. И летает... |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Цитата:
Однако, дома чудесным образом заработало... Завтра на работе еще раз гляну. Только неизменяемые файлы тоже надо открывать. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Я сейчас подумал - возможно, при большом количестве файлов или длинных путях до них могут быть проблемы (если строки в реестре не хватит на общую длину). Тогда понадобится переделывать.
Идея пришла в мою дурную голову: а если еще и по сессиям распределять? Типа "сессия от 10.10.2007 - файлы <...>"; "сессия от 12.11.2007 - файлы <...>". Да еще окно прописать... Да еще инсталлятор сделать... Не, зря я ночь не спал ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Разделить по сессиям канечно можно, но не очень это надобно. Обычно ты работаешь над одним проектом несколько дней, для чего открываешь необходимые файлы. Вот их и надо загружать скопом. А чего я делал месяц назад я и не вспомню. Лучше доработай этот вариант.
1. Я могу открывать файл только для просмотра или копирования от туда чего либо, но сохранять я его не буду. Однако он понадобится в следующей сессии. 2. При начале работы запускается файл из шаблона, а он мне в данный момент не нужен. Можно ли закрыть не сохраненный файл с названием Drawing1.dwg при нажатии кнопки с функцией (_open-last-files)? |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Попробовал уйти от ограничения (если оно вообще есть) длины строки реестра. Снято требование на сохраненность файла. Исключена ошибка попытки повторного открытия файла.
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Именно Drawing1.dwg или Рисунок1.dwg и ничего другого. Этот файл не сохранен. Просто отправить на него команду _close, а если там были построения, то кад спросит сохранить или нет. Кстати если самим это проверить, при изменении начального документа его не надо закрывать. Кстати AutoCAD так и делает, если включить AutoCAD и ничего не делая в начальном файле открыть сразу другой файл, то пустой закрывается.
Хотя вобщем, так как активным остаётся после загрузки файлов именно Drawing1.dwg, то вопрос можно частично решить, добавив команду к макросу: ^C^C(_open-last-files);_close Profan Не годится. Я поработал, и начал ерундой заниматься, какой-нить динблок стряпать штук 10. И этот список испортится. И потом там вроде сохраняются не закрытые файлы, а открытые. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Krieger, а если у тебя лиспы засунуты в startup suite (то бишь автозагрузка), а файл ты открыл двойным кликом на нем? И при этом (файл-то по сути временный, но сейчас нужный) файл имеет имя Drawing1.dwg?
Думаю, что проще всего будет сделать 2 отдельные кнопки: одна на простое открытие сохраненных файлов; вторая - с закрытием текущего, как ты показал.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Profan, не поподает, так как функция (_save-files) весит на кнопке. Нажал, т.е. закончил работу, и только после этого начал заниматься ерундой.
Кулик Алексей aka kpblc, ну во-первых, нету у меня сохраненных файлов с названием Drawing1.dwg, хотя нет, в папке "мусор" есть. Но ведь он сохранен, а значит не трогаем. Т.е. если (vla-get-FullName (vla-get-Documents(vlax-get-acad-object))) выдаст "", а (vla-get-Name doc) выдаст Drawing1.dwg - мочим. Вроде так... Ну, в принцепе, это и сам попробую доделать. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Файловые операции в Windows под доменом могут не выполняться (Добавлено: имею в виду запись в программные каталоги). И потом, плодить файлы черт-те где, а потом их собирать... Не гуд. txt-файл должен храниться так, чтоб его acad в любой момент мог найти. Независимо ни от чего. Сохранение в каталоге текущего документа нужного эффекта, скорее всего, не даст.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Открытие нескольких файлов в одном окне AutoCad | TanyaNuri | AutoCAD | 67 | 17.01.2023 13:04 |
запуск программы из AutoCADа | kminas | Программирование | 19 | 15.06.2012 13:42 |
Разделение работы AutoCAD | AutoCAD Mechanical | PVal | Вертикальные решения на базе AutoCAD | 3 | 23.03.2012 10:16 |
Уже работаю в AutoCAD 2006, но нужна книжка чтобы знать все тонкости работы с 2D графикой. | Unt0nich | Поиск литературы, чертежей, моделей и прочих материалов | 17 | 06.05.2008 17:58 |