Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Xref-Liste erstellen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
Autor Thema:  Xref-Liste erstellen (2795 mal gelesen)
wwwilli
Mitglied
Ingenieur


Sehen Sie sich das Profil von wwwilli an!   Senden Sie eine Private Message an wwwilli  Schreiben Sie einen Gästebucheintrag für wwwilli

Beiträge: 410
Registriert: 21.03.2006

ACAD MAP 3D 2012.
VestraCAD.
Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.

erstellt am: 01. Dez. 2006 12:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
ich möchte für ein DWG eine Liste der darin enthaltenen externen Referenzen, Xrefs und Pixelbilder, erstellen.
Ist das in VBA möglich?
MfG,
wwwilli

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Stelli1
Moderator
Verm.-Ing.


Sehen Sie sich das Profil von Stelli1 an!   Senden Sie eine Private Message an Stelli1  Schreiben Sie einen Gästebucheintrag für Stelli1

Beiträge: 1526
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 01. Dez. 2006 15:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wwwilli 10 Unities + Antwort hilfreich

Hi Willi,

vielleicht so

Code:
Dim entity As AcadEntity
Dim BlockRef As AcadBlockReference
Dim BlockDef As AcadBlock

For Each entity In ThisDrawing.ModelSpace
    If entity.ObjectName = "AcDbBlockReference" Then
        Set BlockRef = entity
        Set BlockDef = ThisDrawing.Blocks(BlockRef.Name)
        If BlockDef.IsXRef = True Then
          Debug.Print "X-Ref " & BlockRef.Path
        End If
    ElseIf entity.ObjectName = "AcDbRasterImage" Then
        Debug.Print "Raster: " & entity.ImageFile
       
    End If
Next entity



Stelli

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wwwilli
Mitglied
Ingenieur


Sehen Sie sich das Profil von wwwilli an!   Senden Sie eine Private Message an wwwilli  Schreiben Sie einen Gästebucheintrag für wwwilli

Beiträge: 410
Registriert: 21.03.2006

ACAD MAP 3D 2012.
VestraCAD.
Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.

erstellt am: 01. Dez. 2006 18:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Stelli,
danke.
Leider will mein VBA die Eigenschaften blockref.path und entity.imagefile nicht kennen. Ich weiß nicht, ob ich eine andere Eigenschaft benutzen kann.

Und dann bricht die ganze Sache beim ersten Testbild irgendwo ab, auch wenn ich statt der beiden o.g. Eigenschaften ".Objectname" nehme, was VBA eigentlich kennen sollte. Habe noch nicht raus, wo abbricht. Nehme mal ein ganz kleines DWG.
MfG
wwwilli

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


Sehen Sie sich das Profil von Carsten1210 an!   Senden Sie eine Private Message an Carsten1210  Schreiben Sie einen Gästebucheintrag für Carsten1210

Beiträge: 1360
Registriert: 24.07.2002

erstellt am: 01. Dez. 2006 19:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wwwilli 10 Unities + Antwort hilfreich

Hallo Willi,

Ich habe Wilfrieds Code mal etwas abgeändert. So sollte es funktionieren:

Option Explicit

Public Sub test()
Dim Entity As AcadEntity
Dim BlockRef As AcadBlockReference
Dim BlockDef As AcadBlock

For Each Entity In ThisDrawing.ModelSpace
    If TypeName(Entity) = "IAcadExternalReference" Then
        Set BlockRef = Entity
        Set BlockDef = ThisDrawing.Blocks(BlockRef.Name)
        If BlockDef.IsXRef = True Then
          MsgBox "X-Ref " & BlockRef.Path
        End If
    ElseIf TypeName(Entity) = "IAcadRasterImage" Then
        MsgBox "Raster: " & Entity.ImageFile
     
    End If
Next Entity
End Sub

Gruß, Carsten

