Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Bildreferenzen löschen

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
Autor Thema:  Bildreferenzen löschen (3102 mal gelesen)
Bernhard GSD
Mitglied



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

Beiträge: 482
Registriert: 29.08.2002

AutoCAD 2020(Deu); Windows 10 PRO x64(Deu)

erstellt am: 08. Aug. 2006 16:55    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

Ich möchte automatisiert nicht referenzierte Bilder aus Zeichnungen lösen.
Hintergrund ist dass sich diese Referenzen beim Einfügen in andere Zeichnungen vererben und picken bleiben bis man sie händisch entfernt. Bei mehrfacher Vererbung können da duzende Bilder unreferenziert in Zeichnungen herumhängen.

Daher soll mein Aufräumbefehl (CLEAN, CL) der die Zeichnung prüft, bereinigt, leere Texte löscht usw. auch solche Sachen mitanpacken.

Als Zwischenlöung verwende ich folgende Zeile:

Code:

(IF (NOT (SSGET "X" '((0 . "IMAGE"))))(COMMAND "_-IMAGE" "_Detach" "*"))

Allerdings funktioniert das nur wenn KEINE Bilder vorkommen, ausserdem werden Bilder die in Blöcken referenziert sind gelöst (da diese nicht erkannt werden) 

------------------
Gruß aus Wien
Bernhard

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 08. Aug. 2006 18:47    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 Bernhard GSD 10 Unities + Antwort hilfreich

reicht dir der Schubs auf die Entwicklerhilfe und das Stichwort
"acad_image_dict" (1 Treffer in der Hilfe)

Habe leider etwas wenig Zeit..

------------------
< Fr. & Sa. beim CAD.de-Treffen in Stuttgart dabei >

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

Bernhard GSD
Mitglied



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

Beiträge: 482
Registriert: 29.08.2002

AutoCAD 2020(Deu); Windows 10 PRO x64(Deu)

erstellt am: 09. Aug. 2006 07:51    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

Zitat:
Original erstellt von cadffm:
reicht dir der Schubs auf die Entwicklerhilfe und das Stichwort
"acad_image_dict" (1 Treffer in der Hilfe)

Finde mich damit noch nicht zurecht.

------------------
Gruß aus Wien
Bernhard

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 09. Aug. 2006 08:57    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 Bernhard GSD 10 Unities + Antwort hilfreich

probier mal das (nicht groß getestete)

(defun c:del-images(/ IMAGEDICT OBJS)
  (if(setq IMAGEDICT(cdr (assoc 350(member '(3 . "ACAD_IMAGE_DICT")(entget (namedobjdict))))))
    (progn
      (setq IMAGEDICT (entget IMAGEDICT))     
      (entmod(vl-remove-if '(lambda(X)(member(car X)'(3 350)))IMAGEDICT)))
    )                                
  (princ)
)

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

Bernhard GSD
Mitglied



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

Beiträge: 482
Registriert: 29.08.2002

AutoCAD 2020(Deu); Windows 10 PRO x64(Deu)

erstellt am: 09. Aug. 2006 09:13    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

Irgendwie... tut sich nichts 

------------------
Gruß aus Wien
Bernhard

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

Bernhard GSD
Mitglied



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

Beiträge: 482
Registriert: 29.08.2002

AutoCAD 2020(Deu); Windows 10 PRO x64(Deu)

erstellt am: 09. Aug. 2006 09: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

Zitat:
Original erstellt von Bernhard GSD:
Irgendwie... tut sich nichts  


Doch, nach dem Neuladen, nur sind dann alle Bilder weg 

------------------
Gruß aus Wien
Bernhard

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 09. Aug. 2006 09:24    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 Bernhard GSD 10 Unities + Antwort hilfreich

und das?
(defun C:CLEARIMAGEDICT()
  (if(not(vl-catch-all-error-p
          (setq IMAGEDICT(vl-catch-all-apply
                            'vla-item
                            (list
                              (vla-get-dictionaries
                                (vla-get-activedocument(vlax-get-acad-object))
                              )
                              "acad_image_dict"
                            )
                          )
          )
        )
    )
    (vlax-for ITEM IMAGEDICT
      (not(vl-catch-all-error-p
          (vl-catch-all-apply
            'vla-delete (list ITEM)                           
          )
        )
      )     
    )
  ) 
)

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

Bernhard GSD
Mitglied



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

Beiträge: 482
Registriert: 29.08.2002

AutoCAD 2020(Deu); Windows 10 PRO x64(Deu)

erstellt am: 09. Aug. 2006 09: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

Diese Variante räumt gründlich auf, leider auch die gewünschten Bilder - gleicher Effekt wie (COMMAND "_-IMAGE" "_DETACH" "*")

------------------
Gruß aus Wien
Bernhard

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 09. Aug. 2006 13:09    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 Bernhard GSD 10 Unities + Antwort hilfreich


CLEARIMAGES.zip

 
letzer Versuch:
Probier mal das Teil im Anhang.

------------------
      - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

Bernhard GSD
Mitglied



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

Beiträge: 482
Registriert: 29.08.2002

AutoCAD 2020(Deu); Windows 10 PRO x64(Deu)

erstellt am: 09. Aug. 2006 13:35    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

Zitat:
Original erstellt von CADmium:
letzer Versuch:
Probier mal das Teil im Anhang.


So scheint´s zu gehen!

------------------
Gruß aus Wien
Bernhard

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

FeR
Mitglied



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

Beiträge: 150
Registriert: 27.10.2003


WinXP latest SP
AutoCAD 2008+germanExpressTools
SofiCAD, ProVI
HP xw4400 CoreDuo 2.4GHz 2GB RAM
NVIDIA Quadro NVS 285

erstellt am: 19. Jan. 2017 08:29    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 Bernhard GSD 10 Unities + Antwort hilfreich

Hallo CADmium,

ich habe das gleiche Problem wie Bernhard GSD dein ClearImages.VLX funktioniert bei mir jedoch nicht. Ist die Testversion zeitlich begrenzt?
Ich habe bis dato immer Deinen veröffentlichten Code verwendet habe nun aber bemerkt, dass ich auch Zeichnungen aufräumen muss wo geladene Bilder nicht gelöscht werden sollen.

Für Hinweise wie ich nach nicht gefundenen Images mit Lisp Suchen kann wäre mir auch schon ein Stück weit geholfen.

------------------
mfg
FeR
"gefundene Rechtschreibfehler dürfen behalten werden."

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 19. Jan. 2017 09:36    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 Bernhard GSD 10 Unities + Antwort hilfreich

Durch CADmium Quellcode oben siehst du ja bereit wo die Bild-Referenz Information steckt.
(entget(namedobjdict)) -> ACAD_IMAGE_DICT


Nun also alle Bildreferenzen durchgehen,
testen ob Datei unter gespeichertem Pfad vorhanden ist,
falls nicht, testen ob Bild über Supportpfade/aktuellen Pfad erreichbar ist (also findfile ohne Pfadangabe)
und zum Schluss nocht die schöne Möglichkeiten der relativen Pfad berücksichtigen.

Der Teil "wo suche ich nach der Bilddatei" ist die eigentliche Aufgabe für dich,
für relative Pfade mußt du also eine "Suchfunktion" entwickeln.

Wenn es in keinem Fall gefunden wird, Verweis löschen / siehe CADmium.

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

MKL--CAD
Mitglied
Technischer Zeichner

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

Beiträge: 8
Registriert: 03.09.2021

erstellt am: 15. Dez. 2022 14: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 Nur für Bernhard GSD 10 Unities + Antwort hilfreich


Endung.jpg

 
Ich versuche mich auch daran Bilder aus dem Bild-Manager zu löschen die in der Zeichnung nicht mehr verwendet werden. Finde es schon komisch das dass nicht mit dem Befehl bereinigen funktioniert. Arbeite mit Bricscad so man mit VLX Dateien nicht fiel anfangen kann. Besteht vielleicht die Möglichkeit die ursprüngliche lsp Datei in einen der Dateiarten, wie im Anhang zu sehen ist, zu speichern?

Arbeite nur gelegentlich mit Lisp und hab schon einen halben Tag gesucht und herumgetestet. Alles was ich gefunden habe führt mich nicht zum Ziel.


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)2023 CAD.de | Impressum | Datenschutz