Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Parameter suchen und Catpart deaktivieren

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:  Parameter suchen und Catpart deaktivieren (719 mal gelesen)
Elsass-Franz
Mitglied
CAD Administrator


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

Beiträge: 26
Registriert: 16.03.2006

V5R19

erstellt am: 15. Aug. 2014 01: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

Hallo Leute.

Ich versuche zurzeit eine Makro zu schreiben, das in einem geladenen CATProduct manche CATParts deaktiviert.
Die entsprechenden CATParts erkennt man an einem Boolean Parameter, das Ich "Intrusive" genannt habe. Wenn sein Wert auf True steht, will Ich es ausschalten.

Ich habe zuerst das ganze CATProduct nach Parameter gescannt, (objSel.Search"(Name=Intrusive & Knowledgeware.Parameter);all")
Dann wollte Ich aufs dazugehoerenden Produkt lesen und es desaktivieren.
Leider krieg' Ich nur das Product Part Number, brauche aber den Component Instance Name, um dass zu tun.

Sub CATMain()

Dim productDocument1 As ProductDocument
Set productDocument1 = CATIA.ActiveDocument
Dim product1 As Product
Set product1 = productDocument1.Product
Dim products1 As Products
Set products1 = product1.Products
Set objSel = productDocument1.Selection

objSel.Clear
objSel.Search"(Name=Intrusive & Knowledgeware.Parameter);all"
If objSel.count > 0 Then
For i = 1 To objSel.Count
    Set objPart = objSel.Item(i).Value
Set objInst = objPart.Parent.Parent
msgbox objInst.Name                      <- Product Part Number
Set product2 = products1.Item(objInst)    <- Diese Methode geht nicht ! Schreibe Ich stattdessen ...Item("Part1.5") also der Compoment Instance Name, klappt es.
Set ProdParams = product2.Parameters.SubList(product2, False)
        Set ActivityParam = ProdParams.Item("Component Activation State")
        ActivityParam.Value = False
Next 'i
End If
End Sub

Weiss einer von Euch, mit welcher Funktion Ich an den Compoent Instance Name komme ?
Dieses Programm muss auf einem multi-level catproduct laufen.

Vielen Dank fuer die Hilfe.

Salut.

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

imation1999
Mitglied
dipl.-ing. Maschinenbau


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

Beiträge: 276
Registriert: 02.08.2011

Dell Precision T3500
Intel® Xeon® Quad Core
NVIDIA Quadro® 5000
Win7 x64 Ultimate
CATIA V5 R20 SP2

erstellt am: 15. Aug. 2014 06: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 Nur für Elsass-Franz 10 Unities + Antwort hilfreich

Hallo,

versuch mal so:

Code:
Set product2 = objSel.Item(i).LeafProduct

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

Elsass-Franz
Mitglied
CAD Administrator


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

Beiträge: 26
Registriert: 16.03.2006

V5R19

erstellt am: 15. Aug. 2014 10:39    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

Genau! Das ist es 

Vielen Dank fuer die schnelle Antwort.

Tschuess

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