|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Настораживает консольный вывод...
C, C++, C#
С-Пб.
Регистрация: 07.10.2009
Сообщений: 2,762
|
||
Просмотров: 4248
|
|
||||
Ищу работу Регистрация: 12.06.2010
Сообщений: 35
|
1. SendCommand выполняется асинхронно, т.е. посылает выражение в командную строку и ставит в очередь. А в очереди уже стоит
Код:
2. Если обратить взор в сторону Autodesk.AutoCAD.DatabaseServices.Database.SaveAs метода (три варианта на выбор), то можно задачу сохранения решить синхронно. Дополнительный плюс - во время выполнения не потребуется наличие в GAC сборки Autodesk.Autocad.Interop соответствующей версии. Последний раз редактировалось Sad Dog, 12.06.2010 в 12:32. |
|||
![]() |
|
||||
Цитата:
|
||||
![]() |
|
||||
А что мешает посмотреть в каком из файлов (в сохраненном бэкапе или в текущем) выполнялась чистка? Открыть бэкап, запустить чистку и посмотреть лог. Потом уже можно делать какие-то выводы.
|
||||
![]() |
|
||||
Ищу работу Регистрация: 12.06.2010
Сообщений: 35
|
Как вариант, попробовать сначала клонировать нужную базу чертежа с помощью Autodesk.AutoCAD.DatabaseServices.Database.Wblock(),
создавая так называемую "внешнюю" базу данных (не представленную документом). А уже её сохранять с помощью Autodesk.AutoCAD.DatabaseServices.Database.SaveAs метода. Может в этом случае автокад не станет создавать под неё объект Document и делать его активным? Может Александр Ривилис подскажет, как такую задачу правильно решить в чистом ObjectArx, чтобы можно было хоть как то сориентироваться. |
|||
![]() |
|
||||
Предложенный вариант имеет подводные камни. Когда база не является активной (текущей) при ее сохранении появляются "артефакты", которых hwd мне кажется хотелось бы избежать. А вот предложенный Profan вариант можно было бы попробовать.
|
||||
![]() |
|
||||
Ищу работу Регистрация: 12.06.2010
Сообщений: 35
|
A что, если вместо асинхронной SendCommand() воспользоваться синхронной ObjectARX функцией acedCmd() через механизм P/Invoke, как описано по ссылке http://discussion.autodesk.com/threa...sageID=4858935 (см. пост от Tony Tanzillo).
|
|||
![]() |
|
||||
Цитата:
|
||||
![]() |
|
||||
По поводу синхронности/асинхронности:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 13.12.2011 в 13:25. |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
какой вывод в техзаключении? | Andrey1111 | Обследование зданий и сооружений | 16 | 12.06.2010 01:04 |
вывод из PDF в копировальном центре | baaba | Прочее. Программное обеспечение | 6 | 28.05.2010 13:47 |
Автоматическое измерение углов и вывод размеров в определённом стиле | lazut4ik | Программирование | 4 | 21.07.2009 22:21 |
Как сделать вывод из результатов лиры? | Lexa85 | Лира / Лира-САПР | 15 | 28.05.2009 18:56 |
Вывод на печать с двух сторон ПЗ ,смет | mvart | Поиск литературы, чертежей, моделей и прочих материалов | 2 | 25.03.2009 13:40 |