Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Allgemein
  thumbnails auslesen

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
Autor Thema:  thumbnails auslesen (5931 mal gelesen)
crinuy
Mitglied
Student


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

Beiträge: 19
Registriert: 17.02.2005

erstellt am: 25. Jan. 2006 16: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 Zusammen,
ich hab keine Ahnung, ob ich hier in dem richtigen Forum gelandet bin, aber ich hoffe es doch mal. Und zwar werden doch im Windows Explorer, wenn man die Ansicht auf Miniaturansicht stellt, auch von Parts und products eine Miniaturansicht geliefert. Kennt von euch jemand eine Möglichkeit, diese Thumbnails zu extrahieren und als Bilddatei zu speichern? Mögliche Lösungen am besten in vb6, aber auch vb.net, C etc.
Bin für alles dankbar.
mfG, Christoph

[Diese Nachricht wurde von crinuy am 27. Jan. 2006 editiert.]

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


Ex-Mitglied



erstellt am: 25. Jan. 2006 16:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hallo crinuy,

schau doch mal hier rein:

http://ww3.cad.de/foren/ubb/Forum137/HTML/001521.shtml

Viele Grüße,

CEROG

------------------
Inoffizielle Linux-Hilfeseite
Meine Firma

Steffen Hohmann
Mitglied
 


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

Beiträge: 446
Registriert: 06.03.2002

erstellt am: 26. Jan. 2006 09: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 Nur für crinuy 10 Unities + Antwort hilfreich

Hallo Christop,

das Auslesen der Vorschaubilder ist eigentlich ganz einfach. Diese Bilder sind im CATIA-Dokument schon im JPG-Format gespeichert.
Jede JPG-Datei hat eindeutige Start-Bytes und End-Bytes. Diese sind immer gleich.
Also sucht man binär im CATIA-Dokument nach diesen Byte-Folgen und extrahiert diese dazwischenliegenden Bytes in eine Datei und schon hat man das Vorschaubild.

Hier der Code für die Extraktion (Ist nur der erste Schuß und kann sicherlich noch verbessert werden, insbesondere die Suche nach der Byte-Folge)

Sub Main()
    Const CATIAFile = "C:\MODELL_04.CATPart" ' CATIA-Dokument
    Const JPGFile = "C:\MODELL_04.jpg" 'Datei für Vorschaubild
   
    Const JPG_HEADER = "ÿØÿà" 'Byte-Folge für Anfang einer jpg-Datei
    Const JPG_END = "ÿÙ" 'Bytefolge für das Ende einer jpg-Datei
    Dim JPG_START_REC As Long
    Dim JPG_END_REC As Long
    Dim FileNumber As Integer
    Dim JPG_ARRAY() As Byte
    FileNumber = freefile
    Dim InputData As String
    InputData = String(4, " ")
    Open CATIAFile For Binary Access Read As #FileNumber
    Dim FileRec As Long
    FileRec = 1
    Do While Not EOF(1)
        Get #FileNumber, FileRec, InputData
        FileRec = FileRec + 1
        If InputData = JPG_HEADER Then JPG_START_REC = FileRec
        If JPG_START_REC <> 0 And Left(InputData, 2) = JPG_END Then
            JPG_END_REC = FileRec
            Exit Do
        End If
    Loop
    If JPG_START_REC <> 0 Then
        ReDim JPG_ARRAY(JPG_END_REC - JPG_START_REC + 1)
        Get #FileNumber, JPG_START_REC - 1, JPG_ARRAY
    Else
        MsgBox "Keine Vorschau in CATIA-Modell vorhanden!" 'Nicht alle CATIA-Dokumente haben ein Vorschaubild
    End If
    Close #FileNumber
    FileNumber = freefile
    Open JPGFile For Binary Access Write As #FileNumber
    Put #FileNumber, , JPG_ARRAY
    Close #FileNumber
End Sub

Gruß
Steffen

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

Izle
Mitglied
Anlagen und Vorrichtungskonstruktion


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

Beiträge: 22
Registriert: 28.07.2005

erstellt am: 26. Jan. 2006 21: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 crinuy 10 Unities + Antwort hilfreich

Hallo Steffen,
das ist ein sehr interessanter Code. Ich habe nur eine Frage. Was ist das für eine Skriptsprache? Ist oft schwer nachzuvollziehen, wenn man die Programmiersprache nicht kennt.

Gruss
Izle

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

Kai Knospe
Mitglied
Problemlöser


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

Beiträge: 27
Registriert: 27.01.2006

R18SP2 // XP SP2 auf HP xw4600<P>R16SP3 // HP-UX auf HP c8000

erstellt am: 27. Jan. 2006 07: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 crinuy 10 Unities + Antwort hilfreich


GetV5Preview.zip

 
ÿØÿà !?!

Ich fass´ es nicht!!!
ÿØÿà ist keine Bytefolge sondern eine Folge von ASCII-Zeichen nach der nicht gunbedingt gesucht werden sollte!!!

Wer wirklich sicher nach diesem Vorschaubild suchen will, sucht nach der Hexadezimalfolge "FF D8 FF" die den Start eines JPEG markieren. Das JPEG-Ende wird mit "FF D9" markiert.

