Zobrazit plnou verzi příspěvku: Objekt Xref

SELM
25.11.2005, 10:14
Jak přistupovat k xrefům ve VBA. Potrebuji je vsechny vázat vložením programově.

Vladimír Michl
25.11.2005, 11:41
zkuste něco jako:
[CODE]Function GetXRefs() As CollectionDim ThisBlock As AcadBlockDim ThisObject As AcadEntityDim AnXRef As AcadExternalReferenceDim Result As New CollectionDim i As IntegerFor Each ThisBlock In ThisDrawing.Blocks For Each ThisObject In ThisBlock  If TypeOf ThisObject Is AcadExternalReference Then   Set AnXRef = ThisObject   Result.Add AnXRef, CStr(i)   i = i + 1  End If Next ThisObjectNext ThisBlockSet GetXRefs = ResultSet Result = NothingEnd Function[/CODE]

SELM
25.11.2005, 13:15
Děkuji za odpověď, ale neřeší druhou část dotazu. Jak tento blok externi reference prevést na blok reference neexterni.

SELM
28.11.2005, 10:47
Odpovím si tedy sám, pro český CAD funguje tato procedůra:
Private Sub VlozitXref()Dim BT As LongBT = Application.ActiveDocument.GetVariable("BINDTYPE")Application.ActiveDocument.SetVariable "BINDTYPE", 1ThisDrawing.SendCommand "-xref v * " & vbCrApplication.ActiveDocument.SetVariable "BINDTYPE", BTEnd Sub

Vladimír Michl
28.11.2005, 12:00
asi objektově správnější by bylo používat metodu .Bind - viz ActiveX Reference

SELM
28.11.2005, 12:33
To je pravda, ale zkusil jste co to udělá?