[Diese Nachricht wurde von Carsten1210 am 01. Dez. 2006 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wwwilli
Mitglied
Ingenieur


Sehen Sie sich das Profil von wwwilli an!   Senden Sie eine Private Message an wwwilli  Schreiben Sie einen Gästebucheintrag für wwwilli

Beiträge: 410
Registriert: 21.03.2006

ACAD MAP 3D 2012.
VestraCAD.
Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.

erstellt am: 01. Dez. 2006 20:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo, Ihr fleißigen,
das von Stelli mit entity.Objectname läuft schon auch jetzt bei kleinen Test-DWGs bei mir, aber bei einem größeren DWG hängt sich die Sub nach ca. 90 Objekten bei "Next entity" auf mit
Laufzeitfehler '-2147221231(80040111)': Automatisierungsfehler; ClassFactory kann angeforderte Klasse nicht liefern.
Ohne Breakpoints haut es die Sub aus den Latschen, dass ich es nicht mehr mit On Error GoTo ... auffangen kann und auch das Hauptprogramm mit Fehler abbricht. So kann ich aber das Programm nicht gut enden lassen, auch wenn das DWG vielleicht Fehler hat, ich muss sie vom Prog wenigstens vernünftig abfangen können.
MfG,
wwwilli

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Stelli1
Moderator
Verm.-Ing.


Sehen Sie sich das Profil von Stelli1 an!   Senden Sie eine Private Message an Stelli1  Schreiben Sie einen Gästebucheintrag für Stelli1

Beiträge: 1526
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 01. Dez. 2006 21:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wwwilli 10 Unities + Antwort hilfreich

Hallo Willi,

versuch es doch mal so

Ändere doch mal
Dim Entity As AcadEntity
   in
Dim Entity As Variant
   oder
Dim Entity As Object

Vielleicht läuft es dann bei dir.

Stelli

------------------
Warum lisp'eln wenn's auch anders geht. 
www.ib-stelberg.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wwwilli
Mitglied
Ingenieur


Sehen Sie sich das Profil von wwwilli an!   Senden Sie eine Private Message an wwwilli  Schreiben Sie einen Gästebucheintrag für wwwilli

Beiträge: 410
Registriert: 21.03.2006

ACAD MAP 3D 2012.
VestraCAD.
Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.

erstellt am: 01. Dez. 2006 22:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
ich habe es umgebaut, so dass es mit "On Error Resume Next" irgendein Ergebnis bringt. Es siehr dann wieder mehr wie ein Fortran-Programm aus, aber das stört mich ja nicht...
Die Suche nach den Xrefs versuche ich abzukürzen, etwa so (auszugsweise):

  Z1 = ThisDrawing.Blocks.Count
  Z2 = 0
L4000:
  If ThisDrawing.Blocks(Z2).IsXRef Then
    meinPfad = ThisDrawing.Blocks(Z2).Path
  EndIf
  Z2 = Z2 + 1
  If Z2 <= Z1 Then GoTo L4000

'usw
Sorry, wahrscheinlich wird Euch schlecht, wenn Ihr solchen Code seht.
Scheint aber zu funktionieren, dann brauche ich nicht eine große Zahl von Objekten zu durchlaufen, das dauert doch ziemlich lange bei 20.000 Stück und mehr, um 2 Xrefs zu finden.

So etwas hätte ich dann gerne auch für die Pixelbilder, aber ThisDrawing.Pixelbilder gibts leider nicht, oder?
MfG,
wwwilli

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Stelli1
Moderator
Verm.-Ing.


Sehen Sie sich das Profil von Stelli1 an!   Senden Sie eine Private Message an Stelli1  Schreiben Sie einen Gästebucheintrag für Stelli1

Beiträge: 1526
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 02. Dez. 2006 13:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wwwilli 10 Unities + Antwort hilfreich

Hallo Willi,
Ist doch eine gute Idee die Block Collection zu durchlaufen um die Xref zu bekommen. Allerdings geht das auch mit einer Schleife ohne On Error.
Zitat:
Original erstellt von wwwilli:
...
So etwas hätte ich dann gerne auch für die Pixelbilder, aber ThisDrawing.Pixelbilder gibts leider nicht, oder?
...

So halb gibt es das. Du musst ein Selectionset mit SelectionAll bilden und dabei einen Filter für die Bilder übergeben.

Stelli


------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wwwilli
Mitglied
Ingenieur


Sehen Sie sich das Profil von wwwilli an!   Senden Sie eine Private Message an wwwilli  Schreiben Sie einen Gästebucheintrag für wwwilli

Beiträge: 410
Registriert: 21.03.2006

ACAD MAP 3D 2012.
VestraCAD.
Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.

erstellt am: 03. Dez. 2006 20:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo und danke,
mit "For Each ... Next" scheint mir das Problem zu sein, dass das ganze Ding baden geht, wenn bei einem Element ein Fehler auftritt; und ich meine, ich kriege diese Fehler dann nicht abgefangen. Wahrscheinlich geht es irgendwie, aber ich bin ja auch nur Bauingenieur...
Läuft das mit "SelectionAll" nicht auch darauf hinaus, dass 20.000 Elemente abgecheckt werden müssen? Gehören die Pixelbilder nicht zu irgendeinem übergeordneten Objekt, auf das man die Suche beschränken könnte? Oder kann man den "Bildmanager" irgendwie anzapfen? Der sucht ja auch nicht 20.000 Zeichnungselemente durch, um seine Liste mit ein paar Pixelbildern anzuzeigen. Vielleicht komme ich da mit "Sendkeys" und der Zwischenablage schneller dran als mit "SelectionAll". Aber vielleicht habe ich das missverstanden, ich habe erst am Montag oder Dienstag wieder AC in den Händen.
MfG,
wwwilli

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

GrassHopper
Mitglied
CAD-Betreuer


Sehen Sie sich das Profil von GrassHopper an!   Senden Sie eine Private Message an GrassHopper  Schreiben Sie einen Gästebucheintrag für GrassHopper

Beiträge: 22
Registriert: 18.03.2006

erstellt am: 03. Dez. 2006 23:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wwwilli 10 Unities + Antwort hilfreich


Projekt.dvb.txt

 
Hallo wwwilli,

ich hab mir auch mal ein paar Gedanken zu deinem Problem gemacht.
Und hierzu ein kurzes VBA-Programm gemacht. Um die Infos der XREFs und Bilder anzuzeigen ist ein kleines Dialogfenster entstanden. hier gibt's auch einen EXPORT-Button der die Infos in eine CSV-Datei speichert. Diese kannst du dann z.B. in MS-Excel einlesen.

Mfg
GrassHopper

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wwwilli
Mitglied
Ingenieur


Sehen Sie sich das Profil von wwwilli an!   Senden Sie eine Private Message an wwwilli  Schreiben Sie einen Gästebucheintrag für wwwilli

Beiträge: 410
Registriert: 21.03.2006

ACAD MAP 3D 2012.
VestraCAD.
Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.

erstellt am: 04. Dez. 2006 16:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hm,
grübel, wie kriege ich das jetzt gelesen, habe hier zu Hause kein AC. Kann man .dvb auch mit was anderem aufmachen? Was ich mit dem Editor sehe, ist nicht wirklich ausreichend. UserForms bräuchte ich nicht, das mit der Ausgabe nach CSV habe ich auch schon alles.
MfG mal,
wwwilli

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

GrassHopper
Mitglied
CAD-Betreuer


Sehen Sie sich das Profil von GrassHopper an!   Senden Sie eine Private Message an GrassHopper  Schreiben Sie einen Gästebucheintrag für GrassHopper

Beiträge: 22
Registriert: 18.03.2006

erstellt am: 05. Dez. 2006 01:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wwwilli 10 Unities + Antwort hilfreich


Modul1.bas.txt

 
Hallo wwwilli,

hab ich total vergessen das man ja vdb-Dateien so nicht lesen kann.
Die Macht der Gewohnheit.

Im Anhang findest du ein Modul das du dir einfach importieren kannst und es auch einfach im Text-Editor ansehen kannst.
Ich hab das Ganze vielleicht ein wenig umständlich gelöst aber es funktioniert.

Ich hab noch dazu geschrieben über welche Eigenschaften du an den Namen bzw. den Pfad der Datei ran kommst.

Mfg
GrassHopper

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wwwilli
Mitglied
Ingenieur


Sehen Sie sich das Profil von wwwilli an!   Senden Sie eine Private Message an wwwilli  Schreiben Sie einen Gästebucheintrag für wwwilli

Beiträge: 410
Registriert: 21.03.2006

ACAD MAP 3D 2012.
VestraCAD.
Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.

erstellt am: 05. Dez. 2006 10:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
danke, jetzt kann ich alles lesen, auch das DVB. So etwa habe ich das alles auch schon, ist OK. Auch Du durchläufst mit

Code:

    Dim element As AcadObject
    For Each element In aktDoc.ModelSpace
    For Each element In aktDoc.PaperSpace

alle Objekte des DWG. Das sind dann wie gesagt 20.000 Elemente oder mehr. Da hatte ich gehofft, dass man Zeit (z.B. 5 bis 10 Sekunden) sparen könnte, wenn es wie bei den Blöcken ein geeignetes Objekt gibt, das nur die Pixelbilder enthält. Oder habe ich einen Beschleunigungstrick in Deinem Code übersehen?

Auch beim Ausführen Deines Programms kriege ich übrigens "Laufzeitfehler '-2147221231" und das Prog hängt. Wahrscheinlich haben manche meiner DWGs einen Datenfehler, aber damit muss die Routine zur Ermittlung der Xrefs irgendwie zurechtkommen, denn ansonsten arbeitet AC auch damit ohne Widerspruch. Und auch nach "_audit" kommt der genannte Laufzeitfehler wieder.

"Stunden später:"
Oha, ich habe etwas gefunden: die FileDependencyList. Damit könnte es schneller gehen.

Code:

    Dim objFDLCol As AutoCAD.AcadFileDependencies
    Dim objFDL As AutoCAD.AcadFileDependency
    Dim strFDL As String
   
    Set objFDLCol = ThisDrawing.FileDependencies
    strFDL = "File Dependency List:" + Str(objFDLCol.Count) & " El."
    For Each objFDL In objFDLCol
        strFDL = strFDL + vbCr + objFDL.FullFileName
    Next
    MsgBox strFDL

Da sind dann SHX, TTF, PC3 und STB mit drin, aber das lässt sich ja bearbeiten... Mal sehen, geht auf jeden Fall schnell.

MfG,
wwwilli

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


Sehen Sie sich das Profil von Carsten1210 an!   Senden Sie eine Private Message an Carsten1210  Schreiben Sie einen Gästebucheintrag für Carsten1210

Beiträge: 1360
Registriert: 24.07.2002

erstellt am: 05. Dez. 2006 11:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wwwilli 10 Unities + Antwort hilfreich

Hallo Willi,

Du solltest dich mal mit SelectionSets und den Filtern auseinander setzen. Die arbeiten IMHOIn my humble oppinion (Meiner Meinung nach) schneller als wenn du alle Elemente durchlaufen musst.

Gruß, Carsten

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wwwilli
Mitglied
Ingenieur


Sehen Sie sich das Profil von wwwilli an!   Senden Sie eine Private Message an wwwilli  Schreiben Sie einen Gästebucheintrag für wwwilli

Beiträge: 410
Registriert: 21.03.2006

ACAD MAP 3D 2012.
VestraCAD.
Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.

erstellt am: 05. Dez. 2006 12:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
mit "ThisDrawing.FileDependencies" läuft's bislang super; genau das, was ich gesucht habe.
Danke und MfG,
wwwilli

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wwwilli
Mitglied
Ingenieur


Sehen Sie sich das Profil von wwwilli an!   Senden Sie eine Private Message an wwwilli  Schreiben Sie einen Gästebucheintrag für wwwilli

Beiträge: 410
Registriert: 21.03.2006

ACAD MAP 3D 2012.
VestraCAD.
Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.

erstellt am: 08. Dez. 2006 17:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hm, naja,
sooo super auch wieder nicht, weil die FileDependencies verschachtelte Xrefs nicht aufführen.

Z.B. ein DWG als Xref enthält ein Pixelbild. Der Bildmanager führt dieses auf, mit

xrefname|bildname ...

Aber bei den ThisDrawing.FileDependencies kommt es nicht vor.

Jetzt muss ich doch, scheint's, die ThisDrawing.Blocks durchsuchen und bei allen mit

.IsXref = True

deren

.XRefDatabase.FileDependencies

untersuchen, womöglich rekursiv...

Ob nicht doch der Bildmanager irgendwie mit VBA zu kriegen ist?

Schönes WE.
MfG,
wwwilli

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Stelli1
Moderator
Verm.-Ing.


Sehen Sie sich das Profil von Stelli1 an!   Senden Sie eine Private Message an Stelli1  Schreiben Sie einen Gästebucheintrag für Stelli1

Beiträge: 1526
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 08. Dez. 2006 18:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wwwilli 10 Unities + Antwort hilfreich

Hey Ho wwwilli,

war das jetzt ne Frage  

Lad dir doch mal die Blockinfo.dvb.

Da fügst du in der Funktion FILLBLOCKINFO noch eine Zeile ein die prüft ob es ein Bildchen ist. Wenn du vorher noch ein Node in den Treeview einbaust bis du fertig. In dieser Funktion wird schon rekursiv in der Zeichnung gesucht. Über den Export kannst du das Ganze auch in eine Textdatei bringen.

Übringens was willst du damit machen ?

Wenn du eine DWG samt aller abhängigen Zeichnungen und Bilder weitergeben willst kannst du das auch mit "publizieren" machen.
Da werden alle Dateien automatisch zusammengefaßt.
Stelli

------------------
Warum lisp'eln wenn's auch anders geht. 
www.ib-stelberg.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Anzeige:Infos zum Werbeplatz >>

3D Scanning Services for Architects & Builders | LARKI - Sydney, Melbourne, CAD APP für Künstliche Intelligenz (KI)

Based on the information you provided we estimate that you will be saving this approximate amount. When selling or managing industrial properties which contain complex machinery, clients often need precise measurements to assess a property?s suitability. 3D Warehouse (for SketchUp) Platform

wwwilli
Mitglied
Ingenieur


Sehen Sie sich das Profil von wwwilli an!   Senden Sie eine Private Message an wwwilli  Schreiben Sie einen Gästebucheintrag für wwwilli

Beiträge: 410
Registriert: 21.03.2006

ACAD MAP 3D 2012.
VestraCAD.
Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.

erstellt am: 08. Dez. 2006 19:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Stelli,
das war eine Frage oder vielleicht auch nur mal so eine Stimmungsäußerung im CAD.DE-Chat. Manchmal brauch ich das. Trotzdem danke.

Frage: Wo ist Blockinfo.dvb?

Antwort zu was will machen: Unsere Dateien werden nach "Projekten" sortiert gespeichert, das können Dutzende oder Hunderte DWGs jeweils sein. Wenn ein Projekt fertig ist, wird es auf DVD gebrannt und gelöscht. Da fiel mir dann ein, dass die DVD nicht vollständig sein kann (und das Projekt später nicht vollständig wieder hergestellt werden kann), wenn die Xrefs außerhalb des Projekts (z.B. auf einem Vorlagen-Laufwerk mit Karten, Logos u.ä.) nicht mitgenommen werden. Dazu möchte ich fortlaufend eine Liste mit den projektbezogenen Xrefs füttern.Es geht also nicht um einzelne DWG, das machen wir mit "etransmit". Aber die Problemstellung ist natürlich ähnlich.

MfG,
wwwilli

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz