Аудит средствами .NET API

Автор Тема: Аудит средствами .NET API  (Прочитано 20207 раз)

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

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Аудит средствами .NET API
« Ответ #15 : 03-03-2015, 10:43:01 »
Мне кажется странным, что есть опция для создания Database с попутным созданием документа и при этом документ найти нельзя.
А где вы видите эту опцию, если не секрет?

doc у меня возвращает текущий чертеж и соотвественно Audit выполняется для него.
Но ведь именно это поведение и обозначено в документации... Какой ответ ожидаете от ADN?

Сигнатура конструктора:
Код - C# [Выбрать]
  1. public Database(
  2.     [MarshalAs(UnmanagedType.U1)] bool buildDefaultDrawing,
  3.     [MarshalAs(UnmanagedType.U1)] bool noDocument
  4. );

А вот описание второго параметра:
Цитата: ObjectARX 2015 SDK
[MarshalAs(UnmanagedType.U1)][MarshalAs(UnmanagedType.U1)] bool noDocument  System.Boolean specifying whether or not to associate this database to the current document

Описание первого параметра тоже не особо похоже на то, о чём вы пишете:

[MarshalAs(UnmanagedType.U1)] bool buildDefaultDrawing - System.Boolean specifying whether or not to build an empty object 
Под "empty object" я понимаю пустую Database.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13881
  • Карма: 1786
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Аудит средствами .NET API
« Ответ #16 : 03-03-2015, 11:18:12 »
Я несколько иначе трактую второй (именно второй) параметр. Если бы шла ассоциация созданной базы с текущим чертежом, то Audit сработал бы с ним. В действительности он у меня проверял пустой новый чертеж. Но давай дождемся комментария из ADN DevHelp.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13881
  • Карма: 1786
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Аудит средствами .NET API
« Ответ #17 : 05-03-2015, 11:30:38 »
Первый комментарий от ADN DevHelp пришёл. В первом приближении они не видят возможность выполнять Audit в чертеже открытом через Database.ReadDwgFile, но обещали проконсультироваться в Eng Team.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13881
  • Карма: 1786
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Аудит средствами .NET API
« Ответ #18 : 05-03-2015, 14:37:15 »
Итак. Окончательный вердикт от ADN DevHelp. Audit невозможен в чертеже, который не открыт в редакторе AutoCAD в версиях предшествующий AutoCAD 2015.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн alexb

  • ADN OPEN
  • Сообщений: 3
  • Карма: 0
Re: Аудит средствами .NET API
« Ответ #19 : 29-06-2015, 20:25:27 »
Is there a way of extracting information after the Audit run (i.e. number of errors found, number fixed, etc)?
I am on A2012, so database.audit() is not available.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13881
  • Карма: 1786
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Аудит средствами .NET API
« Ответ #20 : 29-06-2015, 20:36:50 »
Is there a way of extracting information after the Audit run (i.e. number of errors found, number fixed, etc)?
I am on A2012, so database.audit() is not available.
Shalom Alex! What about asking in Russian? ;)
There is only one way is hack commandline output and read it. As I know it is possible only with ObjectARX:
Trapping The Output From The AutoCAD Text Screen / Command Prompt
 
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн alexb

  • ADN OPEN
  • Сообщений: 3
  • Карма: 0
Re: Аудит средствами .NET API
« Ответ #21 : 30-06-2015, 00:14:18 »
About Asking what in Russian?
Hi Alexander
Can't. Despite my name, I don't speak Russian.
About Asking what in Russian?
Hi Alexander! Sorry, despite my name I don't speak Russian. So, to use your site I have to translate back and forth between Russian and English, but it's worth the effort.
About the Audit output: one can also redirect the output to a log file and then parse it. I think I also saw a method of subclassing the text window written in C#, but I can't find it.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13881
  • Карма: 1786
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Аудит средствами .NET API
« Ответ #22 : 30-06-2015, 00:39:51 »
Hi Alexander! Sorry, despite my name I don't speak Russian.
Sorry.
About the Audit output: one can also redirect the output to a log file and then parse it. I think I also saw a method of subclassing the text window written in C#, but I can't find it.
To use sample C++ (with using AcDbHostApplicationServices) a lot easier.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн alexb

  • ADN OPEN
  • Сообщений: 3
  • Карма: 0
Re: Аудит средствами .NET API
« Ответ #23 : 30-06-2015, 07:37:44 »
To use sample C ++
What sample are you referring to?
I was thinking about writing a C++ method in ARX which accepts a pointer to a Database, executes AuditInfo on that db, retrieves the results from the AuditInfo and returns them to caller.
BTW, I am using Google Chrome Translate and the english text I write displays OK only when I choose to show the page in original, otherwise it changes the words' order, capitalizes some of them, etc. I hope you can understand me despite Goggle's interference.

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Аудит средствами .NET API
« Ответ #24 : 30-06-2015, 10:32:31 »
BTW, I am using Google Chrome Translate and the english text I write displays OK only when I choose to show the page in original, otherwise it changes the words' order, capitalizes some of them, etc. I hope you can understand me despite Goggle's interference.
In my opinion, the Google Translate translates worse than http://www.translate.ru/#!/Computer/ Therefore I prefer to use http://www.translate.ru/#!/Computer/

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Аудит средствами .NET API
« Ответ #25 : 30-06-2015, 11:02:11 »
2 alexb
It will not help to you with AutoCAD, but maybe interesting like the common info...

*CAD .NET developers consider AutoCAD .NET API as classical, usually. But the shortcomings of implementation of AuditInfo from Autodesk are strong. Therefore for this method another implementation was made by ODA developers. Their implementation is more convenient and natural: AuditInfo is a class for audit operation settings and has the audit result info also.

I haven't hope Autodesk will do the same, because their current "new" implementation is horrible also.

For comparring of AuditInfo idea implementation (these are pieces of my old code):
Извините, вам запрещён просмотр содержимого спойлеров.
« Последнее редактирование: 30-06-2015, 16:05:19 от Александр Ривилис »

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13881
  • Карма: 1786
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Аудит средствами .NET API
« Ответ #26 : 30-06-2015, 11:43:02 »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Аудит средствами .NET API
« Ответ #27 : 30-06-2015, 14:43:57 »
I added code sample in my previous message for comparring of AuditInfo idea implementation.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13881
  • Карма: 1786
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Аудит средствами .NET API
« Ответ #28 : 30-06-2015, 16:07:30 »
Андрей Бушман
В очередной раз напоминаю, что мы договаривались на этом форуме не упоминать клоны AutoCAD и всё что касается доступа к dwg-файлам любыми альтернативными (официально не одобренными Autodesk) методами.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Аудит средствами .NET API
« Ответ #29 : 30-06-2015, 16:52:14 »
There is only one way is hack commandline output and read it. As I know it is possible only with ObjectARX:
Trapping The Output From The AutoCAD Text Screen / Command Prompt

Цитата: Philippe Leefsma
AutoCAD makes an assumption about its standard host application services object - it will cast the pointer to a non-published, derived class. It is therefore a matter of only replacing the
object as long as is absolutely necessary.

This approach has also not been thoroughly tested for all commands; therefore, it should be used with caution and will need more complete testing on commands not tested by this sample.