| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
 | erp4cad: Das ERP für komplexe CAD-Projekte!, eine Pressemitteilung
|
Autor
|
Thema: benannte Ansicht parametrisieren (2766 mal gelesen)
|
crob08 Mitglied

 Beiträge: 43 Registriert: 17.07.2005
|
erstellt am: 27. Jan. 2009 10:38 <-- editieren / zitieren --> Unities abgeben:         
Hallo, habe mal wieder ein kleines Problem. Ich würde gerne in einen Versuchsaufbau eine Kamera integrieren und von dieser auch eine Ansicht erzeugen. Leider muss man bei den "benannten Ansichten" die Koordinaten immer per Hand eingeben, würde dieses aber gerne Parametrisieren. Ist das irgendwie möglich? Vielleicht mithilfe eines Makros o.ä.? Vielen Dank schonmal im Voraus. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Ehrenmitglied V.I.P. h.c. Manager
     
 Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 28. Jan. 2009 08:49 <-- editieren / zitieren --> Unities abgeben:          Nur für crob08
Hallo crob, könntest du ev. ein bisschen mehr in Detail gehen? Wie genau willst du den die neue View parametrisieren. Das geht schon mit einem Makro aber keiner weiß wie du die View parametrisieren willst. ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
crob08 Mitglied

 Beiträge: 43 Registriert: 17.07.2005
|
erstellt am: 28. Jan. 2009 09:31 <-- editieren / zitieren --> Unities abgeben:         
Hi Denyo, sorry, ich muss zugeben, dass die Frage lieblos und in Zeitnot verfasst wurde  Also dann nochmal ausführlicher zu meinem Problem: Im Anhang findet ihr ein Bild des Problems. Hier habe ich quasi einen Teil eines Versuchsaufbaus mit 2 Kameras (weißen Punkte), einem Messfeld (grüne Fläche im Schnitt der beiden Strahlen) und Referenzbilder (grau Fläche). Wie man links am Rand leicht sieht, habe ich mehrere Parameter. Unter Anderem welche um die 3 Raumkoordinaten jeder Kamera festzulegen und ebenfalls 3 Koordinaten, die ein Ziel bestimmen. Bei der Ansichtsdefinition in CATIA ist es ja nun leider so, dass man mit der rechten Maustaste nicht wie üblich eine Formel für die 3 Koordinaten anlegen kann, sondern mühsam per Hand eintippen muss. Mein Wunsch wäre es nun, diese ohnehin gegebenen Parameter mittels irgendeiner Beziehung/Formel mit der Ansicht zu verknüpfen. Kenne mich nun leider auch nicht wirklich mit der Makroprogrammierung aus. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Ehrenmitglied V.I.P. h.c. Manager
     
 Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 28. Jan. 2009 11:16 <-- editieren / zitieren --> Unities abgeben:          Nur für crob08
Hallo crob, ok jetzt versteht man das Problem schon ein wenig mehr . Die Koordinaten der Kamera lassen sich nicht parametrisieren (das hast du ja schon festgestellt). Das liegt daran, das die Koordinaten der Karmera keine eigenen Parameter im Part darstellen sondern eher Parameter des Fensters sind. Diese kannst du aber nicht über die Part-Parameter, ABER übr ein Makro steuern. Das Makro macht nun folgende Schritte 1. Lesen der Koordinaten aus den Parameter 2. Die Karmera verfügbar machen 3. Die Koordinaten der Parameter an die Karmera übergeben 4. Die View (also der Fensterinhalt) wird gleich aktualisiert Damit das jetzt schön funktioniert ist eine KWA Lizenz erforderlich (nicht zwingend notwenidg aber dann muss das Makro immer per Hand gestartet werden). Ist diese Lizenz verfügbar, wird das Makro innerhalb einer Reaktion aufgerufen. Die Reaktion wird ausgelösst sobald ein Parameter geändert wird. Schau dir mal das CATPart hier an (R16). Ich hoffe du hast eine KWA-Lizenz (nutzen kannst du Reaktion auch ohne die Lizenz aber du kannst sie nicht erstellen und somit das Makro nicht auf deine Bedürftnisse umschreiben ). Sobald du einen Wert (X,Y,Z) der Kamera änderst (in der Parametern) wird auch die CARMERA 1 die sich im Part befindet geändert (nur die OrginPoints. Die Zielkoordinaten könnten aber auch noch geändert werden). ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
crob08 Mitglied

 Beiträge: 43 Registriert: 17.07.2005
|
erstellt am: 28. Jan. 2009 13:31 <-- editieren / zitieren --> Unities abgeben:         
Hi denyo, vielen Dank für deine Mühen. Habe gerade mal dein Part ausgetestet und bin sehr begeistert. Eine KWA-Lizenz ist vorhanden, so dass ich jetzt versuchen werde, die Zielkoordinaten ebenfalls zu ändern. Mal schauen, wie weit ich mit meinen nicht vorhandenen VB-Kenntnissen komme.  Eine weitere Frage besteht trotzdem noch. Durch die 6 Koordinaten bleibt ja leider noch 1 Freiheitsgrad übrig, nämlich die Rotation um die Verbindungslinie Kamera <-> Ziel. Lässt sich dafür eine Bedingung festlegen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Ehrenmitglied V.I.P. h.c. Manager
     
 Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 28. Jan. 2009 13:34 <-- editieren / zitieren --> Unities abgeben:          Nur für crob08
Hallo, IMHO kann man diesen Freiheitsgrad nicht eindämmen. Die Rotation einer Karmera ist in CATIA nicht definiert und kann somit auch nicht durch einen Parameter bzw. eine Eingabe abgefangen werden. ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
crob08 Mitglied

 Beiträge: 43 Registriert: 17.07.2005
|
erstellt am: 28. Jan. 2009 15:32 <-- editieren / zitieren --> Unities abgeben:         
Hallo nochmal, @ denyo: Hast du einen nützlichen Link, wo man die ganzen Übergabeparameter für CATIA findet? z.B. wie für die Zielkoordinaten, den Kameratyp (Perspektive, Parallel) und den Blickwinkel. Du hattest ja mit >>>>>>>>>>>>>>>>>myViewPoint.PutOrigin CamPoints<<<<<<<<<<<<<<<<<<<<<<<< die Koordinaten der "Kamera" übergeben. Was müsste da also stehen, damit ich auch die Zielkoordinaten übergebe? Hatte es mit PutPoint versucht, aber erfolglos.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Ehrenmitglied V.I.P. h.c. Manager
     
 Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 28. Jan. 2009 15:50 <-- editieren / zitieren --> Unities abgeben:          Nur für crob08
Hi, das ganze steht in der V5Automation.chm Datei die sich innerhalb deines Installationspfades (von CATIA) befindet. Das ist die Hilfe für die Programmierer. Hier kannst du mal unter Viewpoint3D suchen und dir dann innerhalb des Objekts (Viewpoint3D) die einzelnen Methoden und Klassen anschauen. Bei den Zielkoordinaten war ich eben ein wenig zu schnell. Ich bin mir nicht mehr sicher ob und wenn ja wie man sie ändern kann. Musst dich halt mal durchwühlen. ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
crob08 Mitglied

 Beiträge: 43 Registriert: 17.07.2005
|
erstellt am: 29. Jan. 2009 10:38 <-- editieren / zitieren --> Unities abgeben:         
So, ich habe jetzt eine Möglichkeit gefunden, wie man einen Viewpoint definiert. (ich habe in den Anhang zur Darstellung die Abbildung aus der V5Automation.chm gestellt) Demnach wird der Viewpoint durch einen Ursprung (Origin) und 2 Richtungen (SightDirection und UpDirection) definiert. Ich habe versucht das Makro von denyo um die Sightdirection zu erweitern, jedoch fehlt mir dann noch die UpDirection. Dafür habe ich den Kamerapunkt mit den Zielkoordinaten mittels einer Linie verbunden und auf diese in einem 90°Winkel ebenfalls wieder eine Linie definiert, auf der ein Punkt "Punkt.10" liegt. Somit liese sich der Origin (Kamerakoordinaten), die Sightdirection (Richtung zu Zielkoordinaten) und die UpDirection (Richtung zum Punkt.10) definieren und anschließend ein Viewpoint erzeugen. Leider fangen dann auch schon die Probleme bei mir an. Ich habe hier im Forum einige Beiträge gefunden, wie die Koordinaten eines Punktes ausgelesen werden können (GetCoordinates), aber es nicht geschafft, dieses auch in meinem Makro zu realisieren. Vielleicht könnte mal einer von euch drüberschauen und findet den Fehler. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
crob08 Mitglied

 Beiträge: 43 Registriert: 17.07.2005
