Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: simson43 от 26-12-2018, 17:29:41

Название: подключить внешнюю ссылку не открывая документ
Отправлено: simson43 от 26-12-2018, 17:29:41
Здравствуйте!
Хочу подключить внешнюю ссылку к чертежу, но не хотелось бы открывать документ.
вот такой код не слишком агрессивен? или есть способы проще?
при перезаписи ничего не потеряется (какие нибудь данные)?

Код - C# [Выбрать]
  1. Database db = new Database(false, false);//И объясните пожалуйста что значат эти параметры при создании базы данных
  2. db.ReadDwgFile(fullName, FileOpenMode.OpenForReadAndAllShare, true, "");
  3. db.CloseInput(true);
  4.  
  5. //подключаю внешние ссылки и все такое
  6.          
  7. db.SaveAs(fullName, true, DwgVersion.Current, db.SecurityParameters);
Название: Re: подключить внешнюю ссылку не открывая документ
Отправлено: Александр Ривилис от 26-12-2018, 18:17:13
вот такой код не слишком агрессивен?
В чем агрессивность?

//И объясните пожалуйста что значат эти параметры при создании базы данных
Не ленись - прочитай документацию:
https://knowledge.autodesk.com/search-result/caas/CloudHelp/cloudhelp/2018/ENU/OARX-ManagedRefGuide/files/OREFNET-Autodesk-AutoCAD-DatabaseServices-Database-Database--MarshalAsUnmanagedType-U1--bool--MarshalAsUnmanagedType-U1--bool-html.html
Если будут дополнительные вопросы - подскажем.
при перезаписи ничего не потеряется (какие нибудь данные)?
Потеряется превью (thumbnail) чертежа.
Название: Re: подключить внешнюю ссылку не открывая документ
Отправлено: simson43 от 26-12-2018, 18:53:34
Т.е. если первый true то создаться пустой обьект? Какой? Новый документ?
А второй если true то это будет база текущего документа?
Название: Re: подключить внешнюю ссылку не открывая документ
Отправлено: Александр Ривилис от 26-12-2018, 19:01:45
Т.е. если первый true то создаться пустой обьект? Какой? Новый документ?
А второй если true то это будет база текущего документа?
Первый false для создания пустой Database (т.е. не создаются BlockTable, LayerTable и т.д.). Он нужен если потом будет вызываться ReadDwgFile. Второй false для того, чтобы с базой был связан какой-то документ. Нужно для редактирования OLE-объектов и еще в ряде случаев.
Название: Re: подключить внешнюю ссылку не открывая документ
Отправлено: simson43 от 26-12-2018, 19:05:28
Связан какой то документ? Написано текущий.
Т е в моем случае второй параметр true?
Название: Re: подключить внешнюю ссылку не открывая документ
Отправлено: Александр Ривилис от 26-12-2018, 19:08:46
Связан какой то документ? Например текущий.
Т е в моем случае второй параметр true?
В твоём коде было нормально написано (оба false). Если бы было не так - я бы уже сказал.
Название: Re: подключить внешнюю ссылку не открывая документ
Отправлено: simson43 от 26-12-2018, 19:10:39
Тогда я не понииаю с чем и зачем эта связь с документом.. вы сказали false чтоб был связан с документом
Название: Re: подключить внешнюю ссылку не открывая документ
Отправлено: Александр Ривилис от 26-12-2018, 19:12:00
Тогда я не понииаю с чем и зачем эта связь с документом.. вы сказали false чтоб был связан с документом
Чтобы не было проблем. Просто запомни, что второй аргумент false и всё.
Название: Re: подключить внешнюю ссылку не открывая документ
Отправлено: simson43 от 26-12-2018, 19:13:03
Ну лааадно..
Спасибо!