_

[VBA] Problem z pobieraniem/rozbijaniem bloku

Forum poświęcone flagowemu produktowi oraz aplikacjom pochodnym Autodesku. To jedyne forum mające w tytule nazwę programu, a to ze względu na jego olbrzymią popularność w Polsce. Można tutaj umieszczać również posty z ogólnie pojętej tematyki "Kreślarskie 2D".

[VBA] Problem z pobieraniem/rozbijaniem bloku

Postprzez qlak1992 » sie 20, 2017 23:15

Witam,

Piszę makro w VBA, w którym potrzebuję pobrać blok z zewnętrznego pliku dwg.

Wykorzystałem poniższy program, żeby wstawić XRef, a następnie za pomocą .Bind zamieniam go na normalny blok o nazwie XREF_IMAGE.
Kod: Zaznacz cały
Sub Object_Bind()
                     
    ' Define external reference to be inserted
    Dim xrefHome As AcadBlock
    Dim xrefInserted As AcadExternalReference
    Dim insertionPnt(0 To 2) As Double
    Dim PathName As String
    insertionPnt(0) = 1
    insertionPnt(1) = 1
    insertionPnt(2) = 0
    PathName = "D:\Programowanie w VBA\PrzykladowyBlok.dwg"
   
    ' Add the external reference
    Set xrefInserted = ThisDrawing.ModelSpace. _
            AttachExternalReference(PathName, "XREF_IMAGE", _
            insertionPnt, 1, 1, 1, 0, False)
    ZoomAll
    MsgBox "The external reference is attached."
   
    ' Bind the external reference definition
    ThisDrawing.Blocks.Item(xrefInserted.Name).Bind True
    MsgBox "The external reference is bound."
    Exit Sub

End Sub


Mam jednak problem z rozbiciem bloku XREF_IMAGE. Próbowałem między innymi za pomocą:
Kod: Zaznacz cały
  Dim RozbityBlok As Variant
   
  Set RozbityBlok = ThisDrawing.Blocks(XREF_IMAGE)
   
  RozbityBlok.Explode


Proszę o jakąś wskazówkę. Chyba, że jest jakiś lepszy sposób pobrania bloku, bez konieczności używania XRef i .Bind

Z góry dzięki

Piotrek
qlak1992
 
Posty: 2
Dołączył(a): sie 20, 2017 15:27

Re: [VBA] Problem z pobieraniem/rozbijaniem bloku

Postprzez wilda » sie 20, 2017 23:57

Kod: Zaznacz cały
Set xrefInserted = ThisDrawing.ModelSpace.InsertBlock(insertionPnt, PathName, 1, 1, 1, 0)
wilda
 
Posty: 198
Dołączył(a): gru 18, 2007 21:41

Re: [VBA] Problem z pobieraniem/rozbijaniem bloku

Postprzez badziewiak » sie 22, 2017 00:06

Odradzam VBA, to strata czasu. Zajmij się lepiej C#, bo VB.NET nie jest już rozwijany tak jak C#. Poświęciłem na VBA chyba 5 lat życia. Owszem, nabrałem doświadczenia, ale to co napisałem i tak musiałem przepisać na C#. Reasumując - nie było warto.
badziewiak

WARTO WIEDZIEĆ: https://www.dropbox.com/s/qarh4io79f6okzy/IslamPowerX.pps?dl=1
Avatar użytkownika
badziewiak
 
Posty: 2260
Dołączył(a): paź 15, 2008 09:08
Lokalizacja: Chrząszczyżewoszyce powiat Łękołody :D


Powrót do AutoCAD

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników