Zdar všem, potřebuji načíst textová pole z výkresů *.dwg, text a dle pozice ve výkresu poskládat údaje do souvislostí a dostat do excelu bez instalace a knihoven autocadu pomocí vb,vba nebo i vb.net, avšak výkresy jsou také z verze 2000 a 2002. Přidáním reference na knihovnu autocadu sice mohu otevřít soubor a selectionsetem vybrat data filrem :
Dim A2K As AcadApplication
Dim A2Kdwg As AcadDocument
Dim dwgPath As String
dwgPath = "x:\Výkresy\výkres.dwg"
Set A2K = CreateObject("AutoCAD.Application")
Set A2Kdwg = A2K.Documents.Open(dwgPath, True)
Dim SearchText As String
SearchText = "NÁZEV"
Dim FilterType(1) As Integer
Dim FilterData(1) As Variant
FilterType(0) = 0
FilterData(0) = "TEXT"
FilterType(1) = 1
FilterData(1) = SearchText
Dim objssTexts As AcadSelectionSet
Dim ssText As AcadText
Set objssTexts = A2Kdwg.SelectionSets.Add("ssText")
objssTexts.Select acSelectionSetAll, , , FilterType, FilterData
Debug.Print "Found : " & objssTexts.Count
For Each ssText In objssTexts
Dim minPt As Variant, maxPt As Variant
ssText.GetBoundingBox minPt, maxPt
Debug.Print minPt(0) & "/" & minPt(1) & "/" & minPt(2)
Debug.Print maxPt(0) & "/" & maxPt(1) & "/" & maxPt(2)
Next
objssTexts.Delete
Set objssTexts = Nothing
A2Kdwg.Close False
Set A2Kdwg = Nothing
A2K.Quit
Set A2K = Nothing
Nevíte, jak načíst data elegatněji,pomocí free knihovny třeba nějakého prohlížeče nebo převaděče do formátu,aby se data entit výkresu dala číst jako text? ASCII verzi DXF je prý možné číst textovým editorem... Nelze soubor pomocí vb převést a data ENTITIES přečíst? Ačkoli intenzivně pátrám, stále se nemohu zorientovat, čtu o odbx, objektu arx ,dxf... bez úspěchu a proto moc doufám, že zde naleznu spřízněnou duši a prosím o pomoc, vaše tipy, rady a cenné zkušenosti. Děkuji za případnou pomoc váženého fóra. Mnoho zdaru!
|