| |
 | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 |
| |
 | KISTERS 3DViewStation: 3D-Visualisierung für After Sales, Service und Ersatzteile, eine Pressemitteilung
|
Autor
|
Thema: Bohrungen auf einer Fläche mit vorgegebenem Randabstand - Makro möglich? (2689 mal gelesen)
|
thomau96 Mitglied Konstrukteur

 Beiträge: 43 Registriert: 18.10.2005 Catia V5 R19
|
erstellt am: 12. Sep. 2009 13:14 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich stehe vor dem Problem, dass ich in viele Quader welche als einzelne Parts in einem Product positioniert sind gleiche Bohrungen einbringen muss. Bisher bin ich so vorgegangen, dass ich zur Positionierung einer Bohrung 2 Kanten und die entsprechende Fläche eines Quaders ausgewählt und anschließend die Bohrung an sich definiert habe. Dieser Schritt musste natürlich bei jedem Quader und jeder Bohrung einzeln wiederholt werden. Nun meine eigentliche Frage: Lässt sich dieser Vorgang durch ein Makro automatisieren? Idealerweise würde es so arbeiten, dass es nach dem Auswählen von 2 Kanten und einer Fläche die Bohrungen mit einem Randabstand von x/y mm anbringt. Dies sollte bei allen Parts im Product ermöglicht werden. Leider hab ich bis jetzt noch nie mit Makros gearbeitet, einen "Schnellkurs" zur Verwendung hab ich leider noch nicht finden können. Hab es auch schon mit der Aufzeichnung eines Makros probiert, allerdings bezieht es sich bei der neu einzufügenden Bohrung wieder auf die urspüngliche Position der ersten Bohrung. Hab das entstandene Makro als txt Datei angehängt. [Diese Nachricht wurde von thomau96 am 12. Sep. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. 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: 12. Sep. 2009 16:45 <-- editieren / zitieren --> Unities abgeben:          Nur für thomau96
Hallo thomau96  , na sicher lässt sich das automatisieren. IMHO gibt es hier nur zwei Probleme. Erstens dein Problem st doch ein wenig spezieller und mit dem Makrorecorder kommst du auf keinen Fall weiter. Jetzt beschreibe ich erstmal meine Vorgehensweise wie ich das lösen würde. 1. Anwender startet das Makro 2. Der Anwender gibt mit einer InputBox den X- und Y-Abstand der Kanten ein und optinal die Tiefe der Bohrung 3. dies läuft in eine Schleife durch alle Produkte (also Parts eines Produkts) 4. Innerhalb der Schleife gibt es drei Selektionen -> Selektion der ersten Kante (B-Rep) über ein SelectElement2 (als Typ "RectilinearTriDimFeatEdge") -> Selektion der zweiten Kante (wie erste Kante) => Übergabe an zwei Objekte (jeder Objekt stellt eine Kante dar (Referenz für die Bohrung) -> Selektion der Fläche auch über SelectElement2 (als Type "PlanarFace") 5. Mit diesen drei Selektionen und den X- und Y-Wert aus Punkt 2 kann ich die Bohrung erstellen (wie auch in deinem aufgezeichneten Script Jetzt zum 2ten Problem: Wenn du ein SelectElement2 machst dann kannst du innerhalb des Produktes z.B. jede Kante selektieren. Du darfst aber nur die Kante selektieren die auch zum gerade bearbeiteten Part gehört. Hier ist mein Problem. IMHO habe ich gerade keine Lösung um diese Fehlerquelle auszuschließen außer alle Parts bis auf das was gerade bearbeitet wird ins NoShow zu stellen. Vielleicht habe ich morgen mal 20 Minuten zweit dir das zu Programmieren. Versprechen kann ich aber nichts ------------------ MFG Daniel Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomau96 Mitglied Konstrukteur

 Beiträge: 43 Registriert: 18.10.2005 Catia V5 R19
|
erstellt am: 12. Sep. 2009 17:53 <-- editieren / zitieren --> Unities abgeben:         
Hallo Daniel, vielen Dank für deine Antwort! Das ganze scheint doch komplizierter zu sein als ich gedacht habe. Leider ist es sehr zeitaufwändig, bei vielen Blöcken jeweils 2 Zentrierbohrungen und 2 Gewindebohrungen einzubringen, da ja auch die Parameter jeder Bohrung Part für Part wieder eingestellt werden müssen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. 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: 13. Sep. 2009 12:59 <-- editieren / zitieren --> Unities abgeben:          Nur für thomau96
Hallo, ich frage jetzt nochmal kurz nach weil ich das so wie´s aussieht morgen in meiner Mittagspause kurz runterprogrammieren werden. Da hast pro Block jeweils 4 Bohrungen? Oder meinst du du hast 2 Bohrungen mit Gewinden? Die Randabstände (also Abstand in X- und Abstand in Y-Richtung der selektierten Kanten) sind in allen Blöcken gleich (sprich du willst sie definitiv nicht für jeden Block einzeln eingeben können (nicht mal die Möglichkeit soll bestehen?) Das Makro läuft NUR auf Windows oder auch auf UNIX? Wie oft setzt du das Makro ein? Die Begründung zu den Fragen : Die ersten beiden sind ja klar (hoffe ich). Zu der zweiten kann ich sagen wenn du in jedem Block den selben Abstand haben willst dann gibt es eine Eingabemöglichkeit. Diese ist bevor das Makro in die Schleife durch die Part´s läuft. Innerhalb der Schleife besteht dann keine Möglichkeit mehr ein "Ausnahmeblock" zu definieren außer du verschiebst nach dem Ablauf des Makro die Bohrung per Hand. Wenn das Makro auch auf UNIX laufen soll dann muss es ein CATScript sein. Das ist IMHO für deine Problematik nicht schön da du nur mit InputBoxen arbeiten kannst. Diese haben das Problem das sich der Datentyp (also ob du jetzt eine "10.2" oder eine "10,2" oder ein "a" reinschreibst) nicht sauber von einem "Cancel" der Box trennen lassen. Das heißt es existiert eine Fehlerquelle Zur letzten Frage ist zu sagen...Wenn du das öfters einsetzen bzw. hier noch jemand an einem solchen Teil gefallen findet oder es irgendwie einsetzen kann dann mach ich daraus ein *.CATvba (vorausgesetzt du arbeitest nur mit Windows). Hier gibts dann eine UserForm (die sieht genauso aus wie die Definition der Bohrung aus CATIA nur oben wird sie um ein Stück erweitert. In diesem erweiterten Feld stehen wie bei einem SendTo Befehl die Parts die bearbeitet werden können oben und die die das Makro bearbeitet unten. Der User kann also erst die Parts auswählen die er bearbeiten möchte, gibt dann seine Parameter (kann man so gestalten das man Sie für alle angibt, aber einzelne Parts explizit bearbeiten kann) und dann läuft das Makro in die Schleife) Das lohnt sicher aber nur wenn auch ein Interesse besteht weil ich morgen in der Mittagspause nicht alzuviel Zeit habe ------------------ MFG Daniel Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomau96 Mitglied Konstrukteur

 Beiträge: 43 Registriert: 18.10.2005 Catia V5 R19
|
erstellt am: 13. Sep. 2009 20:27 <-- editieren / zitieren --> Unities abgeben:         
Hallo Daniel, zur Beantwortung deiner Fragen: - Da hast pro Block jeweils 4 Bohrungen? Oder meinst du du hast 2 Bohrungen mit Gewinden? Die Blöcke haben jeweils 2 einfache Bohrungen und 2 Gewindebohrungen. Die Bohrungen liegen jeweils diagonal gegenüber. Die Blöcke werden mit einer Grundplatte verstiftet und verschraubt. - Die Randabstände (also Abstand in X- und Abstand in Y-Richtung der selektierten Kanten) sind in allen Blöcken gleich (sprich du willst sie definitiv nicht für jeden Block einzeln eingeben können (nicht mal die Möglichkeit soll bestehen?) Wenn es möglich ist, die Abstände jeweils einzeln einzugeben (Eingabebox) wäre das optimal! - Das Makro läuft NUR auf Windows oder auch auf UNIX? Das Makro läuft in meinem Fall nur auf Windows. - Wie oft setzt du das Makro ein? Das Makro würde sehr oft eingesetzt werden. Würde es mit deiner Einverständnis auch an Kollegen weitergeben, da es die Arbeit doch deutlich beschleunigen würde! Ein *.CATvba Makro mit UserForm wäre also perfekt. Freut mich sehr, dass man in diesem Forum kompetente und hilfsbereite Mit-Konstrukteure findet  [Diese Nachricht wurde von thomau96 am 13. Sep. 2009 editiert.] 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: 13. Sep. 2009 20:37 <-- editieren / zitieren --> Unities abgeben:          Nur für thomau96
Servus Vielleicht wäre für deinen Fall auch eine PowerCopy (näheres siehe Doku) ausreichend. Oder könnten die "Blöcke" aus einer Vorlage erzeugt werden, in denen schon die Bohrungen vorhanden sind? Gruß Bernd
------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
   
 Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 13. Sep. 2009 22:23 <-- editieren / zitieren --> Unities abgeben:          Nur für thomau96
Hallo Thomau96, ich habe zwar noch keine Geometrie von dir gesehen, aber der Beschreibung nach könnte das auch mit einer Power Copy, wie Bernd auch schon vorgeschlagen hat, gehen. Ich habe so eine Power Copy mit zwei Löchern (und auch einer spiegelbildlichen Tasche) für eine Clamp-Aussparung aufgebaut (siehe auch http://www.tobeplus.de/de/Zur%20Person/qualifications_BILDER.html und dort den Abschnitt PC_Clampaussparung im unteren Drittel der Seite) Diese PowerCopy benötigt als Input 2 Solid-Seitenflächen, könnte in deinem Fall auch klappen. In einer PowerCopy könnten dann auch mittels eines integrierten Design Tables verschiedene Varianten vorgehalten werden (z.B. Lochstich, Lochdurchmesser, Passung ja/nein etc.), wenn so etwas auch noch interessant ist für dich, wird das ein ziemlicher Aufwand bei der Programmierung. Nichts desto Trotz bin ich sehr gespannt auf Daniels Makro und spiele ihm wieder den Ball zu.
------------------ Grüße aus dem Rheinland Thomas +++++++++++++++++++++++++++++++++ CATIA - eine Laune der Natur ... "Phase 2 in CATIA V5" - www.tobeplus.de tberger@tobeplus.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomau96 Mitglied Konstrukteur

 Beiträge: 43 Registriert: 18.10.2005 Catia V5 R19
|
erstellt am: 15. Sep. 2009 19:17 <-- editieren / zitieren --> Unities abgeben:         
Hallo! Das Erstellen der Blöcke durch "Neu-Aus" ist leider nicht möglich, da die Blöcke zu verschieden sind. Der Weg über die Power-Copy könnte allerdings erfolgreich sein, ich werde mich damit mal am Wochenende beschäftigen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |