|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
С# + Autocad COM
Проектирование КЖ,КМ,КД,КР и т.д.
СПб
Регистрация: 17.11.2006
Сообщений: 450
|
||
Просмотров: 7116
|
|
||||
Цитата:
Джеффри Рихтер в своей книге "CLR via C#" пишет, что совсем не факт, что .net всегда медленнее COM, а если медленнее, то весьма незначительно, ибо: 1. Падение производительности наблюдается только при первой jit-компиляции. При последующем обращении к данному сегменту кода используется результат предыдущей компиляции. 2. Динамическая компиляция осуществляется с максимально возможным учётом архитектуры центрального процессора, используя его "козырные" способности. Неуправляемый код ориентирован на статистическую, усреднённую модель процессора, не используя все его возможности. 3. Скорость работы JIT-компилятора в .net весьма хорошая и от версии к версии его дополнительно совершенствуют. Т.о. .net может быть медленнее com при первой jit-компиляции, но затем обогнать его по ходу работы программы, за счёт своей адаптации под процессор компьютера. Цитата:
1. Огромный набор библиотек и технологий на любую тему 2. Писать можно на любом .net-языке, причём код, написанный на одном, совершенно спокойно можно расширять на другом (к примеру наследоваться в C# от класса, написанного на VB.NET) 3. Кроссплатформенность (Windows/Linux/MacOS). Зависит, но это обусловлено тем, что под каждую версию AutoCAD компания Autodesk компилирует очередную версию библиотек, внося в них существенные изменения от версии к версии.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Регистрация: 11.10.2010
Сообщений: 979
|
Чего я углядел:
1. Нумерация элементов массива начинается с 0, а не с 1. 2. Выполнено раннее связывание, а можно использовать и позднее: http://kpblc.blogspot.com/2011/04/preferences.html P.S. ПОявится hwd, он тут быстренько камня на камне не оставит ![]() Offtop: P.P.S. Во, а вот и он ![]()
__________________
(/= RegDate StartReadDate) |
|||
![]() |
|
||||
Offtop: Не скоро. Потихоньку занимаюсь форматированием (в свободное время по вечерам). Страниц много...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Недостатки COM по сравнению с .NET в AutoCAD (имеется в виду использование Autodesk.AutoCAD.Interop, а не acdbmgd.dll и acmgd.dll):
1. Меньше скорость в подавляющем большинстве случаев. 2. COM-модель практически не развивается и многих вещей в ней просто нет и уже никогда не будет (например, получение точек на кривой) Достоинства COM по сравнению с .NET: 1. Возможность работы из другого приложения (т.е. создание exe-файла), которое запускает AutoCAD и управляет им. Иногда бывает полезным. В .NET-сборке, загружаемой в AutoCAD можно использовать оба варианта работы. Иногда без использования COM не обойтись. |
||||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
А что мешает это сделать на Net?
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Ты не внимательно прочитал моё сообщение. Под COM в своем сообщении я подразумевал работу через ActiveX/COM и не важно в чем (VBA/VB/C++/.NET...), под .NET я подразумевал использование managed сборок AutoCAD. Собственно говоря именно так я воспринял вопрос топикстартера.
|
||||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Offtop: Я почему-то прочитав 1 пункт
Цитата:
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Offtop: Скорее я с точки зрения русского языка не так понимаю.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
конструктор Лего Регистрация: 21.10.2005
Краснодар
Сообщений: 204
|
По-моему, начало должно быть таким (для Bricscad V10):
const string progIDstr = "BricscadApp.AcadApplication.10.0"; AcadApplication app = null; app = (AcadApplication)Marshal.GetActiveObject(progIDstr); app.Visible = true; AcadDocument doc = app.ActiveDocument; |
|||
![]() |
|
||||
Любопытно... Жаль только что .net api под него нет, к сожалению...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Регистрация: 08.09.2010
Москва
Сообщений: 28
|
Цитата:
Offtop: По-началу подумал что Вы свой сайт всётаки допилили и запустили... да еще и на английском... да еще и с доменом autodesk.com ![]() |
|||
![]() |
|
||||
Offtop: там ещё пилить и пилить
![]()
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Видеоуроки AutoCAD | kosmax | AutoCAD | 173 | 17.02.2017 15:08 |
Интеграция Autodesk СПДС в AutoCAD 2012 | bolotov | Прочее. Программное обеспечение | 24 | 07.01.2013 20:22 |
Правило формирование записей в реестре об установленных обновлениях для AutoCAD и его вертикальных решений. | hwd | Программирование | 8 | 30.09.2010 15:07 |
В русской версии AutoCAD 2010 SP1 32-bit файл Acad.PGP содержит ошибки. | hwd | Баги и пожелания в Autodesk | 21 | 21.04.2010 20:27 |
Информация по идентификационным кодам программ в сетевых лицензиях Autodesk | KSI | AutoCAD | 1 | 14.09.2009 15:59 |