|
Страници по тази тема: 1 | 2 | (покажи всички)
Тема
|
Макроси в Autocad
|
|
Автор |
Miru (непознат
) |
Публикувано | 15.02.06 08:45 |
|
Здравейте! Някой има ли представа откъде мога да намеря ръководство (на файл или на книга в книжарница, може и на английски или френски) за писане на макроси в Autocad. Help-а в Autocad за макросите си е за чист Visual Basic без да са засегнати специалните процедури и променливи касаещи Autocad. Благодаря предварително!
| |
Тема
|
Re: Макроси в Autocad
[re: Miru]
|
|
Автор | Mинaвaщ (Нерегистриран) |
Публикувано | 15.02.06 09:28 |
|
Миналата седмица ми посочиха това :
Поръчах я и дойде с куриер на BulPost за 2-3 дена за 15лв.
Книжката е въведение в нещата и Автора няма претенции за ...
Тук са примерите които са в книжката :
| |
Тема
|
Хиляди благодарности !!!
[re: Mинaвaщ]
|
|
Автор |
Miru (непознат
) |
Публикувано | 15.02.06 13:47 |
|
| |
Тема
|
Re: Интересно ?
[re: Miru]
|
|
Автор | Mинaвaщ (Нерегистриран) |
Публикувано | 16.02.06 06:14 |
|
VBA Macro Recorder - simple macro recorder for AutoCAD (free utility by Joe Sutphin)
или
Интересно е дали върши работа за начинаещи като Мен
| |
Тема
|
Re: Интересно ?
[re: Mинaвaщ]
|
|
Автор |
Miru (непознат
) |
Публикувано | 16.02.06 14:07 |
|
Ами разгледах ги но само в интернет. Като си ги свалих на диска нещо се разколебах - не само че е демо версия, ами и съм сърбал попарата на вирус дето ми изтри доста важни работи. Аз лично започнах като си взех една книжка за VBasic и почнах да пробвам разни неща макар че това не ми е основно занимание. Другото е да се четат HELP-овете и дадените там примери и най-важното да го използваш. Решаваш, че искаш да направиш нещо (отговарящо на нивото ти) и почваш да си блъскаш главата. Аз така доста си поблъсках главата докато напиша един Macros - щото в Help-овете и книгите няма нищо за командите и процедурите свързващи AUTOCAD i VBasic. И след като го написах криво-ляво реших, че може да пробвам пак само ако си намеря литература за това - голям зор видях. Така че ако искаш да се позанимаваш с това според мен - почвай директно без допълнителни програми. Литература и за Бейсик и за Аутокад има в изобилие и в интернет и по книжарниците, но трябва да има човек доста време.
Ами това е - успех, и още един път благодарности !!!
| |
Тема
|
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), а пък в Интернет...
| |
Тема
|
Re: Интересно ?
[re: pesho_pv]
|
|
Автор |
Miru (непознат
) |
Публикувано | 17.02.06 13:00 |
|
Да точно така, само че като въведеш ThisDawing и натиснеш точка излиза един списък с куп възможни продължения - процедури, функции, променливи, голяма част от които като ги въведеш пак ти излизат сумати варианти, които да продължиш. И всички тези процедури, функции и т.н. ги няма никъде описани. Само по имената им може горе-долу да се ориентира човек, но това е мъчна работа - не може просто да започнеш да пробваш всяка една със десетките й варианти. Да не говорим, че понякога дава грешки, които са предизвикани от условие необходимо за командата, което просто няма от къде да види човек. В аутокад просто няма необходимата документация за писане на макроси към самия аутокад - иначе визуал бейсика самостоятелно си го има описан.
| |
Тема
|
Re: Интересно ?
[re: Miru]
|
|
Автор | pesho_pv (Нерегистриран) |
Публикувано | 17.02.06 17:29 |
|
Да ме прощаваш, но говориш глупости. В Help-а на AutoCAD-а си има цели раздели - "ActiveX and VBA Developer's Guide" и "ActiveX and VBA Developer's Reference" и вътре има описано ВСИЧКО. Сега не искам да ти копирам целия Help, на ето ти пример за "Offset":
В отговор на:
Offset Method
Creates a new object at a specified offset distance from an existing object.
See Also | Example
Signature
RetVal = object.Offset(Distance)
Object
Arc, Circle, Ellipse, Line, LightweightPolyline, Polyline, Spline, XLine
The object or objects this method applies to.
Distance
Double; input-only
The distance to offset the object. The offset can be a positive or negative number, but it cannot equal zero. If the offset is negative, this is interpreted as being an offset to make a "smaller" curve (that is, for an arc it would offset to a radius that is "Distance less" than the starting curve's radius). If "smaller" has no meaning, then it would offset in the direction of smaller X, Y, and Z WCS coordinates.
RetVal
Variant (array of objects)
An array of the newly created objects resulting from the offset.
Remarks
For many curves, the result of this operation will be a single new curve (which may not be of the same type as the original curve). For example, offsetting an ellipse will result in a spline because the result does fit the equation of an ellipse. In some cases it may be necessary for the offset result to be several curves.
и съответно като цъкнеш на "Example" има конкретен пример за използването на съответното свойство, метод или команда. Същото го има в PDF формат, има сума ти примери в поддиректория "Samples" на AutoCAD-а, а в интернет има такива странички и форуми, че просто... Не било описано никъде...
| |
Тема
|
Re: Интересно ?
[re: pesho_pv]
|
|
Автор |
Miru (непознат
) |
Публикувано | 20.02.06 22:48 |
|
Дааа, сега и аз намирам такива неща в Help-a. Интересно защо ли не ги намерих преди една година когато ми трябваха доста по-спешно. Е, сигурен съм че тогава поне съм въвеждал "ThisDrawing" в Help-а и не съм намирал нищо. Явно нещо грешката си е в мен... Май изпаднах в малко глупаво положение. Е, поне за интернет съм сигурен, че търсих, но явно е трябвало да съм по-упорит в тази работа. Тогава, обаче нямах и много време така че просто реших да скалъпя нещо набързо - доколкото успея. Оттогава просто си втълпих, че такива работи няма къде да намеря и сега когато реших пак да се позанимавам с тази работа без да търся направо пуснах питане във форума. Като известно оправдание може да ми послужи, че силата ми е в друга област. Е, благодаря за направения труд и примера, който си дал. Надявам се някой ден и аз да ти бъда полезен, и на другите които са ми писали разбира се - също.
| |
Тема
|
Re: Интересно ?
[re: Mинaвaщ]
|
|
Автор |
Miru (непознат
) |
Публикувано | 21.02.06 17:48 |
|
Ей. Минаващ, тия примери в сайта дето си ми ги пратил изглеждат много добри. Ако ги разгледаш съм сигурен, че ще са ти от полза ако искаш да изучиш макросите. Особено ме впечатли макросът, който чете от Exel
| |
|
Страници по тази тема: 1 | 2 | (покажи всички)
|
|
|