Jump to content

Открывание и закрывание документов Компас v21 через API


Recommended Posts

Yahooo05

Добрый день!
Компас 21.0.6.

Код

private const string _progId = "Kompas.Application.5";

private static KompasObject _kompas5;
_kompas5 = System.Runtime.InteropServices.Marshal.GetActiveObject(_progId) as KompasObject;

private static IApplication _kompas7;
_kompas7 = _kompas5.ksGetApplication7() as IApplication;

private IKompasDocument doc = _kompas7.ActiveDocument;
doc = _kompas7.Documents.Open(fileName, true, false); //Открываю другой документ
//В Компасе открыто два документа
//_kompas7.Documents.Count здесь показывает 2 документа
doc.Close(DocumentCloseOptions.kdSaveChanges);
//В Компасе открыт один документ
//Но _kompas7.Documents.Count здесь все еще показывает 2 документа
System.Runtime.InteropServices.Marshal.ReleaseComObject(doc);

Т.е. ссылка на второй документ есть, а данных там нет. Получаю исключение при обращении по этой ссылке.

В компасе 19 и 20 все вышеописанные действия выполняются без ошибок.

Что не так?

Link to post
Share on other sites


Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.




  • Сообщения

    • Maik812
      Работает вроде с 2017, там суть данные по детали в деталь записываются , вот их и выводи. а ВСЕ ЧТО ПО СВЯЗКИ ТС ЭТО УЖЕ ПО РАБОТЕ С САМИМИ ФАЙЛАМИ И ТД.
    • Александр1979
      Нужно устанавливать тип двигателя 501
    • Мария1111
      Спасибо, разобралась) 
    • Viktor2004
      да. Купили два двигателя. Один греется сильнее, второй слабее. На одном энкодер не работает, оба после перемещения градусов на 20 начинают сходить с ума и дергаться в разные стороны. Вот я не понимаю, то ли привод неисправен, то ли движки, то ли я с параметрами что-то напутал Все это покупалось черт знает где, б/у-шное Для проверки переставляю исправный энкодер на оба движка
    • Ветерок
      Если вы задали всё в одном месте, то оно и будет в одном месте. Наверное, так: В Уравнениях создаете глобальную переменную. Присваиваете ей нужное значение (длина или площадь, или габарит). Для каждой величины своя переменная. Потом создаете новое Свойство и для него указываете из списка нужную переменную. Для каждой переменой своё Свойство. После этого в столбце таблицы можно выбрать нужное Свойство.
    • AlexKaz
      На 3 лярда баксов можно на Луне поселение основать, а тут софт написать не могут...
    • Александр1979
      Посмотрите в руководстве B-65412EN-02 https://www.scribd.com/document/343182233/B-65412EN-02   Загрузить руководство можно через сайт https://scribd.vpdfs.com/ Это происходит даже если двигатель без нагрузки работает?
    • Vova
      Пятница начинается с ☕️ IMG_9753.MOV
    • Viktor2004
      Уважаемые коллеги, подскажите, подходит ли мотор к приводу. Тип двигателя установил 255, параметры двигателя установились автоматически, параметры оси ввел с приложенного листа. После включения привод выдал ошибку SV0466 и я поменял в параметре 2165 значение 25 которое было автоматически установлено на 40 Двигатель вроде работает, но греется как сволочь и вырубает по SOFTERMAL  
    • Мария1111
      В данный момент задаю вот так формулой для каждой детали, в спецификации в результате длина и материал в одном столбце оказываются. Пыталась через свойства детали задавать, но тогда формула не работает, разобраться не получается
×
×
  • Create New...