• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Как запустить учебные примеры Step2_API7_2D.cs и Step2_API7_3D.cs?

Автор bionorica2015, 25.01.25, 18:29:25

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Doom2

Тут не понятно где у него обрывается работа кода.

bionorica2015

Цитата: Doom2 от 26.01.25, 16:33:02Тут не понятно где у него обрывается работа кода.
Самое интересное то, что ExternalRunCommand () тоже не запускает окно MessageBox:
//-------------------------------------------------------------------------------
    // Головная функция библиотеки
    // ---
    public void ExternalRunCommand([In] short command, [In] short mode, [In, MarshalAs(UnmanagedType.IDispatch)] object kompas_)
    {
      kompas = (KompasObject)kompas_;
      if (kompas == null)
{
MessageBox.Show("kompas is null");
return;
}
else
{
MessageBox.Show($"kompas type: {kompas.GetType()}");
}
      if ( kompas == null )
        return;
      // Получаем интерфейс приложения
      appl = (IApplication)kompas.ksGetApplication7();
      if ( appl == null )
        return;
      // Получаем интерфейс активного документа 2D в API7
      doc = (IKompasDocument2D)appl.ActiveDocument;
      if ( doc == null )
        return;
      // Получаем интерфейс активного документа 2D в API5
      doc2D = (ksDocument2D)kompas.ActiveDocument2D();
            if ( doc2D == null )
            {
                return;
            }

      switch ( command )
      {
        case 1:   CreateLineDimension();      break;  // Создать линейный размер
        case 2:   LineDimensionNavigation();  break;  // Навигация по коллекции линейных размеров
        case 3:   EditLineDimension();        break;  // Редактирование линейного размера
        case 4:   RadialDimensionWork();      break;  // Создание и редактирование радиального размера
        case 5:   DiamrtralDimensionWork();   break;  // Создание и редактирование диаметрального размера
        case 6:   AngleDimensionWork();       break;  // Создание и редактирование углового размера
        case 7:   ArcDimensionWork();         break;  // Создание и редактирование размера дуги окружности
        case 8:   BreakLineDimensionWork();   break;  // Создание и редактирование линейного размера с обрывом
        case 9:   BreakRadialDimensionWork(); break;  // Создание и редактирование радиального размера с изломом
        case 10:  BreakAngleDimensionWork();  break;  // Создание и редактирование углового размера с обрывом
        case 11:  HeightDimensionWork();      break;  // Создание и редактирование размера высоты
      }
    }

Doom2

Тогда попробуйте лог вести те записывать результат в файл.

System.IO.File.AppendAllText("log.txt", "kompas is null\n");

Lemieux

Цитата: bionorica2015 от 25.01.25, 21:32:13API КОМПАС - кривое днище?

Вы уже вторую страницу это подтверждаете. Примеры на C# из коробки не запускаются, wizard для C++ из коробки не работает, много ошибок в API, например всё API  с точками поломано.
Вы не привели скрины ошибок.

Lemieux

Цитата: Doom2 от 26.01.25, 12:51:02А видео?
И там почему то отступы нарушены..
Как будто на скорость куда попало вставлено.

Снимок22.PNG
В C# отступы работают не так как в Python.

Doom2

Цитата: Lemieux от 26.01.25, 19:05:57В C# отступы работают не так как в Python.
тут больше дело не в этом.. хотя это отдельный разговор.

а "Как будто на скорость куда попало вставлено."

bionorica2015


bionorica2015

Цитата: bionorica2015 от 29.01.25, 18:54:36Решил
Спасибо всем кто ответил
Вот как решил проблему:
1) Полный отказ от команд в терминале
2) Запуск visual studio и Компас  3д от имени админа
3) Сборка dll в visual studio, сразу и регистрирует оказывается
4) В свойствах проекта изменил  платформу на 64 бит, а также перешел на дот нет 4.8, раньше было 86 бит, и дотнет 4,7
5) рядом с учебным примером файла Step2_API7_2D.cs лежали много файлов, я нек-рые из них не копировал в солюшн а  они нужны были, теперь все норм
6) Соглашался на исправление которые предлагал сам visual studio (KompasAPI7.dll переименовал на Kompas6API7.dll и using KompasAPI7 на using  Kompas6API7)
+ Благодарностей: 1

Doom2

Вот эта функция ExternalRunCommand не пропускает параллельную работу.