Autor
|
Thema: Broken View-Funktion (3233 mal gelesen)
|
Hamlet Mitglied Konstruktions- und Entwicklungsingenieur
Beiträge: 57 Registriert: 14.05.2013 Catia V5 R21 Windows 7 64bit using: Microsoft Visual Basic
|
erstellt am: 05. Feb. 2014 06:53 <-- editieren / zitieren --> Unities abgeben:
Moin, ich bin derzeit dabei, in 2D hinzugefügt Components auszulesen und ihre Koordinaten mit 3D-Elementen zu vergleich. Das funktioniert auch super, egal welcher View-Typ, oder Clipping, etc. ABER: Wenn beispielsweise eine lange Schiene dargestellt wird und ich diese mit "Broken View" einkürze (damit nicht zu viel gezeigt wird) dann verändert dies meine Koordinaten für die 2D-Components. Diese sind jetzt nicht mehr mit 3D vergleichbar, da das weggeschnittene Stück, als Offset fehlt. Frage: Gibt es eine Möglichkeit im Makro nach dem Element einer "Broken View" pro angezogener View zu suchen UND wenn das der Fall sein sollte, kann ich zudem herausfinden, wie groß dieser Offset durch die "Broken View"-Funktion ist? Gruß Hamlet Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 05. Feb. 2014 14:57 <-- editieren / zitieren --> Unities abgeben: Nur für Hamlet
Servus Hamlet leider gibt die Doku nichts her wie man einen BrokenView ausließt oder ändert (neu anlegen geht per Makro). Der Offset kann grob (gemäß meiner Signatur) ermittelt werden: - Abmessungen der Ansicht ermitteln - BrockenView entfernen - Abmessungen der Ansicht ermitteln - per Undo BrokenView wieder herstellen. Die Lage bekommt man so aber nicht heraus. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hamlet Mitglied Konstruktions- und Entwicklungsingenieur
Beiträge: 57 Registriert: 14.05.2013 Catia V5 R21 Windows 7 64bit using: Microsoft Visual Basic
|
erstellt am: 06. Feb. 2014 06:39 <-- editieren / zitieren --> Unities abgeben:
Hi Bernd, danke erstmal für die Antwort. Wenn ich eine BrokenView nicht auslesen kann, wie kann ich diese dann per Makro entfernen? (Bzw. erstmal ermitteln, dass es überhaupt eine in der View gibt?) Da ich pro 3D Geometrie 1-8 Zeichnungen habe, sollen diese ja nicht händisch durchgesucht werden. Wenn das allerdings gar nicht erst geht, dann muss ich wohl eingangs lieber gleich einen Warnhinweis einbauen. Gruß Hamlet Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 06. Feb. 2014 07:07 <-- editieren / zitieren --> Unities abgeben: Nur für Hamlet
Servus Hamlet Zu 1) entfernen geht mit ".GenerativeBehavior.UnBreak" zu 2) gute Frage, keine Ahnung wie man ermitteln kann das eine BrokenView vorhanden ist. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hamlet Mitglied Konstruktions- und Entwicklungsingenieur
Beiträge: 57 Registriert: 14.05.2013 Catia V5 R21 Windows 7 64bit using: Microsoft Visual Basic
|
erstellt am: 06. Feb. 2014 08:20 <-- editieren / zitieren --> Unities abgeben:
Hi Bernd, ich hab mir mal die von dir genannte Funktion angesehen. In der Hilfe steht, dass ein Breakout entfernt wird, sofern einer da ist. Gibt es eine Möglichkeit (ohne Größe der View auszulesen) die Funktion im Nachhinein anzusprechen und zu fragen, ob überhaupt was gemacht wurde? Ich meine, "unbreak" macht nur was, wenn auch ein "break" da ist. Also muss zumindest Catia das erkennen. (auch wenn es für uns vll. keine Möglichkeit gibt durch das selbe Schlüsselloch zu gucken) Aber möglicherweise kann man nachfragen ob eine Funktion ausgeführt wurde, oder ob diese einfach übersprungen wurde, da kein "break" vorhanden war. Gruß Hamlet Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 06. Feb. 2014 08:46 <-- editieren / zitieren --> Unities abgeben: Nur für Hamlet
Servus Ich befürchte dass man die Änderung nur aus einem Vergleich (zB Größe der Ansicht) Vorher/nachher feststellen kann. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hamlet Mitglied Konstruktions- und Entwicklungsingenieur
Beiträge: 57 Registriert: 14.05.2013 Catia V5 R21 Windows 7 64bit using: Microsoft Visual Basic
|
erstellt am: 06. Feb. 2014 09:25 <-- editieren / zitieren --> Unities abgeben:
Hmm ok, ich hab das mal mit der ".size"-Funktion versucht. Dim xy(4) as double oview.size xy 'oview ist meine view mit einem break Xmin = xy(0) Xmax = xy(1) Ymin = xy(2) Ymax = xy(3) Leider bekomme ich den Fehler: (markiert wird ".size") "Compile error: Function or interface marked as restricted, or function uses an Automation type not supported in Visual Basic" Gibt es in Visual Basic eine Besonderheit, die ich nicht kenne/beachtet habe? Gruß Hamlet Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 06. Feb. 2014 09:27 <-- editieren / zitieren --> Unities abgeben: Nur für Hamlet
|
Hamlet Mitglied Konstruktions- und Entwicklungsingenieur
Beiträge: 57 Registriert: 14.05.2013 Catia V5 R21 Windows 7 64bit using: Microsoft Visual Basic
|
erstellt am: 06. Feb. 2014 09:47 <-- editieren / zitieren --> Unities abgeben:
|
Hamlet Mitglied Konstruktions- und Entwicklungsingenieur
Beiträge: 57 Registriert: 14.05.2013 Catia V5 R21 Windows 7 64bit using: Microsoft Visual Basic
|
erstellt am: 06. Feb. 2014 13:03 <-- editieren / zitieren --> Unities abgeben:
Problem gefunden! Array war als double definiert. MIt "variant" geht es jetzt. Aber wie kann ich den Befehl ".unbreak" rückgängig machen. Man braucht zwar einfach nicht speichern, aber gibt es auch soetwas wie ".undo"? Gruß Hamlet [Diese Nachricht wurde von Hamlet am 06. Feb. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hamlet Mitglied Konstruktions- und Entwicklungsingenieur
Beiträge: 57 Registriert: 14.05.2013 Catia V5 R21 Windows 7 64bit using: Microsoft Visual Basic
|
erstellt am: 10. Feb. 2014 13:20 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 10. Feb. 2014 13:48 <-- editieren / zitieren --> Unities abgeben: Nur für Hamlet
Servus Schau mal hier. Gruß Bernd EDIT: Link korrigiert. ------------------ Warum einfach, wenn es auch kompliziert geht. [Diese Nachricht wurde von bgrittmann am 10. Feb. 2014 editiert.] [Diese Nachricht wurde von bgrittmann am 10. Feb. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hamlet Mitglied Konstruktions- und Entwicklungsingenieur
Beiträge: 57 Registriert: 14.05.2013 Catia V5 R21 Windows 7 64bit using: Microsoft Visual Basic
|
erstellt am: 10. Feb. 2014 14:38 <-- editieren / zitieren --> Unities abgeben:
|