|
erstellt am: 29. Jan. 2009 10:46 <-- editieren / zitieren --> Unities abgeben:         
|
crob08 Mitglied

 Beiträge: 43 Registriert: 17.07.2005
|
erstellt am: 11. Mrz. 2009 17:11 <-- editieren / zitieren --> Unities abgeben:         
Hallo, leider treten neue Probleme auf, die ich schon seit mehreren Tagen nicht bewältigt bekomme. Das Handlen von EINER benutzerdefinierten Ansicht ist jetzt für mich kein Problem mehr und so versuchte ich eine weitere Ansicht einzufügen, die ebenfalls durch Parameter gesteuert werden soll. Denyo hatte ja ein sehr gutes Beispiel für eine mögliche Reaktion geschrieben, die meine Ansichten bei Änderung vorher definierter Parameter aktualisiert. Leider meckert sie (KATJA) immer: ---------------------------------- Die Scriptmaschine für CATScript hat den folgenden Fehler gemeldet: Quelle: CATIACameras Beschreibung: Das Verfahren Item ist fehlgeschlagen Linie: 109 Spalte: 4 ---------------------------------- Linie 109 ist: Set myCam2 = oCams2.Item("Kamera2") Kann mir jemand dazu einen Tipp geben? Ich denke mal, dass der Fehler irgendwo in der falschen Adressierung liegt, aber ich habe bis dato keine andere finden können. Vielen Dank schonmal im Voraus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 11. Mrz. 2009 19:14 <-- editieren / zitieren --> Unities abgeben:          Nur für crob08
Servus Gibt es die Kamera 2 schon? Wäre es nicht sinnvoller die Kameras über den Index (nicht der Namen) anzusprechen? Du schreibst was von einer Schleife, aber im Code befindest sich keine. Hier ein Bespiel (ungetestet) Code: Set oCams = oPart.CamerasFor i = 1 to oCams.count Set myCam = oCams.Item(i) '**mach was mit der Kamera next
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
crob08 Mitglied

 Beiträge: 43 Registriert: 17.07.2005
|
erstellt am: 12. Mrz. 2009 15:20 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ja genau das schien der Fehler gewesen zu sein. Seltsam nur, dass es für die "Camera 1" ging, aber egal. Die Nutzung einer Schleife ist natürlich sehr vorteilhaft und macht die Rechnung schneller und übersichtlicher. Da ich für jede Kamera Punkte einlesen muss, wäre es von Vorteil auch diese Abfrage in die Schleife zu integrieren. Wie kann ich denn in dem folgenden Pfad die "1" durch eine Laufvariable ersetzen? oBodies.Item("Kamera 1").HybridShapes.Item("Linsenmitte").getcoordinates LensePoint meine Idee war: oBodies.Item("Kamera ",I,"").HybridShapes.Item("Linsenmitte").getcoordinates LensePoint aber (natürlich) ohne Erfolg. Daher die Frage an euch, wie man das hinbekommt... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 12. Mrz. 2009 15:49 <-- editieren / zitieren --> Unities abgeben:          Nur für crob08
Servus Vielleicht so? Code: Dim Kameraname as String Kameraname = "Kamera " & i oBodies.Item(Kameraname).HybridShapes.Item("Linsenmitte").getcoordinates LensePoint
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
crob08 Mitglied

 Beiträge: 43 Registriert: 17.07.2005
|
erstellt am: 02. Apr. 2009 17:58 <-- editieren / zitieren --> Unities abgeben:         
Hallo, @ Bernd: Vielen Dank für den Tipp, das funktioniert auch super. Wieso zoomt CATIA allerdings aus dem Bild raus? Ich habe das Problem mal als Bild angehängt. Dabei ist der hellblaue Rahmen das korrekte Sichtfenster, auf das ich sehen möchte und die Darstellung ist auch korrekt, allerdings ist dieses Sichtfenster ja nur ein kleiner Teil meines kompletten Screens. Ich bräuchte allerdings den "Zoomfaktor" oder den prozentualen Anteil des richtigen Sichtfensters zum Bild. Kennt den jemand oder kann mir jemand sagen, wie ich das Problem anders lösen kann? Schöne Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |