Последние сообщения

Последние сообщения

Страницы: [1] 2 3 ... 10
1
Ух ты ж блин я уже об этом писал уже 1,5 года тому назад.
https://adn-cis.org/forum/index.php?topic=9865.msg43994#msg43994

Интересно с того времени что-то поменялось?
2
У меня есть сеть набор объектов pipe в проекте Civil
Я могу использовав соотв. методы API сохранить проект в формате ifc?

3
Navisworks API / Re: Автоматизация Navisworks
« Последний ответ от Александр Ривилис 26-11-2021, 20:21:06 »
* как можно точно понять какого класса этот экземпляр?
Например, pluginRecord.GetType().FullName вернёт полное имя класса.
4
Navisworks API / Re: Автоматизация Navisworks
« Последний ответ от Александр Ривилис 26-11-2021, 20:01:20 »
Как можно посмотреть конструктор?
Если нет своего конструктора, то смотри нет ли конструктора в родительском классе. Хотя вполне возможно, что конструктора нет ни у него, ни у родительского класса. И вообще через конструктор он не создаётся.
5
Navisworks API / Re: Автоматизация Navisworks
« Последний ответ от wingsdraw 26-11-2021, 18:00:40 »
Как можно посмотреть конструктор?



В метадате похоже нет такой информации по возможным конструкторам

6
Navisworks API / Re: Автоматизация Navisworks
« Последний ответ от wingsdraw 26-11-2021, 17:42:30 »
Спасибо, что указали, что класс абстрактный, получается действительно, что что мы не приравниваем базовый класс к производному классу. Но как в этом разобраться,

Код - C# [Выбрать]
  1. В действительности pluginRecord экземпляр одного из классов наследников (в том числе может быть и DockPanePluginRecord)

* как можно точно понять какого класса этот экземпляр?

* Смотря на иерархию наследования, DockPanePluginRecord является производным от PluginRecord



Из документации известно, что

7
Navisworks API / Re: Автоматизация Navisworks
« Последний ответ от Александр Ривилис 25-11-2021, 19:50:00 »
* В каком случае интерфейса может не быть?
Когда запущено через Automation:



* На сайте указанном выше говорится, что "объект базового класса не может быть совместим с производным классом" тогда почему такое возможно?

Код - C# [Выбрать]

    pluginRecord is DockPanePluginRecord

Потому что в действительности pluginRecord не может быть просто экземпляром PluginRecord, так как это абстрактный класс:
Код - C# [Выбрать]
  1. public abstract class PluginRecord
В действительности pluginRecord экземпляр одного из классов наследников (в том числе может быть и DockPanePluginRecord)
8
Navisworks API / Re: Автоматизация Navisworks
« Последний ответ от wingsdraw 25-11-2021, 19:40:59 »
Цитировать
Что здесь не так, если Autodesk.Navisworks.Api.Application.IsAutomated == false, т.е. интерфейс есть

* В каком случае интерфейса может не быть?

* На сайте указанном выше говорится, что "объект базового класса не может быть совместим с производным классом" тогда почему такое возможно?

Код - C# [Выбрать]
  1. pluginRecord is DockPanePluginRecord
9
Navisworks API / Re: Автоматизация Navisworks
« Последний ответ от Александр Ривилис 25-11-2021, 19:34:27 »
Вы смотрите "NET API.chm"?
Да.
Документация по API c 2018 года совсем не менялась?
Нет.
как такое может быть, что
Что здесь не так, если Autodesk.Navisworks.Api.Application.IsAutomated == false, т.е. интерфейс есть и соответственно можно работать с панелями?
10
Navisworks API / Re: Автоматизация Navisworks
« Последний ответ от wingsdraw 25-11-2021, 19:21:29 »
Спасибо за ответ! Вы смотрите "NET API.chm"? Документация по API c 2018 года совсем не менялась?

По этой строчке,

Код - C# [Выбрать]
  1. if (pluginRecord is DockPanePluginRecord && pluginRecord.IsEnabled)

 как такое может быть, что

Код - C# [Выбрать]
  1. pluginRecord is DockPanePluginRecord


ведь ссылаясь на https://www.bestprog.net/ru/2019/03/09/run-time-type-information-statements-is-as-examples-ru/

Код - C# [Выбрать]
  1.  
  2. class BaseClass
  3. {
  4.     public int d;
  5. }
  6.  
  7. // производный класс от базового класса
  8. class DerivedClass:BaseClass
  9. {
  10.     public int dd;
  11. }
  12.  
  13. BaseClass bc = new BaseClass();
  14. DerivedClass dc = new DerivedClass();
  15. if (bc is DerivedClass)
  16.     Console.WriteLine("Объект bc есть совместим с DerivedClass");

"значение условия в операторе if равное false, так как объект базового класса не может быть совместим с производным классом. Однако, наоборот, объект производного класса есть совместим с базовым, так как, производный класс расширяет возможности базового класса."
Страницы: [1] 2 3 ... 10