Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 07:13 27.04.24 
Клубове/ Компютри и Интернет / CAD/CAM Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Re: Интересно ? [re: Miru]
Авторpesho_pv (Нерегистриран) 
Публикувано16.02.06 17:04  



Чакай малко, че не ми става ясно: от една страна говориш за "макроси", а от друга за "VBasic". Ти Visual Basic (т.нар. "standalone") с AutoCAD ли се опитваш да свържеш или VBA-то на AutoCAD-а се опитваш да използваш, за да начертаеш нещо? Защото и двата варианта са много добре докумeнтирани и не разбирам какво значи "няма нищо за командите и процедурите свързващи AUTOCAD i VBasic"?
Eдин елементарен пример: Искаш в AutoCAD да си начертаеш един триъгълник, върховете на който са с координати, примерно, (0,0), (4,0) и (4,3). Както си в AutoCAD-а, натискаш Alt+F11, даваш Insert -> Module и пишеш нещо от сорта:


Sub triangle
Dim pnt_1(0 to 2) as Double, pnt_2(0 to 2) as Double, _
pnt_3(0 to 2) as Double
Dim line as AcadLine
pnt_1(0)=0: pnt_1(1)=0: pnt_1(2)=0
pnt_2(0)=4: pnt_2(1)=0: pnt_2(2)=0
pnt_3(0)=4: pnt_3(1)=3: pnt_3(2)=0
Set line=ThisDrawing.ModelSpace.AddLine(pnt_1, pnt_2)
Set line=ThisDrawing.ModelSpace.AddLine(pnt_2, pnt_3)
Set line=ThisDrawing.ModelSpace.AddLine(pnt_3, pnt_1)
ZoomExtents
End Sub

Във Visual Basic ще е същото, но трябва да укажеш в References "Type Library"-то на версията на AutoCAD-а ти ("acad.tlb"). И да си създадеш AutoCAD-овски обект с метода "CreateObject". След това е абсолютно същото, като предишното. Ще изглежда примерно така:

Sub triangle
Dim acad_obj as AcadApplication
Set acad_obj=CreateObject("AutoCAD.Application")
acad_obj.Visible=True
Dim acad_ms as AcadModelSpace
Set acad_ms=acad_obj.ActiveDocument.ModelSpace
Dim pnt_1(0 to 2) as Double, pnt_2(0 to 2) as Double, _
pnt_3(0 to 2) as Double
Dim line as AcadLine
pnt_1(0)=0: pnt_1(1)=0: pnt_1(2)=0
pnt_2(0)=4: pnt_2(1)=0: pnt_2(2)=0
pnt_3(0)=4: pnt_3(1)=3: pnt_3(2)=0
Set line=acad_ms.AddLine(pnt_1, pnt_2)
Set line=acad_ms.AddLine(pnt_2, pnt_3)
Set line=acad_ms.AddLine(pnt_3, pnt_1)
acad_obj.ZoomExtents
End Sub

Документация, уверявам те, има. Стига да има някой да чете. И в Help-овете на AutoCAD-а (*.hlp, *.chm), и на инсталационното CD (*.pdf), а пък в Интернет...



Цялата тема
ТемаАвторПубликувано
* Макроси в Autocad Miru   15.02.06 08:45
. * Re: Макроси в Autocad Mинaвaщ   15.02.06 09:28
. * Хиляди благодарности !!! Miru   15.02.06 13:47
. * Re: Интересно ? Mинaвaщ   16.02.06 06:14
. * Re: Интересно ? Miru   16.02.06 14:07
. * Re: Интересно ? pesho_pv   16.02.06 17:04
. * Re: Интересно ? Miru   17.02.06 13:00
. * Re: Интересно ? pesho_pv   17.02.06 17:29
. * Re: Интересно ? Miru   20.02.06 22:48
. * Re: Интересно ? Miru   21.02.06 17:48
. * Re: Интересно ? Mинaвaщ   21.02.06 19:39
. * Re: Интересно ? Miru   23.02.06 22:28
. * Да им го начукам на AutoDesk ASSASSlN   22.02.06 13:34
. * Re: Едно Линкче ... Mинaвaщ   22.02.06 23:18
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.