|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
NanoCAD: как гарантированно узнать папку текущего открытого файла ?
г. Норильск
Регистрация: 15.08.2005
Сообщений: 616
|
||
Просмотров: 2447
|
|
||||
Цитата:
т.е. если ты запустил ком строку в каталоге с 0-str2.dwg и запустил нану "C:\Program Files\Nanosoft\nanoCAD x64 23.1\nCad.exe" "C:\Путь\0-str2.dwg" то нана не знает полный путь... проверить легко, посмотреть Файл-свойство чертежа.. Расположение будет "\" (( а вот на .NET легко
__________________
Мастерская СПДС Последний раз редактировалось doctorraz, 21.03.2024 в 14:26. |
||||
![]() |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616
|
Похоже, что всё-таки "знает", т.к. если сделать команду
"Сохрани как...", nanoCAD услужливо откроет именно ту папку, где лежит открытый файл DWG. Причём *.bat-файл можно запускать из любой папки /проверил/, прописывая к нему полный путь доступа, перед этим попрыгав менеджером по разным папкам, чтобы "текущей" в системе была точно "другая" папка. Не, "сбить с толку" не получается. Оно "знает", где этот файл лежит. ----- добавлено через ~4 мин. ----- Цитата:
переменным - dwgprefix и dwgname.
__________________
Счастливо, Алексей! |
|||
![]() |
|
||||
Код:
если просто save, тоже пересохранит)) ---------------- всежэж он не знает полный путь и сохраняет тупо по относительному... средствами ОС то что на (getvar "dwgprefix") возвращает имя файла, имха бага ------------- должен вернуть \\
__________________
Мастерская СПДС Последний раз редактировалось doctorraz, 21.03.2024 в 14:33. |
||||
![]() |
|
||||
так вернет директорию
Код:
__________________
Мастерская СПДС |
||||
![]() |
|
||||
string value = HostApplicationServices.WorkingDatabase.Filename
Вернет имя файла с расширением Offtop: Нанодевы не подумали, что пытливые пользователи будут открывать файлы без пути)) ----- добавлено через ~11 мин. ----- батник меняет рабочий каталог наны и Код:
Цитата:
типа так *.bat Код:
перед запуском пакетной обработки выполнить этот *.vbs Код:
PS действует на первый запущенный нана
__________________
Мастерская СПДС Последний раз редактировалось doctorraz, 21.03.2024 в 16:11. |
||||
![]() |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616
|
Цитата:
Просто у меня на Enter назначено открытие DWG в Автокаде, вот и сделал маленький батник, чтобы быстро открывать в нане "отладочный файл" из "текущей папки". И тут же получил багу. :-) А когда "мельтешит окошками", то в асаде даже хорошо. Юзер запустил и сидит, картинки смотрит, как оно там рисует - жизни радуется. Ну у что, что подольше. Затрат времени на рубль, удовольствия - на все сто. :-)
__________________
Счастливо, Алексей! |
|||
![]() |
|
||||
можно жэж другим делом заняться... косынку разложить)))
Цитата:
Offtop: в клубе разработчиков тишина, абонент не абонент, то ли их всех уволили, то ли загрузили по самое не балуй эт я к тому, что надеяться тут можешь только на себя
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Offtop: Сугубо ИМХО - стоит все же сначала запускать приложение, а потом уже из-под него открывать файлы. Научен горьким опытом под акадом, когда у тебя под десяток профилей с различными настройками )
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
в качестве костылика под эту грабельку
дополнить батник скриптом типа Код:
Хотя проще всего поправить батник, чтобы он нане передавал полный путь
__________________
Мастерская СПДС Последний раз редактировалось doctorraz, 21.03.2024 в 16:43. |
||||
![]() |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616
|
Я не могу отследить, как именно пользователь будет
открывать файл - поэтому пытаюсь учесть все мыслимые и немыслимые способы. Для себя-то чего - добавил путь в батник и не жужжу. А вот насчёт "save as" интересно. Возможно, путь в dwgprefix может появиться и после какого-то другого события/команды. Надо поискать. Кстати, если не лень, поотслеживайте пошагово, как меняется значение в dwgname при создании нового файла. Удивитесь. Там в какое-то время появляется и исчезает имя шаблона. :-)
__________________
Счастливо, Алексей! |
|||
![]() |
|
||||
Да лаааднаа, его жэж не ветром надуло.. Из шаблона и создается
----- добавлено через ~1 мин. ----- На моей памяти ты первый так придумал!!! Напиши в саппорт про баг, может и поправят ----- добавлено через ~4 мин. ----- Цитата:
По saveas. Он тупо сохраняет файл по пути окружения которое ты ему батником установил.. Т.е. этот каталог какбэ корневой. Путь походу уже добивает система, в нане его нет и неоткуда взяться
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Код:
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616
|
Попробовал SaveAs.
Тоже не вариант. а) Если сохранить открытый файл 01.dwg, как 02.dwg - всё О'К, путь в "dwgprefix" появится. б) Если попробовать сохранить открытый файл 01.dwg, как 01.dwg (т.е. "самого в себя"), то nanoCAD просто не даст это сделать. Скажет, что файл открыт другим процессом, не желая узнавать в нём себя, любимого. :-)
__________________
Счастливо, Алексей! |
|||
![]() |
|
||||
не подтверждаю, без проблем перезаписывает открытый самим собой файл
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616
|
Ну, не скрин же мне прикладывать...
Версия 23.1 - заерепенилась у меня. ----- добавлено через ~5 мин. ----- Вот текст из окна: Файл .... открыт для редактирования в другом сеансе или другим пользователем, поэтому не может быть замещен и "красный крестик" слева от сообщения. :-) ----- добавлено через ~8 мин. ----- Это если в батнике в явном виде не прописать путь к открываемому файлу. Если прописать - то всё ОК. Но тогда и первоначальной проблемы тоже нет.
__________________
Счастливо, Алексей! |
|||
![]() |
|
||||
Цитата:
смотри свой батник из под кого и как запускаешь нано ------------- так запускаю Код:
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616
|
Цитата:
Если в батнике строка start "DREAM-START" "C:\Program Files\Nanosoft\nanoCAD x64 23.1\nCad.exe" "0-str1.dwg" т.е. "без пути", то сохратиться как "сам-в-себя" - не даёт.
__________________
Счастливо, Алексей! |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
если нет официального ТЗ и разработка ПО не являются прямыми должностными обязанностями - просто проверил бы наличие прямого и обратного слеша в имени файла и выдал предупреждение пользователю. Стоит ли столько времени тратить на нахождение путей обхода чужих косяков...
|
|||
![]() |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616
|
Цитата:
А ларчик-то просто открывается, оказывается. Только что нашёл: (findfile (getvar "dwgname")) даёт полный путь к файлу, загруженному даже таким вот своеобразным батником.
__________________
Счастливо, Алексей! |
|||
![]() |
|
||||
автокад ищет по путям поиска
нана вдобавок ищет в текущем каталоге не обязательно файла dwg
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Offtop:
в нанокад можно провернуть такую фигню невозможную в автокад (все файлы лежат не по путям поиска) загружаем первый лисп по полному пути этот лисп может загружать другие лиспы по относительным путям относительно своего файла из любого лиспа можно перезагрузить самого себя просто по имени файла без пути Код:
----- добавлено через ~24 мин. ----- главное, чтобы одноименный файл в путях поиска или C:\\Program Files\\Nanosoft\\nanoCAD x64 23.1\ не оказался)))
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
кад сначала ищет в каталоге текущего документа, потом уже лезет в каталоги поиска. Как оно в нанике - без понятия
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616
|
Цитата:
из разных папок открывал в разной последовательности, разных сеансах и разных копиях запущенного нано. Пока без сбоев - выдаёт путь именно того файла, в ком. строку которого вводишь эту команду. Т.е. алгоритм действий такой - читаем dwgprefix, если там этих самых префиксов "\\" нет - лезем узнавать их из findfile.
__________________
Счастливо, Алексей! |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программа для редактирования XML файла acad.cuix | МишаИнженер | Программирование | 30 | 12.09.2012 11:30 |
Lisp. Проблема после копирование стиля несущего элемента (ADT) из файла | молодой человек | LISP | 1 | 02.05.2011 22:56 |
Как реализовать "подгрузку/вставку" файла в нужное место открытого чертежа? | star282 | AutoCAD | 10 | 18.03.2011 21:12 |
Как присоединить к одному чертежу (из 1ого файла) кусок продолжение (из 2ого)? | star282 | AutoCAD | 13 | 17.03.2011 12:13 |
Частичное открытие файла - не активно при открытии файла | ADik | AutoCAD | 4 | 22.06.2006 07:35 |