Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Part-Makro in Produkt

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Part-Makro in Produkt (918 mal gelesen)
xPaiN
Mitglied


Sehen Sie sich das Profil von xPaiN an!   Senden Sie eine Private Message an xPaiN  Schreiben Sie einen Gästebucheintrag für xPaiN

Beiträge: 3
Registriert: 14.08.2019

CATIA V5 R28

erstellt am: 14. Aug. 2019 18:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen,

Ich wollte mein Einzelteil-Makro (Part) so umbauen, das der User das Ganze ebenfalls in einer Baugruppe starten kann. Da hier das .ActiveDocument ja immer das Product ist, habe ich mir eine Selektions-Abfrage gebastelt die das Einzelteil abfrägt (SelectedElement3), in welchem das Makro gestartet werden soll. Soweit so gut.

Code:

Dim Bauteil As Part
Dim PartDoc as Document
Dim Selektion As Object
Set Selektion = CATIA.ActiveDocument.Selection
....
Set Bauteil = Selektion.Item(1).Value
Set PartDoc = Bauteil.Parent
Selektion.Clear
....

Jetzt habe ich doch eigentlich im PartDoc das Document des Einzelteils oder?
Wieso kann ich dann über folgende Suche keine Geometrischen Sets im Einzelteil suchen?

Code:

Dim Einzelteilsuche As Selection
Set Einzelteilsuche = PartDoc.Selection
Einzelteilsuche.Search ".Geometrical Set.Name=Startset;all"

Das Ganze funktioniert jetzt erstmal unabhängig davon ob das Part in Bearbeitung gesetzt ist (blau) oder?
Die Suche liefert mir aber kein Ergebnis obwohl im Einzelteil ein Geometrisches Set mit dem Namen "Startset" vorhanden ist.
Noch dazu habe ich das Problem, das:

Code:
Einzelteilsuche.Clear

Kein Clear der Selektion erzeugt. Erst wenn ich die Einzelteilsuche als CATIA.ActiveDocument umdefiniere lässt sie sich clearen.

Wenn ich die Suche jetzt von Anfang an als:

Code:
Set Einzelteilsuche = CATIA.ActiveDocument.Selection

definiere, findet er mir das entsprechende Set. Aber natürlich auch in anderen Einzelteilen.

Kann mir bitte jemand auf die Sprünge helfen?

Vielen Dank.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 14. Aug. 2019 18:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für xPaiN 10 Unities + Antwort hilfreich

Servus

Willkommen im Forum.
AFAIR gibt es die Selektion nur für die Dokumente die im eigenen Fenster geöffnet sind (also bei dir das ProductDocument)

Gruß
Bernd

PS: Ich empfehle den Suchstring aus einer Aufzeichnung des Makrorekorder zu extrahieren (sprachunabhängig).
zB sSel.Search "CATPrtSearch.OpenBodyFeature.Name=Startset,sel" (Partknoten zuvor selektieren

EDIT: Du könntest (wie unter "PS") nur einen Instanz/Part-Knoten selektieren und dort dann suchen (Parameter sel)

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

xPaiN
Mitglied


Sehen Sie sich das Profil von xPaiN an!   Senden Sie eine Private Message an xPaiN  Schreiben Sie einen Gästebucheintrag für xPaiN

Beiträge: 3
Registriert: 14.08.2019

CATIA V5 R28

erstellt am: 14. Aug. 2019 18:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Über das "sel" im Suchstring wird dann definiert, das nur das selektierte Part durchsucht wird?
Soll heißen anstatt die Suche selbst auf das PartDocument zu beziehen, kann man über das Sel in der Suche die Auswahl treffen?

Die Auswahl des Parts müsste ja sowieso durch den User erfolgen, er hätte dadurch keinen Mehraufwand.

Da ich möchte dass der User das Makro in der Baugruppe als auch im Einzelteil starten kann benötige ich in dem Fall am Anfang eine Fallunterscheidung nach PartDocument oder ProductDocument?

Vielen Dank.

Edit: Habe gerade deinen Edit gesehen. Damit hat sich meine erste Frage erledigt :P
Das probiere ich gleich mal aus. Muss dementsprechend, nur die Suchstring für Part und Product anpassen.
Da im Part selbst das Ganze ja gar kein Problem ist.

[Diese Nachricht wurde von xPaiN am 14. Aug. 2019 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 14. Aug. 2019 18:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für xPaiN 10 Unities + Antwort hilfreich

Ja, du brauchst eine Fallunterscheidung
(kurze Erklärung der Selection siehe hier (zusätzlich zur Doku))
Falls sich dein gesuchtest GeoSet in der ersten Ebene des Parts befindet könntest du auch über die HybridBodies-Collection(oPart.HybridBodies.Item("MeinSetName")) zugreifen

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

xPaiN
Mitglied


Sehen Sie sich das Profil von xPaiN an!   Senden Sie eine Private Message an xPaiN  Schreiben Sie einen Gästebucheintrag für xPaiN

Beiträge: 3
Registriert: 14.08.2019

CATIA V5 R28

erstellt am: 14. Aug. 2019 19:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Vielen Dank Bernd!

Zusätzlich denke ich werde ich noch eine Abfrage des "Elements in Bearbeitung" einfügen.
Zumindest wenn der Code aus der "Tech-Ecke" funktioniert.
Link

Damit dem User vorgegauckelt wird, das Makro funktioniert nur wenn er das Part aktiv in Bearbeitung setzt.
So kommt es denke ich nicht zu irgendeiner unerwünschten Auswahl, da über die Selektion irgendeiner Fläche,Punkt etc. schon die Suche erfolgt. Durch einen aktiven Doppelklick fühle ich mich schon sicherer  

[Diese Nachricht wurde von xPaiN am 14. Aug. 2019 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz