Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Abfrage ob Part in Product vorhanden ist?

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:  Abfrage ob Part in Product vorhanden ist? (999 mal gelesen)
Schlabba
Mitglied



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

Beiträge: 16
Registriert: 10.06.2008

erstellt am: 14. Jul. 2008 17:53    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 V5ler,

ich habe folgendes Problem. Ich möchte über ein Makro abfragen, ob sich ein Bauteil in einer Baugruppe befindet oder nicht.
Ich habe versucht ein Makro aufzuzeichnen und es dann entsprechend abzuändern.
Dabei dachte ich, dass ich das Bauteil suche, es in eine Gruppe stecke und dann die Anzahl der Bauteile in der Gruppe abfrage.
Wenn die Anzahl größer Null ist muss das Bauteil vorhanden sein, wenn nicht, dann gibt es das Bauteil in der Baugruppe nicht.

Für die Suchfunktion habe ich die Suchfunktion im CATIA aufgezeichnet und verändert.

Code:

Dim search as String
search= InputBox ("Bitte geben Sie den Partnamen an.", "Part", search)
Dim selection1 As Selection
Set selection1 = productDocument1.Selection
selection1.Search "Name='search',all"

Ich möchte gerne den Bauteilnamen als Variable einfügen. Hab deshalb dort einen String reingesetzt. Vielleciht lässt scih das später auch aus Excel auslesen. Aber erst mal muss ich das hier schaffen.

Code:
Dim NewGroup as Group
NewGroup.AddExplicit selection1

Und dann die Abfrage ob das Teil gefunden wurde.

Code:
If NewGroup.CountExplicit > 0 Then
MsgBox "Bauteil ist vorhanden!"
Else
MsgBox "Bauteil ist nicht vorhanden"
End If


Ich habe schon mehrere Versuche gemacht, indem ich Bauteilnamen aus dem Product rauskopiert habe und als Variablennamen definert habe. Unglücklicherweise wird sowohl bei vorhandenem Bauteil als auch bei fehlendem Bauteil immer das angezeigt, dass das Bauteil vorhanden ist.


Hab schon die Hilfen und das Forum durchgewühlt, bin bis jetzt mit meinem sehr beschränkten Wissen noch auf keinen grünen Zweig gekommen.

Mfg Schlabba

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

K.Siebert
Mitglied
Tech Zeichner


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

Beiträge: 415
Registriert: 19.05.2007

Win XP
Catia V5 R19
Catia V5 R24

erstellt am: 14. Jul. 2008 20:23    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 Schlabba 10 Unities + Antwort hilfreich

Hallo Schlabba,

möchtest du nur danach suchen und weiter nichts?
Da hat CATIA selbst schon eine Suchfunktion.

Wenn du über Makro suchen möchtest kuck mal hier .
Ich selbst habe noch nicht in das Makro reingeschaut hört sich aber an als könntest du dieses als Vorlage verwenden.


------------------
Sei Schlau bleib Dumm !!?!! 

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

kalanja
Mitglied
Entwicklungsing.


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

Beiträge: 1239
Registriert: 29.10.2001

erstellt am: 15. Jul. 2008 09:13    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 Schlabba 10 Unities + Antwort hilfreich

hast du denn deine variable bei jedem durchlauf auf null gesetzt?

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



Entwicklungsingenieur Leistungselektronik (m/w/d)

Creating the future together: Das ist der Leitgedanke der pro-beam Gruppe. Wir sind eines der weltweit führenden Unter­nehmen im Bereich der Elektronen­strahl­techno­logie und bewegen uns ? vom Schweißen bis zur Additiven Fertigung ? in einem komplexen techno­logischen Umfeld. Mit unseren Produkten und Dienst­leistungen gestalten wir aktiv die Zukunft, ermöglichen sichere Flüge in den Welt­raum, statten Millionen von Autos aus und sind Teil von spekta­kulären Groß­forschungs­projekten....

Anzeige ansehenEntwicklung
Schlabba
Mitglied



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

Beiträge: 16
Registriert: 10.06.2008

erstellt am: 15. Jul. 2008 11:02    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

Erst mal vielen Dank für die Hilfe.
Ich habe es in der Zwischenzeit gelöst.

Hab bei dem von K.Siebert erwähnten Makro etwas gespickt. 

Meine Abfrage sieht nun folgendermaßen aus:

Code:
Language="VBSCRIPT"

Sub CATMain()

Dim produkts As Products
Dim produkt As Product
Dim suche as String
Set produkt = CATIA.ActiveDocument.Product

suche = InputBox ("Bitte geben Sie den Partnamen an.", "Part", suche)

anzahl=0
For A=1 To produkt.Products.Count
If produkt.Products.Item(A).Name = suche Then
anzahl = anzahl +1
Else
anzahl = anzahl
End If
Next

If anzahl > 0 then
MsgBox "Bauteil ist in der Baugruppe vorhanden!"

Else
MsgBox "Bauteil ist nicht in der Baugruppe vorhanden!"
End If

End Sub


Sollte der Schnipsel noch dahingehend erweitert werden, dass die Daten aus Excel ausgelesen werden, wird das Ding wahrscheinlich ziemlich langsam.
Aber so funktioniert es jetzt erst mal.

Wenn ich jetzt den funktionierenden Code betrachte, fällt mir auf, dass das eigentlich kein Hexenwerk war das Ding zu machen.
Manchmal steht man halt einfach da wie der Ochs vor der Apotheke. 

Nochmals vielen Dank. 

Gruß Schlabba

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