|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как связаться с Autocad(2014) через Revit(2020)?
Регистрация: 27.01.2012
Сообщений: 242
|
||
Просмотров: 11588
|
|
||||
Цитата:
Она ориентирована на C++, но с .NET аналогично. Кроме того для AutoCAD 2014 желательно брать Autodesk.AutoCAD.Interop.dll и Autodesk.AutoCAD.Interop.Common.dll из ObjectARX SDK 2014 (или из самого AutoCAD 2014). 100% совместимости с другими версиями AutoCAD не будет.
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
----- добавлено через ~4 мин. ----- GetAcadState? |
|||
![]() |
|
||||
Увы, но это не всегда помогает, т.к. этот метод можно использовать только тогда, когда AutoCAD нормально запустился и связь с ним установлена.
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Регистрация: 27.01.2012
Сообщений: 242
|
Александр, большое спасибо за ответ. Autodesk.AutoCAD.Interop.dll и Autodesk.AutoCAD.Interop.Common.dll использую из Autocad2014, с этим все верно. К сожалению я совсем плох в C++ и не смогу перевести код на C#, Может есть решение на C#?
Сергей, вы мне очень поможете если напишите код как вы реализуете свой способ с циклом на c# или Vba Последний раз редактировалось kurstep, 26.08.2019 в 18:10. |
|||
![]() |
|
||||
Для C# здесь частичное решение: https://through-the-interface.typepa...plication.html
Кстати, а установлена только одна версия AutoCAD?
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
1. Вспомогательный флаг ошибки типа bool взводится.
2. Цикл for на несколько итераций (количество попыток, меньше 3-х не имеет смысла). 3. Внутри цикла блок try - catch. В секции try после успешного выполнения COM-операции (если не было сгенерировано исключение) сброс вспомогательного флага и выход из цикла break. В секции catch временная задержка sleep. 4. После цикла, если вспомогательный флаг остался взведен - не удалось корректно выполнить COM-операцию. все элементарно) ----- добавлено через ~1 ч. ----- А еще не надо забывать про ROT. И не пойму только одного - зачем использовать COM, когда есть способы связи между отдельными приложениями на компьютере - например: посылка сообщений, TCP, каналы. Это в мс-офис отчеты выкидывать через COM - самое простое и универсальное (через позднее связывание). А здесь два приложения - изначально поддерживающие загрузку сборок с .Net кодом. |
|||
![]() |
|
||||
Цитата:
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Она в самом AutoCAD (в каталоге с acad.exe)
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Регистрация: 27.01.2012
Сообщений: 242
|
Разбираюсь с AcCoreConsole. Посмотрел видеоурок по Autodesk DevTV. Там в примерах создается Скриптовый файл (scr.) -где
1)загружается dll и запускается нужная команда И .bat файл (где прописывается запуск консоли и скрипта) А вопрос в том как реализовать с помощью этой консоли мою задачу? А задача в том что через с# .net я получаю какие то данные из Ревит, По ним мне надо в dwg создать чертеж-таблицу. То есть в моей команде, которую я запускаю через ревит нужно включить функцию которая будет создавать скриптовый файл (через него передать необходимые данные автокад ?) а потом также предусмотреть запуск bat файла (который надо будет создать заранее )через ту же функцию?... Это так надо реализовать? А можно это осуществить без создания доп .scr и .bat файлов? |
|||
![]() |
|
||||
Цитата:
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Регистрация: 27.01.2012
Сообщений: 242
|
Спасибо за помощь. Суть уяснил. Через скрипт файл примерно представляю как решить задачу... Но все-таки если без файла, как еще можно (к сожалению я не так силен в программировании и мне интересно понять как это делается)
Я запускаю свое dll приложение через ревит... В какой-то момент я получаю данные для построения в автокада - я их всех загоняю в List - Armstrings. Дальше запускаю консоль "accoreconsole". Можно ли решить мою проблему дописав код в этом же файле, не создавая отдельную dll для исполнения Консоли. Нельзя ли это решить каким-то таким образом типо (ну то-есть передать метод консоли непосредственно через dll для Revit): Код:
|
|||
![]() |
|
||||
kurstep,
Теоретически ты можешь в scr-файл набор команд для построения таблицы. Мне этот вариант не нравится, но он самый простой.
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
просто чем так файл скрипта помешал - сейчас экономить каждый байт (с времен, когда винчи еще всего на 20 Мб были на 286 компах) давно не актуально, просто "мусорите" в одном месте и подчищайте при старте сборки, например. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Можно ли эвакуироваться через помещение в коридор, ведущий к наружному выходу? | snair | Пожарная безопасность | 2 | 12.12.2018 08:57 |
Запрет на проезд локомотивов через эстакаду, какие меры предпринять? | Swarka | Автомобильные и железные дороги, мосты, тоннели и организация движения | 7 | 01.06.2018 15:21 |
Изменение масштаба блока при вставке через буфер | Immortal_6666 | AutoCAD | 6 | 08.05.2018 12:57 |
Как сделать что бы открывать и сохранять файлы можно было как обычно через мышку, а не через командную строку? | beslan | AutoCAD | 1 | 17.10.2011 11:43 |
Через 25 лет стоимость эксплуатации превышает стоимость строительства ? | Tyhig | Архитектура | 41 | 24.08.2011 11:00 |