Im Anhang ist mal ein kleines Windows-Tool angehängt, welches ich letztens als Weihnachtsgimmick im Bekanntenkreis verteilt habe ;-)

Gruß

Kai Knospe

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

Steffen Hohmann
Mitglied
 


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

Beiträge: 446
Registriert: 06.03.2002

erstellt am: 27. Jan. 2006 09:06    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 crinuy 10 Unities + Antwort hilfreich

@Izle: Das ist Visual Basic

@Kai Knospe:
Selbstverständlich ist "ÿØÿà" keine Bytefolge sondern eine Zeichenkette. Ich wollte hier auch nicht ein fertiges Programm anbieten, sondern einfach eine Idee aufzeigen, mit der man das angefragte Problem lösen kann. Dieses Stück Programm ist bei mir spontan in 10 Minuten entstanden. Ich hatte nicht Zeit, mich mit der ASCII-Tabelle auseinanderzusetzen, um die numerischen Werte zu ermitteln. Also kopierte ich die ersten Zeichen vom Texteditor in den VB-Editor.

So, für mehr muß ich mich ja wohl nicht entschuldigen.

Dafür, dass es Dein erster Beitrag ist, ist er nicht sonderlich gelungen.

Gruß
Steffen

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

Kai Knospe
Mitglied
Problemlöser


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

Beiträge: 27
Registriert: 27.01.2006

R18SP2 // XP SP2 auf HP xw4600<P>R16SP3 // HP-UX auf HP c8000

erstellt am: 27. Jan. 2006 14:20    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 crinuy 10 Unities + Antwort hilfreich

Dafür, dass es Dein erster Beitrag ist, ist er nicht sonderlich gelungen...

So ein Quatsch...und dann auch noch beleidigend werden...Hast einen IQ auf Höhe der Aussentemperatur???

Wichtig ist doch, zu wissen wie ein jpeg aufgebaut ist...wer keine Ahnung hat was er tut, sollte es lassen!!!

Dein Beispiel ist mitnichten in 10 minuten entstanden...das ist das typische Gelaber in diesem Forum!

Wer keinen Schimmer hat, programmiert tagelang irgendwas...und in der not hat es dann halt nur 5 minuten gedauert...wer gibt schon gern zu, dass er für den müll 2 Wochen gebraucht hat...

Aber zurück zum sachlichen Teil:

Es bietet sich an, die Datei in Basic binär zu öffnen und Byte-weise einzulesen:

Dim bByte As Byte
Dim bPicEnd As Boolean

Open "Part1.CATPart" For Binary Access Read As #1
Open "Part1.jpg" For Binary Access Write As #2

While Not EOF(1) And Not bPicEnd
Get #1,,bByte
If asc(bByte) = 255 Then ' FF
  Get #1,,bByte
  If asc(bByte) = 216 Then ' D8
  Get #1,,bByte
  If asc(bByte) = 255 Then ' FF
    'Image Header found, write Header
    Put #2,,chr(255)
    Put #2,,chr(216)
    Put #2,,chr(255)
    While Not EOF(1)
    Get #1,,bByte
    If asc(bByte) = 255 Then ' FF
      Get #1,,bByte
      Put #2,,bByte
      If asc(bByte) = 217 Then ' D9
      bPicEnd = True ' Picture End reached
      End IF
    Else
      Put #2,,bByte
    End If     
    Loop
Loop
Close #1
Close #2


Allein das Tippen, so rein aus dem Gedächtnis hat 20 Minuten gedauert...

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

crinuy
Mitglied
Student


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

Beiträge: 19
Registriert: 17.02.2005

erstellt am: 27. Jan. 2006 14:22    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 Zusammen,
erstmal vielen Dank fü die ganze Hilfe!
Werde heute wohl nicht mehr dazu kommen, das auszuprobieren, aber am Montag sollte es gehen.
mfg, Christoph

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

myTea
Mitglied
Ingenieur Fahrzeugtechnik


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

Beiträge: 1344
Registriert: 22.07.2002

Catia V6 2014

erstellt am: 27. Jan. 2006 14: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 Nur für crinuy 10 Unities + Antwort hilfreich

Hallo Kai,

jetzt mal halblang.
Dem Steffen nehm ich das schon ab dass er das in nur 10 Minuten gemacht hat. Von ihm kommen hier im Forum, gerade auch im Bereich Programmierung  viele sehr sehr gute Tips.
Ich fand das auch wieder einen sehr guten Tip deswegen 10U´s von mir. Es geht hier im Forum ja auch nicht darum anderen hier kostenlos fertige Lösungen anzubieten, sondern vorwiegend schnelle Tips geben die einem kurzfistig einfallen.

  Gruss,
    Thomas

------------------
www.ibm.com/innovation/de
www.supplier-collaboration-center.com

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

Steffen Hohmann
Mitglied
 


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

Beiträge: 446
Registriert: 06.03.2002

erstellt am: 27. Jan. 2006 14: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 crinuy 10 Unities + Antwort hilfreich

Von meiner Seite aus werde ich diese Diskussion nicht fortführen.
Schade, dass wir auf diese Niveau abgerutscht sind.

Gruß
Steffen

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