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

ADN Club => Civil 3D API => Тема начата: Алексей Терно от 31-05-2017, 10:37:58

Название: C3D 2017 vs C3D 2017 SP 1.1
Отправлено: Алексей Терно от 31-05-2017, 10:37:58
Очень странно.
У меня установлен C3D 2017 SP 1.1 (Win10). Пишу программу. Все работает. Отдаю человеку для тестирования, а у него возникает ошибка:
System.MissingMethodException: Метод не найден: "Autodesk.AutoCAD.DatabaseServices.ObjectId Autodesk.Civil.DatabaseServices.FeatureLine.Create(System.String, Autodesk.AutoCAD.DatabaseServices.ObjectId)".

Стал разбираться и заметил, что у меня файл AeccDbMgd.DLL версии 11.0.771.0, а на другом ПК - 11.0.659.0. Оказалось, что там Win7 и C3D 2017 без SP.
Это что же получается, в SP добавили новый метод, который не будет работать на Сивилах без SP?
Название: Re: C3D 2017 vs C3D 2017 SP 1.1
Отправлено: Александр Ривилис от 31-05-2017, 11:39:47
Это что же получается, в SP добавили новый метод, который не будет работать на Сивилах без SP?
Это тебя удивляет?
Название: Re: C3D 2017 vs C3D 2017 SP 1.1
Отправлено: Дмитрий Загорулькин от 31-05-2017, 12:12:21
Странно другое. Судя по справке, этот метод был добавлен в 2016 версии: http://docs.autodesk.com/CIV3D/2016/ENU/API_Reference_Guide/html/2bfc99d1-18e6-0209-e350-e565e9c763b2.htm
А нет, сигнатура другая, пардон :)
Autodesk.AutoCAD.DatabaseServices.ObjectId Autodesk.Civil.DatabaseServices.FeatureLine.Create(System.String, Autodesk.AutoCAD.DatabaseServices.ObjectId)
А в справке по 2017 версии нет такого метода. Вроде бы, как раз в 2017 версии появились характерные линии, которые не привязываются к площадке. А вот в версии 2018 уже есть в справке: http://docs.autodesk.com/CIV3D/2018/ENU/API_Reference_Guide/html/847c818b-b459-5390-9c55-cf5903b995c0.htm
Думаю, что в SP1 для 2017 версии этот метод попал случайно :)
Название: Re: C3D 2017 vs C3D 2017 SP 1.1
Отправлено: Алексей Терно от 31-05-2017, 12:44:08
Думаю, что в SP1 для 2017 версии этот метод попал случайно

Логичное объяснение :)
Придется использовать другой метод.