|
Страници по тази тема: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | (покажи всички)
Тема
|
Re: nicksunkar
[re: nicksunkar]
|
|
Автор | Mинaвaщ (Нерегистриран) |
Публикувано | 08.10.06 15:29 |
|
Пиши тук ... аз незнам за друг форум .
| |
Тема
|
Re: Програмиране в ACAD
[re: StSt]
|
|
Автор | Dim (Нерегистриран) |
Публикувано | 20.10.06 15:01 |
|
Да попитам - как със VBA мога да взема координатите на точки(points) в един слой и да ги изпиша до точките?
| |
Тема
|
Re: Програмиране в ACAD
[re: Dim]
|
|
Автор | StSt (Нерегистриран) |
Публикувано | 21.10.06 23:33 |
|
За VBA е малко сложно, но ти предлагам програмка на LISP
Долния текст го запиши в PTC.LSP
Зареди го с
(load "PTC")
избери точките или всички елементи от нужния слой (може с QSELECT) и стартирай
PTC
Ако текста е с неподходяща големина смени го с
TEXTSIZE
Ако разположението на текста не е подходящ в сорса промени числото след DTXT (сега е 1.0)
;ПРОСТАВЯ КООРТИНАТИ НА ТОЧКИ
(DEFUN C:PTC ()
(IF (AND
(SETQ NAB (SSGET))
(> (SSLENGTH NAB) 0)
);AND
(PROGN
(SETQ I 0 TS (GETVAR "TEXTSIZE") DTXT 1.0)
(REPEAT (SSLENGTH NAB)
(SETQ EN (SSNAME NAB I)
I(1+ I)
PT (CDR(ASSOC 10 (ENTGET EN)))
);SETQ
(IF (= "POINT"(CDR(ASSOC 0 (ENTGET EN))))
(COMMAND "TEXT" (POLAR PT (/ PI 4) (* DTXT TS))TS 0
(STRCAT (RTOS(NTH 0 PT)2 4)","(RTOS(NTH 1 PT)2 4)","(RTOS(NTH 1 PT)2 4))
(COMMAND))
);IF POINT
);REPEAT
);PROGN
);IF
);C:PTC
| |
Тема
|
Re: Програмиране в ACAD
[re: StSt]
|
|
Автор | Dim (Нерегистриран) |
Публикувано | 25.10.06 14:52 |
|
StSt, благодаря ти за отговора. Скриптът работи чудесно, но аз никак не го разбирам този синтаксис на Lisp :( и реших да го направя на VBA. Ето го и резултатът:
Sub Example_Coordinates()
Dim Selection As AcadSelectionSet
Dim Poly As AcadLWPolyline
Dim Obj As AcadEntity
Dim dblBound As Double
Dim PointMy As AcadPoint
Dim MTextObj As AcadMText
Dim adblCorner(0 To 2) As Double
Dim dblWidth As Double
Dim heightMy
Dim intNumDgtAftDcml As Integer
Dim strText As String
Dim newLayer As AcadLayer
'end----Dobaveno ot men
Set newLayer = ThisDrawing.Layers.Add("Koordinati")
ThisDrawing.ActiveLayer = newLayer
'Makes a selectionset.
On Error Resume Next
Set Selection = ThisDrawing.SelectionSets.Item("Select object.")
If Err Then
Set Selection = ThisDrawing.SelectionSets.Add("Select object.")
Err.Clear
Else
Selection.Clear
End If
ThisDrawing.Utility.Prompt vbCrLf & "Координатор !!!" & _
vbCrLf & "--------------------------------" & vbCrLf
heightMy = ThisDrawing.Utility.GetInteger("? Въведете височина на текста: ")
intNumDgtAftDcml = ThisDrawing.Utility.GetInteger("? Въведете брой символи след десетичната запетая: ")
dblWidth = 0
ThisDrawing.Utility.Prompt vbCrLf & "Изберете обекти:"
Selection.SelectOnScreen
For Each Obj In Selection
If Obj.ObjectName = "AcDbPolyline" Then
Set Poly = Obj
On Error Resume Next
dblBound = UBound(Poly.Coordinates)
x = 0
y = 1
For i = 0 To dblBound / 2
'MsgBox "X= " & Poly.Coordinates(x) & vbCrLf & "Y= " & Poly.Coordinates(y)
adblCorner(0) = Poly.Coordinates(x)
adblCorner(1) = Poly.Coordinates(y)
adblCorner(2) = 0#
strText = "X= " & FormatNumber(Poly.Coordinates(x), intNumDgtAftDcml) & vbCrLf & _
"Y= " & FormatNumber(Poly.Coordinates(y), intNumDgtAftDcml)
' Creates the mtext Object
Set MTextObj = ThisDrawing.ModelSpace.AddMText(adblCorner, dblWidth, strText)
MTextObj.Height = heightMy
MTextObj.Update
ZoomAll
If Err Then
Err.Clear
End If
x = x + 2
y = y + 2
Next
End If
If Obj.ObjectName = "AcDbPoint" Then
Set PointMy = Obj
On Error Resume Next
x = 0
y = 1
'MsgBox "X= " & PointMy.Coordinates(x) & " Y= " & PointMy.Coordinates(y)
adblCorner(0) = PointMy.Coordinates(x)
adblCorner(1) = PointMy.Coordinates(y)
adblCorner(2) = 0#
strText = "X= " & FormatNumber(PointMy.Coordinates(x), intNumDgtAftDcml) & vbCrLf & _
"Y= " & FormatNumber(PointMy.Coordinates(y), intNumDgtAftDcml)
' Creates the mtext Object
Set MTextObj = ThisDrawing.ModelSpace.AddMText(adblCorner, dblWidth, strText)
MTextObj.Height = heightMy
MTextObj.Update
ZoomAll
If Err Then
Err.Clear
End If
End If
Next Obj
End Sub
| |
Тема
|
Re: Програмиране в ACAD
[re: Dim]
|
|
Автор | StSt (Нерегистриран) |
Публикувано | 25.10.06 18:05 |
|
За Dim
Това е, според мен, целта на един такъв форум - обмен на идеи.
Затова пуснах тази тема.
Периодично посещавам подобни форуми
(особено http://www.autocad.ru/cgi-bin/f1/board.cgi?p=23)
между другото препоръчвам на всички, интересуващи се от програмиране в ACAD да поглеждат и навън
Там хората поставят въпроси от текущата си практика и в повечето случаи получават отговор.
В нашия форум въпросите, в болшинството си са откъде да си сваля програмка (ама безплатна), как да си настроя програмата по-иначе и т.н.
Това е ниско ниво на потребление. Показва повърностни понятия и ниски изисквания.
Имаше доста изказвания във форума за това, че не може да се накарат хората да работят малко по-интелигентно - да ползват малко повече от възможностите, които им предлага софтуера, който ползват.
Самият факт, че ти имаш повишени изисквания към програмата, при това можеш и ги решаваш, ознчава че си на много високо ниво и ще очаквам подкрепата ти в инициативата да "заразяваме" повече хора да ползват възможностите на ползваните програми.
| |
Тема
|
Re: Програмиране в ACAD и пр.
[re: StSt]
|
|
Автор | Mинaвaщ (Нерегистриран) |
Публикувано | 25.10.06 19:18 |
|
В отговор на:
StSt
... да "заразяваме" повече хора да ползват възможностите на ползваните програми.
Aз съм Несериозен и пропускам да довърша някои уговорки !
Но да си кажа мнението .
Понеже се намирам м/у знаещи и незнаещи имам Средно Статистическо Мнение по проблемите . Първият проблем според мен е настройване на Потребителският Външен Вид на Програмата . От него започва Заигравката/Зарибявката . Пак според мен , ако не можеш да ползваш/настроиш някое допълнително Приложение в Лесно Достъпна Форма за ползване то си остава в килера заедно с другите "хубави" неща .
Та относно примернo AutoCAD :
Имам Идея да направя разказ в картинки за част от настройването на Потребителският Външен Вид . Но се чудя за AutoCAD над 2006 или под 2006 да бъде ? И понеже не се мисля за Специалист , се чудя дали да го правя , т.е. ще имам нужда от редактор ?
| |
Тема
|
Re: StSt & Re:Mинaвaщ
[re: StSt]
|
|
Автор | Dim (Нерегистриран) |
Публикувано | 25.10.06 20:51 |
|
Не знам дали от алтруизъм или от някакви други дълбоко залегнали в характера ми черти, но винаги съм се опитвал да споделям знанията, уменията и търсенията си и не съм се притеснявал да потърся помощта, когато ми е била необходима и съм щастлив, когато намеря себеподобни, готови да помагат безкористно. Благодаря
| |
Тема
|
Re: StSt & Re:Mинaвaщ
[re: Dim]
|
|
Автор | 4vor (Нерегистриран) |
Публикувано | 08.12.06 12:07 |
|
[image]C:\leta4.bmp[/image]
| |
Тема
|
Re: StSt & Re:Mинaвaщ
[re: 4vor]
|
|
Автор | vor (Нерегистриран) |
Публикувано | 08.12.06 12:47 |
|
[IMG]http://img132.imageshack.us/img132/8317/leta4yc6.png[/IMG]
| |
Тема
|
Re: StSt & Re:Mинaвaщ
[re: vor]
|
|
Автор |
FUSlON (непознат
) |
Публикувано | 27.11.08 15:37 |
|
Здравейте, аз съм нова тук и съм почитател на Аутолисп или по-точно на начина, по който можеш да си улесниш работата.. И съм нова и в Аутокад(както руснаците казват Автогад ;), както си личи от предния ми пост, ама бързо се уча.... :))) Програмирането не ми е била стихията, както електротехниката, но....
| |
|
Страници по тази тема: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | (покажи всички)
|
|
|