Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  AssemblyFeature AffectedComponent auslesen

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co.
  
KISTERS 3DViewStation: Schutz sensibler 3D CAD Daten, egal von wo Sie arbeiten, eine Pressemitteilung
Autor Thema:  AssemblyFeature AffectedComponent auslesen (650 / mal gelesen)
C.Samer
Mitglied
CAD Administrator


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

Beiträge: 72
Registriert: 03.05.2017

erstellt am: 24. Mai. 2022 23:18    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

Hello,

ich bin am verzweifeln.. Wieso funktioniert denn das nicht, die betroffenen Parts bei einem Assembly Feature herauszufinden (VBA)?
(oRootProduct wird weiter oben ausgelesen und funktioniert so; AssemblyFeatures auslesen funktioniert auch)

Code:

  Dim oAssemblyFeatures As AssemblyFeatures
  Dim oAssemblyFeature As AssemblyFeature

  Set oAssemblyFeatures = oRootProduct.GetTechnologicalObject("AssemblyFeatures")

  Dim oAffectedList()
    For i = 1 To oAssemblyFeatures.Count
        Set oAssemblyFeature = oAssemblyFeatures.Item(i)
        ReDim oAffectedList(oAssemblyFeature.AffectedComponentsCount - 1)
        oAssemblyFeature.ListAffectedComponents oAffectedList
    Next


Bitte um Hilfe 

Danke und Gruß,
Samer C.

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 757
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 25. Mai. 2022 08:37    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 C.Samer 10 Unities + Antwort hilfreich

Hallo,

also ich habe mir basierend auf deinem Code folgendes zusammengebastelt und es läuft.

Code:

Sub CATMain()
Dim oRootProduct As Product
Set oRootProduct = CATIA.ActiveDocument.Product
Dim oAssemblyFeatures As AssemblyFeatures
Dim oAssemblyFeature 'As AssemblyFeature
Set oAssemblyFeatures = oRootProduct.GetTechnologicalObject("AssemblyFeatures")

Dim oAffectedList()
For i = 1 To oAssemblyFeatures.Count
    Set oAssemblyFeature = oAssemblyFeatures.Item(i)
    ReDim oAffectedList(oAssemblyFeature.AffectedComponentsCount - 1)
    oAssemblyFeature.ListAffectedComponents oAffectedList
    MsgBox UBound(oAffectedList) + 1
    For j = 0 To UBound(oAffectedList)
        MsgBox oAffectedList(j).Name
    Next
Next     
End Sub


Da du in deinem Beitrag keinen Fehler / keine Fehlermeldung beschreibst, nehme ich mal an das du einen Kompilierungsfehler bekommst. Darum habe ich oAssemblyFeature mal einfach als Object deklariert.

Gruß
Randle

------------------
Wer für nichts steht, fällt für alles!

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

C.Samer
Mitglied
CAD Administrator


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

Beiträge: 72
Registriert: 03.05.2017

erstellt am: 01. Jun. 2022 09:44    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


Fehler.png

 
'Update 2022-06-01_10-53:
Ich habs herausgefunden!! Das Problem ist die Deklaration als AssemblyFeature!! Einfach As AssemblyFeature auskommentieren und es funktioniert!!
Danke nochmals!!   

Code:
Dim oAssemblyFeature 'As AssemblyFeature

'Update 2022-06-01_10-34:
Hab gerade versucht den Code bei meinem Makro einzubauen und bekomme bei der Funktion "ListAffectedComponents" wieder den Fehler   Siehe Bild..


-----------------------------

Hallo,

die Zeile

Code:
oAssemblyFeature.ListAffectedComponents oAffectedList

hat bei mir immer einen Fehler ausgespuckt, ich weiß leider grade nicht mehr welchen, glaube irgendwas mit Zugriff restricted oder so...
Dabei habe ich doch eigentlich das gleiche geschrieben??
Aber mit deinem Code funktioniert es..           

Ich werde noch versuchen herauszufinden warum.. Danke soweit!!       

Gruß,
Samer C.

[Diese Nachricht wurde von C.Samer am 01. Jun. 2022 editiert.]

[Diese Nachricht wurde von C.Samer am 01. Jun. 2022 editiert.]

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 757
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 20. Mai. 2025 13:32    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 C.Samer 10 Unities + Antwort hilfreich

Hallo,
nun brauchte ich diese Funktion selber mal und bekomme nun die Meldung "Klasse nicht registriert" bei der Stelle:
Code:
Set oAssemblyFeature = oAssemblyFeatures.Item(i)

Ich habe nun schon alles mögliche probiert:
- auf 2 anderen Rechner getestet.
- das verwendete Release neu registriert.
- VBA neu installiert.
- verschiedene CATIA Umgebungen (Kunde/Standard) probiert.
- Microsoft Visual C++ Redistributables repariert, neu installiert.
- usw.

Hat jemand eine Idee?
Eigentlich sollte "oAssemblyFeatures" ja eine Collection sein, mir wird aber im Überwachungsfenster nur Name, Count und Parent angezeigt.

Wäre für einen Tip (oder mehrere) dankbar.
Gruß
Randle Flag

------------------
Planung ersetzt Fehler durch Irrtum!

[Diese Nachricht wurde von Randle am 20. Mai. 2025 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: 12072
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 20. Mai. 2025 15:47    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 C.Samer 10 Unities + Antwort hilfreich

Servus

Tritt das Problem bei verschiedenen/allen Releases auf?

Gruß
Bernd

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

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 757
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 20. Mai. 2025 16:58    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 C.Samer 10 Unities + Antwort hilfreich


VBA_Fehlermeldung.png


VBA_Editor_Watch.png


Verweise.png

 
Ja. Getestet mit R32 und R33. Brauchen tue ich es in R27.
Nachtrag: Ich habe noch ein paar Screenshots hinzugefügt.
------------------
Planung ersetzt Fehler durch Irrtum!

[Diese Nachricht wurde von Randle am 20. Mai. 2025 editiert.]

[Diese Nachricht wurde von Randle am 20. Mai. 2025 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)2025 CAD.de | Impressum | Datenschutz