Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Daten für IMAGE über DXF auswerten

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:  Daten für IMAGE über DXF auswerten (900 mal gelesen)
Peter2
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3701
Registriert: 15.10.2003

Win 10/64 Pro
AutoCAD MAP 3D 2018
BricsCAD 22

erstellt am: 07. Sep. 2004 11: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

In einer (Beispiel)Zeichnung zeigt mir der "Bildmanager" 6 Bilder;

4 haben den Status "nicht referenziert"
1 ist "geladen"
1 ist nicht gefunden

Die beiden letzten bekomme ich mit (ssget "_X" '((0 . "IMAGE"))) raus, aber ich hätte gerne über Autolisp aus 100ten Zeichnungen die Information, die auch im Bildmanager steht:

- Name des Bildes
- Pafdangabe des Bildes
- Status (siehe oben)

Wo sind diese Infos gespeichert, gibt es eventuell ein Tool?

Danke

Peter

------------------
Für jedes Problem gibt es eine einfache Lösung.
Die ist aber meistens falsch. ;-)

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: 07. Sep. 2004 11:40    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 Peter2 10 Unities + Antwort hilfreich

Guck mal auch hier.
Zu beachten ist, das (ssget "_x"..) nur das aktuelle Layout absucht.

Schöner ist vielleicht:
(vlax-for LAYOUT (vla-get-layouts(vla-get-activedocument(vlax-get-acad-object)))
  (vlax-for ITEM (setq BLOCK (vla-get-Block LAYOUT))
    (if(=(strcase(vla-get-objectname  ITEM)) (strcase "AcDbRasterImage"))
      (progn         
          ;; oder hier , welche informationen du willst
        (vlax-dump-object ITEM)
        (princ "\n\n")
      ) 
    )           
  )
)

------------------
- Thomas -

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 07. Sep. 2004 12:03    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 Peter2 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Peter2:
...aber ich hätte gerne über Autolisp aus 100ten Zeichnungen ...

Einfachste Lösung, du schreibst ein Script, welches dir die Zeichnungen öffnet und dann die Lispdatei lädt und dann auch startet.

Somit brauchst du nicht über Lisp die ganzen Zeichnungen durchhecheln. Brauchst also nur ein Tool, welches dir die Infos aus einer Zeichnung in z.B. eine ASCII-Datei schreibt.

Eine Erleichterung wäre noch, dass du ein Programm schreibst, welches dir das Script schreibt.

Im Kern brauchst du dazu die Befehle:
open
close
write-line
vl-directory-files
... und natürlich die Code-Zeilen der Tools, die in Cadmiums Beitrag bzw in dem Beitrag, auf den CADmium hingewiesen hat, zu finden sind.

Bei Fragen ...

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

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

Schachinger
Ehrenmitglied V.I.P. h.c.
Konstrukteur



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

Beiträge: 2040
Registriert: 08.04.2002

erstellt am: 07. Sep. 2004 12: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 Peter2 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von CADmium:
[B...
Zu beachten ist, das (ssget "_x"..) nur das aktuelle Layout absucht...[/B]

also bei mir bekomm ich einen auswahlsatz der unabhängig von layout/modellbereich ist... oder wär das eine besonerheit bei images?? *grübel*

hab diverse lisproutinen die mit ssget linien/texte in mehreren layouts behandeln.... funkt auch.

------------------
mfg Siegfried Schachinger
http://www.tbschatz.at

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

Schachinger
Ehrenmitglied V.I.P. h.c.
Konstrukteur



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

Beiträge: 2040
Registriert: 08.04.2002

AIS2009, PDSU 2012-2015, Plant 3D 2011-2015, NavisWorks 2010-2015, Win7 64bit SP1, Intel Core i7 870, 16 GB RAM, Quadro 2000D

erstellt am: 07. Sep. 2004 12:12    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 Peter2 10 Unities + Antwort hilfreich

@peter http://ww3.cad.de/foren/ubb/Forum145/HTML/000566.shtml

hier findest du was wie du mehrere zeichnugen mit einem scribt behandeln kannst (batch).

verwende ich auch des öfteren!

------------------
mfg Siegfried Schachinger
http://www.tbschatz.at

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

Peter2
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3701
Registriert: 15.10.2003

Win 10/64 Pro
AutoCAD MAP 3D 2018
BricsCAD 22

erstellt am: 07. Sep. 2004 12:18    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

Herzlichen Dank an beide für die rasche Antwort:

@Holger:
Das Script habe ich passabel im Griff.
Zu deinem Programm eine Frage: Bei Zeichnungen, die in die DWG hybrid geladen sind, wird der IMGFILE_PATH zu "", und (vl-filename-extension IMGFILE_PATH) wird zu NIL. Damit bleibt er bei Strcat hängen. Aber das nur als Anmerkung - für mich reicht der Code bis dorthin.

@Thomas:
wie immer blitzschnell, leistungsstark und kompakt. Mein Problem sind meine Lücken in den vlax-Funktionen und die Frage, wie ich die aus dem DUMP die Info IMAGEFILE und NAME als String herauskriege.

@beide:
Die Bilder mit Status "nicht referenziert" (also gar nicht da ..) werden hier nicht gefunden. Kann man die irgendwie auflisten (für Ausgabe in eine Datei)?

Peter

------------------
Für jedes Problem gibt es eine einfache Lösung.
Die ist aber meistens falsch. ;-)

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: 07. Sep. 2004 12: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 Peter2 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Schachinger:
also bei mir bekomm ich einen auswahlsatz der unabhängig von layout/modellbereich ist... oder wär das eine besonerheit bei images?? *grübel*

hab diverse lisproutinen die mit ssget linien/texte in mehreren layouts behandeln.... funkt auch.


.. na dann streich das, hab da was verwechselt.. 

------------------
- Thomas -

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: 07. Sep. 2004 12: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 Peter2 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Peter2:
.. wie ich die aus dem DUMP die Info IMAGEFILE und NAME als String herauskriege...


z.B. (auch wenn die Variablenzuordnung in der Schleife keinen Sinn macht)

(vlax-for LAYOUT (vla-get-layouts(vla-get-activedocument(vlax-get-acad-object)))
  (vlax-for ITEM (setq BLOCK (vla-get-Block LAYOUT))
    (if(=(strcase(vla-get-objectname  ITEM)) (strcase "AcDbRasterImage"))
      (progn         
        (setq NAME (vla-get-name ITEM))
        (setq FILE (vla-get-ImageFile ITEM))
      ) 
    )           
  )
)


------------------
- Thomas -

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

Peter2
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3701
Registriert: 15.10.2003

Win 10/64 Pro
AutoCAD MAP 3D 2018
BricsCAD 22

erstellt am: 07. Sep. 2004 13: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

Moin,

lass dir drücän ... - optimal.

Mit der Schleife schreibe ich dann Name und Pfad in eine Protokolldatei - supääääär

Peter

------------------
Für jedes Problem gibt es eine einfache Lösung.
Die ist aber meistens falsch. ;-)

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