|
Тема |
Re: Проба ... [re: pи] |
|
Автор | peshop (Нерегистриран) | |
Публикувано | 14.12.05 06:37 |
|
|
1. Отваряш Excel-а.
2. Стартираш си VBA IDE-то с натискането на Alt+F11 или Tools -> Macro -> Visual Basic Editor.
3. В Visual Basic Editor-а избираш Insert -> Module и вътре Paste-ваш следното:
Sub PointsLayOn()
Dim Pnt2Txt As Double: Pnt2Txt = 5
Dim TxtHeight As Double: TxtHeight = 10
Dim AcadApp As AcadApplication
Set AcadApp = CreateObject("AutoCAD.Application")
With AcadApp
.WindowState = acMax
.Visible = True
End With
Dim AcadMS As AcadModelSpace
Set AcadMS = AcadApp.ActiveDocument.ModelSpace
Dim i As Integer: i = 1
Dim TmpPnt(0 To 2) As Double, AcadPnt As AcadPoint
Dim TmpTxt As String, AcadTxt As AcadText
Do While Not IsEmpty(Cells(i, 1))
TmpPnt(0) = Cells(i, 2).Value
TmpPnt(1) = Cells(i, 3).Value
TmpPnt(2) = Cells(i, 4).Value
Set AcadPnt = AcadMS.AddPoint(TmpPnt)
TmpPnt(0) = TmpPnt(0) + Pnt2Txt / Sqr(2)
TmpPnt(1) = TmpPnt(1) + Pnt2Txt / Sqr(2)
TmpTxt = Cells(i, 1).Value
Set AcadTxt = AcadMS.AddText(TmpTxt, TmpPnt, TxtHeight)
i = i + 1
Loop
AcadApp.ZoomExtents
Set AcadApp = Nothing
End Sub
4. Избираш Tools -> References и търсиш "AutoCAD 2002 Type Library". Като го посочиш, трябва за "Location" да изкара "X:\Там където ти е инсталиран AutoCAD\ACAD.TLB". (Ако го няма, може би при инсталацията не си избрал Visual Basic for Applications Support (или нещо от сорта беше). Пусни наново исталацията, избери Modify и му сложе чавка на VBA-то).
5. Връщаш си се в Excel-а и с Alt+F8 си пускаш макросчето.
Наколко разяснения относно него:
- координатите се четат от текущия (активния) Sheet.
- Pnt2Txt = 5 ти е разстоянието от точката до надписа, променяй си го по твое усмотрение.
- TxtHeight = 10 ти е височината на текста (също като горното - слагай каквото искаш).
Ако искаш да промениш височината в последствие - или пускаш макроса наново, или гледаш (тези ги пускаш от под AutoCAD обаче, но без да търсиш References, защото AutoCAD-а знае сам за себе си ).
|
| |
|
|
|