|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Существует ли аналог (findfile) в .NET?
Moderator
LISP, C# (ACAD 200[9,12,13,14])
С.-Петербург
Регистрация: 25.08.2003
Сообщений: 40,377
|
||
Просмотров: 6514
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Спасибо! Вроде бы понял свою ошибку
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 18.01.2010
Сообщений: 16
|
Алексей вот код, но без обработки на ошибку, если файл не найден
namespace FindFile { publicclassFindFile { [Autodesk.AutoCAD.Runtime.CommandMethod("FindFile")] publicvoid PathFileFind() { Autodesk.AutoCAD.ApplicationServices.Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument; Autodesk.AutoCAD.DatabaseServices.HostApplicationServices haser = Autodesk.AutoCAD.DatabaseServices.HostApplicationServices.Current; Autodesk.AutoCAD.EditorInput.Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor; Autodesk.AutoCAD.EditorInput.PromptResult res1 = ed.GetString(" : "); string path = haser.FindFile( res1.StringResult, doc.Database, Autodesk.AutoCAD.DatabaseServices.FindFileHint.Default ); ed.WriteMessage(path); } } } |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Александр Ривилис, то есть второй вариант выполнять по аналогу с кодом Танзилло (DBUtils.cs)?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Да. Организовать вызов функции из соответствующей автокадовского dll-файла (в данном случае из acad.exe). Это общий принцип. Если чего-то нет в ObjectARX .NET, но есть в ObjectARX (без .NET) - нужно использовать P/Invoke
|
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Понял, буду пробовать
![]() ![]() Pavlukas, благодарствую. Я сделал аналогично: Код:
P.S. Александр, я окончательно и бесповоротно запутался в импорте ObjectARX-функций ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. Последний раз редактировалось Кулик Алексей aka kpblc, 20.01.2010 в 11:03. |
|||
![]() |
|
||||
Если в указанной версии AutoCAD используется .Net Framework версии не ниже 3.0, то ещё один способ такой (я так проверяю в AutoCAD 2009):
Код:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 25.01.2010 в 09:08. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Нда... До такой строки я точно додуматься не смогу еще очень долго.
Но за информацию спасибо ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Цитата:
1) текущий каталог; 2) каталог, содержащий текущий чертеж; 3) каталог содержащий acad.exe. |
||||
![]() |
|
||||
Цитата:
про п.1 не понял - "текущий каталог" чего? У меня только 2 варианта ответа, но они перечислены в п.п. 2 и 3.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 25.01.2010 в 10:28. |
||||
![]() |
|
||||
Конечно можно. Я просто уточнил, что приведенный код это не учитывает.
Текущий каталог в том смысле, в котором это подразумевает Windows. Обычно это то, что задано в поле "Рабочая папка" ярлыка AutoCAD, но программно может быть изменено. |
||||
![]() |
|
||||
Цитата:
предполагаю такую: 1. Каталог, в котором находится файл (если он уже сохранён). 2. каталог, в котором находится acad.exe 3. Рабочая папка 4. Последовательная проверка всех каталогов, прописанных в ветке реестра, которую я обрабатываю в своём коде. прошу поправить меня, если ошибаюсь. Цитата:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 25.01.2010 в 12:06. |
||||
![]() |
|
||||
ObjectARX Reference говорит нам:
Цитата:
|
||||
![]() |
|
||||
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
AUTOCAD 2010 перестал переключаться в многооконный режим. Проблемы с переменными | Андрей Х. | AutoCAD | 24 | 27.05.2015 10:17 |
Локализация руководства разработчика по .Net API AutoCAD | hwd | .NET | 22 | 08.09.2010 19:17 |
Как можно из LISP запросить у юзера выделить произвольные элементы и затем вызвать аналог WMFOUT для сохранения их в изображении? | lexluther | LISP | 4 | 12.08.2009 11:44 |