Autor
|
Thema: Koerper auslesen (1306 mal gelesen)
|
Schwobaseggele Mitglied Student
Beiträge: 44 Registriert: 16.07.2008
|
erstellt am: 19. Dez. 2008 15:34 <-- editieren / zitieren --> Unities abgeben:
Hallihallo, seit gestern beschaeftige ich mich mit der Makro Programmierung und jetzt hab ich schon die ersten Probleme. Also es geht um folgendes. Ich hab ein Part mit vielen Koerpern, die Anzahl der Koerper kann variieren. Ein Makro soll alle vorhandenen Koerper einlesen und mit einer Boolschen Operation Zusammengefuegt werden.(Sollen deshalb zusammen gefügt werden damit eine FEM Analyse durchgeführt werden kann) Momentan bin ich an einem Beispiel mit zwei Koerpern, aber schon das bekomm ich nicht hin. Schon mal Danke fuer Tips und Tricks lg schwobaseeegle 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. Dez. 2008 15:50 <-- editieren / zitieren --> Unities abgeben: Nur für Schwobaseggele
Servus Kleines Beispiel aus der Doku, wie man Körper anprechen kann: Set Body-Collection = partDoc.Part.Bodies Set ThisBody = Body-Collection.Item(5) Set ThatBody = Body-Collection.Item("MyBody")
Dann eine For-next-Schleife über die Body-Collection, und du hast alle Körper. Gruß Bernd PS: Die Doku leigt irgendwo in CATIA-Installationsverzeichnis ("V5Automation.chm") ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Schwobaseggele Mitglied Student
Beiträge: 44 Registriert: 16.07.2008
|
erstellt am: 23. Dez. 2008 11:16 <-- editieren / zitieren --> Unities abgeben:
ÄÄÄhhhhmm, leider hab ich es nicht geschafft die Vorschläge umzusetzen, aber ich hab auch beschlossen das Problem über Selektionen zu lösen. Ja ich weis deshalb wird es auch nicht einfacher, fuer mich zumindest. Ich schaff es einfach nicht das ganze Begriffswirrwar so zu Programmieren das es funzt.Wie kann ich z.B. eine Selektion (Objekt) deklarieren damit ich es mit einer Boolschen Operation weiter verarbeiten kann???? UND UND UND Es geht immer noch um das selbe Problema: - viele Koerper in Part - Koerper selektieren - Makro ausführen -- Makro soll selektierte Koerper ueber Bool.Oper. mit Hauptkoerper zusammenfuegen Eigentlich gar nicht so schwierig!!! Bin dankbar fuer Hilfe (ACHTUNG; ICH ANFAENGER) Ansonsten schoene Weihnachten
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
V5Playaz Mitglied Dipl.-Ing (BA)
Beiträge: 447 Registriert: 12.07.2005 DELL PRECISION 390 3,25 GB RAM WIN XP PRO SP2 CATIA V5 R16-19 Delmia V5 R19 VB6, VB2008 Adobe Acrobat 9 Pro Extended
|
erstellt am: 23. Dez. 2008 13:09 <-- editieren / zitieren --> Unities abgeben: Nur für Schwobaseggele
Hallo, also Bernd hat eigentlich schon den nötigen Hinweis gegeben. Ansonsten hilft die Suchfunktion und der Makrorekorder. Code: For i = 1 to CATIA.ActiveDocument.part.bodies.count msgbox CATIA.ActiveDocument.part.bodies.item(i).name Next
alternativ über selection: Code: selection1 = CATIA.ActiveDocument.Selection selection1.Search("CATPrtSearch.BodyFeature,all") For i = 1 To selection1.Count msgbox selection1.Item(i).Value.Name Next selection1.clear
grüße Dominik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Schwobaseggele Mitglied Student
Beiträge: 44 Registriert: 16.07.2008
|
erstellt am: 23. Dez. 2008 15:35 <-- editieren / zitieren --> Unities abgeben:
Hallöchen, danke für die Vorschläge, aber sie führen mich nicht ganz zum Ziel. Es werden mir nur die selektionen angezeigt, aber die Boolschen Operation will Katze Catia nicht mehr machen??? Das ist ja auch das was ich noch nicht ganz verstehe, müssen die selektierten Elemente noch in Objekte (Körper) gewandelt werden, damit ich sie weiter verarbeiten kann???? Ich hab den Code mal angehängt, weis echt nicht an was das liegt!!! TschÖ mit Ö Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Schwobaseggele Mitglied Student
Beiträge: 44 Registriert: 16.07.2008
|
erstellt am: 23. Dez. 2008 15:47 <-- editieren / zitieren --> Unities abgeben:
Ach da ist mir noch eine Frage eingefallen, Wie kann ich den einstellen das ich nur Körper selektieren kann? Oder besser gesagt das nur Koerper für die Boolschen Operationen verwendet werden. Grüße Grüße Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
V5Playaz Mitglied Dipl.-Ing (BA)
Beiträge: 447 Registriert: 12.07.2005 DELL PRECISION 390 3,25 GB RAM WIN XP PRO SP2 CATIA V5 R16-19 Delmia V5 R19 VB6, VB2008 Adobe Acrobat 9 Pro Extended
|
erstellt am: 24. Dez. 2008 13:17 <-- editieren / zitieren --> Unities abgeben: Nur für Schwobaseggele
Ich versteh dich nicht wirklich... Willst du Körper automatisch oder manuell auswählen?? Den automatischen Weg findest du in meinem vorherigen Beitrag. Manuell: Code: InputObjectType(0) = "Body" Set oSelection = CATIA.ActiveDocument.Selection oSelection.Clear Status = oSelection.SelectElement2(InputObjectType, "Bitte ein Körper auswählen...", False) Set oSelectedElement = oSelection.Item(1).Value
Steht aber alles schon im Forum. grüße Dominik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Schwobaseggele Mitglied Student
Beiträge: 44 Registriert: 16.07.2008
|
erstellt am: 25. Dez. 2008 08:07 <-- editieren / zitieren --> Unities abgeben:
Sooo jep die ganzen Begriffe stehen im Forum, habse auch schon eingetippt, aber es geht net. Das Problem ist das man immer nur Code-Schnipsel bekommt, für Anfänger ist das schwierige diese Schnipsel zu verknüpfen. Wie muss ich was Deklarieren? Was überhaupt? Warum programmiert manch einer so: Set oPartDoc = CATIA.ActiveDocument Set oSel = oPartDoc.selection und in Büchern stehts dann so: Set oPartDoc = CATIA.ActiveDocument.selection Was ist der Sinn von der hin und her Deklaration usw. Aber nochmals zu meinem Problem: Hab ein Part mit vielen Körpern. Diese können in der Anzahl variieren. Der Benutzer soll diese manuell selektieren und das Makro soll die selektierten Körper über einer Boolschen Operation zusammenfügen. Danke für Geduld und Mühe, greeeetttzzzzzz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
Beiträge: 4755 Registriert: 27.09.2000 Dell precision M4300, 4GB Arbeitsspeicher NVidia FX360M Windows XP professional SP3 CATIA V5 R16SP9, R17SP8, R18SP8, R19SP4 Adobe Acrobat 8 Linux: Ubuntu 8.04LTS
|
erstellt am: 25. Dez. 2008 09:43 <-- editieren / zitieren --> Unities abgeben: Nur für Schwobaseggele
Du hast doch schon den Hinweis auf die automation.chm bekommenm. Dazu gibt es doch auch noch Literatur zur Programmierung, z.B. den Hansen oder den Ziethen. Dazu noch eine ganze Reihe Basisliteratur zur Programmierung mit Visual Basic. Da solltest du dringend reinschauen, wenn du etwas mit Programmierung machen willst. Und noch zu deinem Problem: Wozu brauchst du das Makro überhaupt. Für ein einmaliges oder zweimaliges Zusammenfassen mehrerer Körper zu einem ganzen? Das erscheint mir viel zu viel Aufwand zu sein. Einfach beim Auswählen der Körper die Shift-Taste drücken und dann Assemble im Kontextmenü. ------------------ Meine Firma | Website zum Buch Technisches Zeichnen mit CATIA V5 Wie stelle ich meine Fragen richtig? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Schwobaseggele Mitglied Student
Beiträge: 44 Registriert: 16.07.2008
|
erstellt am: 25. Dez. 2008 10:16 <-- editieren / zitieren --> Unities abgeben:
Moin moin, also die Kritik mag ja berechtigt sein, ich bin halt noch ganz am Anfang mit programmieren. Ich hab ja auch beide Bücher vor mir liegen, aber wie ich schon erwähnt habe, es ist als Anfänger schwer aus vielen Schnipseln ein ganzes zu machen. Und im Kochbuch steht mein Rezept halt nicht drin. Zuviel Aufwand ist es nicht, das ganze ist für meine Studienarbeit und es ist eine Funktion die öfters ausgeführt werden muss. Sinn ist das, dass Makro später über einen Button bedient werden kann, zweite Funktion, alle Boolschen Operationen wieder auflösen. Hintergrund:sehr viele Körper, das ist viel zu Aufwändig von Hand. Außerdem gibt es ja für so etwas die Programmierung. Hab das ja schon teilweise umgesetzt, jetzt bekomm ich aber immer eine Fehelermeldung wegen (SelectElement2) Fehlermeldung: "Function or interface maked as restricted, or the function user an Automation type not supported in Visual Basic"?????? Anregung an alle Bücherschreiber: Eine Studentenkooperation wäre mal was Sinnvolles. "Vom Student zum Profi" oder so ähnlich. -Einführung in die Makroprogrammierung -Konstruieren mit Grafischen Regeln -Skelett und Adaptermodelle ..........sind z.B. alles Themen die nicht wirklich in Vorlesungen Behandelt werden. Aber das ist jetzt ein anderes Thema. Grüße Grüße Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
Beiträge: 4755 Registriert: 27.09.2000 Dell precision M4300, 4GB Arbeitsspeicher NVidia FX360M Windows XP professional SP3 CATIA V5 R16SP9, R17SP8, R18SP8, R19SP4 Adobe Acrobat 8 Linux: Ubuntu 8.04LTS
|
erstellt am: 25. Dez. 2008 10:37 <-- editieren / zitieren --> Unities abgeben: Nur für Schwobaseggele
Zitat: Original erstellt von Schwobaseggele:
... Anregung an alle Bücherschreiber: Eine Studentenkooperation wäre mal was Sinnvolles. "Vom Student zum Profi" oder so ähnlich. -Einführung in die Makroprogrammierung -Konstruieren mit Grafischen Regeln -Skelett und Adaptermodelle ..........sind z.B. alles Themen die nicht wirklich in Vorlesungen Behandelt werden. Aber das ist jetzt ein anderes Thema.
Da ist was beim Hanser-Verlag von Patrick Kornprobst geplant. Es soll (derzeit) Anfang April 2009 erscheinen. Irgendwie hab ich aber den Eindruck, der Termin wäre schon mal verschoben worden. Ob das Buch etwas taugt, weiß ich nicht - ich kenne nur die Ankündigung auf der Seite vom Hanser. Ansonsten kommt vielleicht später noch etwas zu dem ganzen Themenkomplex Knowledgeware. ------------------ Meine Firma | Website zum Buch Technisches Zeichnen mit CATIA V5 Wie stelle ich meine Fragen richtig? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Schwobaseggele Mitglied Student
Beiträge: 44 Registriert: 16.07.2008
|
erstellt am: 25. Dez. 2008 11:07 <-- editieren / zitieren --> Unities abgeben:
Schön schön, aber die bisherigen Bücher von Herrn Kronprobst sind meiner Meinung absolute Basics. Ich mein das ist auch wichtig, keine Frage. Aber jede CAD Vorlesung deckt diese Grundlagen ab. Was fehlt ist so ein Zwischending. Schreiber die Jahrelang schon mit Catia arbeiten, sehen einfach nicht mehr die trivialen Probleme die Studenten haben. Aber mal abwarten was da noch kommt an Büchern. mfg schwabasegle Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Schwobaseggele Mitglied Student
Beiträge: 44 Registriert: 16.07.2008
|
erstellt am: 26. Dez. 2008 07:37 <-- editieren / zitieren --> Unities abgeben:
Morkken, ich wollt nochmals die Frage zu der oben genannten Fehlermeldung aufrollen. Was läuft da Falsch??? Auch wenn ich ein Objekt als CATBSTR deklariere bringt er mir eine Fehlermeldung. Mit String geht's dann, aber ist das richtig??? (Verwende V5 R18 SP5) lg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
Beiträge: 4755 Registriert: 27.09.2000 Dell precision M4300, 4GB Arbeitsspeicher NVidia FX360M Windows XP professional SP3 CATIA V5 R16SP9, R17SP8, R18SP8, R19SP4 Adobe Acrobat 8 Linux: Ubuntu 8.04LTS
|
erstellt am: 26. Dez. 2008 07:39 <-- editieren / zitieren --> Unities abgeben: Nur für Schwobaseggele
|