Autor
|
Thema: Elemete Joinen (535 mal gelesen)
|
Eremit Mitglied
Beiträge: 20 Registriert: 04.12.2005
|
erstellt am: 14. Jan. 2010 16:51 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe per VBS-Skript unterhalb eines bestimmten geometrischen Sets ein paar Elemente erzeugt. Hauptsächlich sind dieses Translationen eines Joins. Gemoetrischer Setname: "Text" Nun möchte ich alle Unterelemente wiederum zu einem Join verbinden. Von Hand klicke ich einfach auf das Join-Symbol und dann auf das geometrische Set. Danach sind alle Unterlemente in einem Join drin. Nur bekomme ich dieses nicht als Skript hin. Könnt ihr mir dabei helfen? Gruß Eremit
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 14. Jan. 2010 17:52 <-- editieren / zitieren --> Unities abgeben: Nur für Eremit
Die Methode heißt an der CATVBA-Schnittstelle Assemble, damit findest du dann auch die Lösung. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Eremit Mitglied
Beiträge: 20 Registriert: 04.12.2005
|
erstellt am: 14. Jan. 2010 18:13 <-- editieren / zitieren --> Unities abgeben:
|
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 14. Jan. 2010 18:51 <-- editieren / zitieren --> Unities abgeben: Nur für Eremit
Den Skriptschnipsel kannst du dir selber schaffen mit dem Makrorekorder. Das zeichnet der nämlich in diesem Fall sogar auf. Also: Tools-Makro-Maroaufzeichnung und dann wie im richtigen Leben den Join per Feature-Symbole und Mausaktionen erstellen und bestätigen, dann die Aufzeichnung mit dem eingeblendeten Button beenden. Dann Tools-Makro-Makros und die hinterlegte Zeile mit Bearbeiten öffnen. ------------------ Grüße aus dem Thurgau 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 |
Eremit Mitglied
Beiträge: 20 Registriert: 04.12.2005
|
erstellt am: 14. Jan. 2010 20:44 <-- editieren / zitieren --> Unities abgeben:
Hallo, das Makro hatte ich heute morgen schon aufgenommen. Deswegen frage ich ja. Das aufgezeichnete Makro beeinhaltet einfach die Elemente, die in dem geometrischen Set enthalten sind. Es "findet" bzw. nimmt nicht einfach alle Unterelemente sondern der Makrorekorder wählt die Unterlemente explizit aus. Leider weiß mein Skript nicht vorher welche Elemente drin sind. Kann man nicht ein Skript schreiben, welches alle Unterelemente eines geometrischen Sets nimmt und daraus ein Join erstellt? Eremit
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: 14. Jan. 2010 21:30 <-- editieren / zitieren --> Unities abgeben: Nur für Eremit
Kann man, wenn man weiss wie Du hast aber anscheinend bisher die falschen Fragen gestellt wie manch anderer und wir antworten wieder mal ins "schon lange bekannte...". Du musst die Hybridbodies Dim-men, das GeoSet z.B. per UserSelektion übergeben als Hybridbody, den .Count davon nehmen, Schleife setzen, Objekte der Reihe nach zuweisen (dem Assemble). Um die Assemble zu definieren koenntest du die ersten beiden Elemente des Geosets verwenden, die Assemble an dein Geoset mit Append anhängen, danach die dritten und so weiter über eine .AddElement an die Assemble dranhängen. ------------------ Grüße aus dem Thurgau 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 |
Eremit Mitglied
Beiträge: 20 Registriert: 04.12.2005
|
erstellt am: 19. Jan. 2010 23:12 <-- editieren / zitieren --> Unities abgeben:
Hallo, das mit dem Join hat schon mal geklappt. Füge bei dem Erstellen des Elementes dieses dem Join hinzu. Problem 1: Nun habe ich aber das Problem, dass das Join nicht unter dem "richtigen" geometrischen Sets erscheint. part1.InWorkObject = hybridShapeTranslate2 hybridShapeAssemble1.AddElement hybridShapeTranslate2 Mache ich hier etwas falsch? Problem 2: Set processDocument1 = CATIA.ActiveDocument Set selection1 = processDocument1.Selection selection1.Clear Set documents1 = CATIA.Documents Set partDocument1 = documents1.Item("Teilkreiszahlen.CATPart") Set part1 = partDocument1.Part Set hybridBodies1 = part1.HybridBodies Set hybridBody1 = hybridBodies1.Item("Test") selection1.Add hybridBody1 selection1.Delete Warum gehört die selection1 zu dem ProcessDocument1? Eremit
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: 19. Jan. 2010 23:21 <-- editieren / zitieren --> Unities abgeben: Nur für Eremit
Servus zum Problem 1: AFAIK kannst du dein Feature wie folgt einem geo Set zuweisen:
Code: Dim Ziel as Hybidbody Set Ziel = Part.HybridBodies.Item("Ziel") Ziel.AppendHybridShape hybridShapeAssemble1
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| |
DanielFr. Moderator 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: 20. Jan. 2010 07:59 <-- editieren / zitieren --> Unities abgeben: Nur für Eremit
Hallo Zitat:
Warum gehört die selection1 zu dem ProcessDocument1? Eremit[/B]
Wie aus der Infrastruktur der Automatisierungsobjekte hervorgeht gehört das Selektions-Objekt zum Document-Objekt. Schau mal HIER und klick dort mal auf das Document. Hier ist auch die Beschreibung. Warum das so ist? Weil sich ein Programmieren von DS das so ausgedacht hat Warum es bei dir explizit zum ProcessDocument1 gehört...weil du der Variablen "ProcessDocument1" das Dokumentobjekt zugewiesen hast Noch ein Anmerkung: Die CATIA-CAA Hilfe (also die Hilfedatei zur Automatisierung) ist nicht in die CATIA Hilfe eingebettet. Sie wird immer installiert. Zu finden ist sie unter INSTALLATIONSVERZEICHNIS\intel_a\code\bin\V5Automation.chm ------------------ 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 |