Скачать NANOCAD Pдгы 8.5
dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > "VB.net для чайников". Вопросы программирования под Autocad и ©.

"VB.net для чайников". Вопросы программирования под Autocad и ©.

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 13.12.2010, 10:58
"VB.net для чайников". Вопросы программирования под Autocad и ©.
AlexV
 
Инженер
 
С-Пб
Регистрация: 02.10.2008
Сообщений: 3,492

AlexV вне форума Вставить имя

Есть у нас популярная тема: Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу) .. Есть, конечно, и это и, но хотелось бы иметь аналогичную возможность задавать тупые (для начала очень тупые) вопросы по VB.Net здесь..
Простейший пример из ссылки в теме про миграцию VBA - Net посмотрел..
Имеем проект - "библиотеку классов", с подключенными ссылками (на рисунке).



Имеем код, который при загрузке построенной dll-ки "добавляет" в автокад команду mAddPnt, создающую точку..
Код:
[Выделить все]
Imports Autodesk.AutoCAD.Interop
Imports Autodesk.AutoCAD.Interop.Common
Public Class AdskCom
    Public ReadOnly Property ThisDrawing() As AcadDocument
        Get
            Return Autodesk.AutoCAD _
            .ApplicationServices.Application. _
            DocumentManager.MdiActiveDocument. _
            AcadDocument
        End Get
    End Property
    <Autodesk.AutoCAD.Runtime.CommandMethod("mAddPnt")> _
    Public Sub mAddPnt()
        On Error Resume Next
        Dim location(0 To 2) As Double
        location(0) = 5.0# : location(1) = 5.0# : location(2) = 0.0#
        location = ThisDrawing.Utility.GetPoint(, "Укажите точку")
        ThisDrawing.ModelSpace.AddPoint(location)
    End Sub
End Class
Возникают следующие вопросы:
1. Строки "Imports Autodesk.AutoCAD.Interop" импортируют в проект соответствующие "пространства имен" - объектные модели, позволяя использовать их в проекте.. На вкладке "Ссылки" есть также список "Импортированные пространства имен"; - "галочка" на соответствующей библиотеке - аналогична ли строке "Imports Autodesk...." и если да то в чем разница?

2. Как быть с импортом библиотек, если предполагается использовать программу и под 64, и под 32 бит?

3. В проект библиотеки классов возможно добавлять формы. Каким образом эту самую "Form1" вызвать на экран? Методом тыка попробовал в "Public Sub mAddPnt()" влепить строку "Form1.ActiveForm.Activate()", но эта единственное, к чему она приводит, - к вылету автокада с фатал эррором..

4. Нижележащая процедура позволяет получить список установленных языков и замечательно работает в приложениях "Windows Forms". Свойство ".InputLanguage" принадлежит пространству имен "System.Windows.Forms". Возможно ли применить его в случае моего кода?
Может, надо импортировать эти самые пространства в проект..
Код:
[Выделить все]
 Public Sub GetLanguages()
    ' Gets the list of installed languages.
    Dim lang As InputLanguage
    For Each lang In  InputLanguage.InstalledInputLanguages
        textBox1.Text &= lang.Culture.EnglishName & ControlChars.Cr
    Next lang
End Sub 'GetLanguages
5. Строка
<Autodesk.AutoCAD.Runtime.CommandMethod("mAddPnt")> _
"создает" новую команду, при введении имени которой в комстроке автокада выполняется процедура mAddPnt. А как создать процедуру, которая должна реагировать на события приложения Acad-а, - некий аналог "AcadDocument_BeginCommand(ByVal CommandName As String)" в VBA?

6. Код снизу дает возможность использовать привычную объектную модель ThisDrawing... А возможно ли аналогично использовать объектную модель ASD при подключенных его библиотеках?
Код:
[Выделить все]
Public ReadOnly Property ThisDrawing() As AcadDocument
        Get
            Return Autodesk.AutoCAD _
            .ApplicationServices.Application. _
            DocumentManager.MdiActiveDocument. _
            AcadDocument
        End Get
    End Property
вот первые 6 из примерно 1000 возникающих вопросов..
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
Просмотров: 67695
 
Непрочитано 31.07.2015, 12:57
#221
trir


 
Регистрация: 18.12.2010
Сообщений: 2,431


устарели уроки :=(
trir вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 31.07.2015, 13:15
#222
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 3,875


Цитата:
Сообщение от trir Посмотреть сообщение
устарели уроки :=(
Ну Бушман Андрей предлагал в свое время выпустить книгу по Net Api. Споткнулось, как обычно-на финансировании проекта. В конечном итоге это все вылилось в фрагменты книги Полещука Н.Н. "Программирование для AutoCAD 2013-2015". Есть еще книга на английском как раз про VB.NET 2010 года - но купить в России ее невозможно сейчас, скачать - одни фейки.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 31.07.2015, 19:18
#223
art_rrc


 
Регистрация: 28.01.2013
Минск
Сообщений: 336


Цитата:
Сообщение от Boxa Посмотреть сообщение
забыл подключить AcCoreMgd.dll (важно для 2013 и выше)
(http://help.autodesk.com/view/ACD/20...8-E00ED139E0D3
http://bushman-andrey.blogspot.ru/20...ms-visual.html
)
Огромное спасибо! Все получилось! Пример рабочего кода надеюсь можно не выкладывать..
art_rrc вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > "VB.net для чайников". Вопросы программирования под Autocad и ©.

Инженерные консультации
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запуск программы из AutoCADа kminas Программирование 19 15.06.2012 13:42
Ноутбук б/у и AutoCad 2D - вопросы Elenka AutoCAD 14 23.12.2005 13:47
Ноутбук б/у и AutoCad 2D - вопросы Elenka AutoCAD 1 20.12.2005 21:33
AUTOCAD 2006 Aragorn AutoCAD 14 01.04.2005 00:55
Что нового в AutoCAD 2005 ilka_t AutoCAD 40 19.05.2004 16:48

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||


Размещение рекламы