Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Wieder ein Screenshot-Problem

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:  Wieder ein Screenshot-Problem (1172 mal gelesen)
MarcDe
Mitglied



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

Beiträge: 137
Registriert: 11.10.2006

CATIA R18 SP2, BN 18, HF 162
Win 7 64Bit

erstellt am: 23. Okt. 2010 15:30    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,

da es hier im Forum hunderte CodeSnippets für Screenshots gibt und die Problematik wohl eher nur eine korrekter Methodenparameter ist, verzichte ich hier mal auf weitere Snippets.

Mein Problem ist folgendes: Ich habe ein Part und innerhalb des Parts befinden sich 8000 Wireframegeometrien an unterschiedlichen Positionen. Jetzt möchte ich von diesen 8000 Geometrien jeweils automatisch ein Screenshot machen und zwar so, dass auf jedem Screenshot die Geometrie jeweils komplett! drauf ist. Am besten noch in Iso-Ansicht.

Ich habe jetzt das Problem, dass ich PutOrigin und PutSightDirection etc. in dem 3DViewerObjekt füttern muss mit gescheiten Daten. Wie aber bekomm ich aus einer mehr oder weniger komplexen Wireframegeometrie einen Originpoint, so dass ich nachher die gesamte Geometrie auf dem Screenshot habe. Wenn ich in dem Viewer ein Reframe mache dann habe ich ja wieder ALLE Geometrien zentriert auf dem Bildschirm, ich möchte aber nur jeweils eine WF-Geometrie.

Prinzipiell wäre eine nachgebaute ReframeOn-Methode ideal, aber wie macht man das? Geht das überhaupt? Wenn ich einen Originpoint meinetwegen beispielhaft in die Nähe einer! WF-Geometrie gesetzt habe muss ich wieder den Abstand (ViewDistance) definieren in dem ViewPoint3D-Objekt und der kann von WF-Geo zu WF-Geo unterschiedlich sein. Und die "dreckige" Variante ein ReframeOn über eine Selection und StartCmd zu machen dauert einfach zu lange und ist zu instabil!

Hat da jmd eine Idee?

Vielen Dank schon mal...

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

gladly
Mitglied



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

Beiträge: 56
Registriert: 02.11.2007

Catia V5R19SP9HF40 64Bit
Windows XP Pro x64

erstellt am: 01. Nov. 2010 15:30    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 MarcDe 10 Unities + Antwort hilfreich

Hallo,

eine Idee die ich vorschlagen könnte wäre wie folgt vorzugehen. Aber wie gesagt nur eine Idee!

1. Alle gewünschten elemente suchen/selektieren. wie auch immer
2. Alle elemente ins Hide stellen
3. Elemente druchlaufen
3.1 aktuelles ins Show
3.2 (optional) Punkt Flächenschwerpunkt erzeugen (Formel von Typ Punkt...)
3.3 zum Punkt Zoomen, oder einfach FitAllIn aktivieren. Da nur das element zu sehen sein sollte, wir nur das groß auf den Bildschrm gezoomt.
3.4 Foto erzeugen
3.5 aktuelles wieder ins Hide
3.6 Nächsten Object weiter bei 3.

Eine Richtung kann man so zwar nicht angeben, aber wie soll er die auch automatisch erzeugen?! Oder es müsste ein Achsensystem zu jedem Object vorliegen welches man für die Positionierung nutzt!

Hoffe das war für dich nun kein vollkommen sinnloser Kommentar. Viel glück

mfg

gladly

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

MarcDe
Mitglied



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

Beiträge: 137
Registriert: 11.10.2006

CATIA R18 SP2, BN 18, HF 162
Win 7 64Bit

erstellt am: 05. Nov. 2010 22: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,

es ist nicht das Problem irgendwas ins noSHow oder Show zu stellen und auch nicht die Screenshots zu erzeugen. Es ist das Problem jede Wireframegeometrie zentriert und in seiner Gesamtheit zu fotografieren! FitAllIn kann ich nicht benutzen, weil es das ebenfalls nicht in der Standardschnittstelle gibt. Und die dreckige Varianten über StartCmd sind nicht stabil genug und Thread.Sleeps haben bei mir im Code nichts verloren, da einfach zu instabil. Wie gesagt, es geht um mehr als 8000 Screenshots, da muss was festes her. Mein bisheriger Stand ist mit der "FocusDistance" rumzuspielen, die abhängig von der "Größe" der Wireframegeometrie ist, aber das ist nicht 100% lückenlos. Ich brauche einfach ein ReframeOn!

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 06. Nov. 2010 10:53    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 MarcDe 10 Unities + Antwort hilfreich

Hallo,

du könntest noch dein Glück über SPAWorkbench versuchen.
Innerhalb einer CATPart hast du mit den Referenzerstellen keine Probleme mit CreateReferenceFromObject.
Wenn es eine beliebige Kurve ist, kannst du mit SPAWorkbench Schwerpunkt (COG), Startpunkt, Mittelpunkt, Endpunkt als Koordinaten messen. Die Größe und Ausdehnung einer Kurve kannst du damit relativ gut nachvollziehen.
Mit Measurable.GeometryName kannst du auch Abfragenm welche Art von Kurve das ist.
Wenn du auf diese Werte ein Regel findest um dein Bild zu positionieren, dann hast du dein Problem gelöst.

Gruß,
Zoltan

[Diese Nachricht wurde von zoltan.bekesi am 06. Nov. 2010 editiert.]

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 07. Nov. 2010 11:30    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 MarcDe 10 Unities + Antwort hilfreich

Servus
Also ein "ReframeOn" (von Hand) macht auch nichts anderes als alles bis auf ein Element ausblenden und dann
viewer3D.Reframe
(oder steh ich gerade auf dem Schlauch?).
Allerdings bleibt die Sichtrichtung immer konstant.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

MarcDe
Mitglied



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

Beiträge: 137
Registriert: 11.10.2006

CATIA R18 SP2, BN 18, HF 162
Win 7 64Bit

erstellt am: 14. Nov. 2010 22:27    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

Stimmt, dass mit dem Ausblenden ist prinzipiell eine gute Idee, nur fällt diese Weg, da es tausende von Elementen gibt und alle irgendwo in irgendwelchen Sets liegen. Es ist also praktisch unmöglich oder das SUchen und Ausblenden dauert eine Stunde.

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

CAMiCADse
Mitglied



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

Beiträge: 177
Registriert: 17.02.2006

V5,R19,SP9

erstellt am: 15. Nov. 2010 08: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 MarcDe 10 Unities + Antwort hilfreich

Hallo MarcDe,

wenn du die Routine zum ein/ausblenden so optimierst, daß die Anzahl der Elemente, die ein/ausgeblendet werden müssen, minimal ist, geht es doch recht schnell (2-3 Bilder/s sollten drin sein).

Gruß
CAMiCADse

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