Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Part in Struktur ansprechen

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 in Struktur ansprechen (2643 mal gelesen)
Augustiner
Mitglied
Konstrukteur


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

Beiträge: 188
Registriert: 02.12.2005

HP Workstation
Windows XP Professional
Visual Studio 2005 Professional
CATIA V5 R14SP5 & R17SP3

erstellt am: 31. Jan. 2006 15:56    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 verehrte V5 gemeinde

hab mal wieder ein Problem.Gleich vorab die Suche hab ich schon ausgiebigst benutzt....hatt mir leider nicht weitergeholfen oder einfach nur falsch gesucht wie auch immer..........


Nun zu meinem Problem:
möchte in einer Produkt Struktur in der mehrere Parts enthalten sind bestimmte Strings auslesen,funzt auch ganz gut eigentlich...
Möchte aber die Parts nicht über den Namen ansprechen sondern über den Zähler.Wenn ich aber die namen durch die zähler tausche funktioniert es nicht mehr.Kann mir vielleicht jemand erklären woran das liegt oder eine alternative Methode erklären das wär sehr hilfreich für mich !!! Vielen Dank schonmal im voraus für evt. entstandene mühen.

Gruß Andi

Hier das Makro dazu:


Sub CATMain()


Dim productDocument1 As Document
Set productDocument1 = CATIA.ActiveDocument

Dim documents1 As Documents
Set documents1 = CATIA.Documents

Dim partDocument1 As Document
Set partDocument1 = documents1.item("Adapterpart 01.CATPart")

Dim part1 As Part
Set part1 = partDocument1.Part

Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies

Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Item("01")

Dim hybridShapes1 As HybridShapes
Set hybridShapes1 = hybridBody1.HybridShapes

Dim hybridShapePlaneOffsetPt1 As HybridShape
Set hybridShapePlaneOffsetPt1 = hybridShapes1.Item("Hilfsebene SG01-01")

String1=hybridShapePlaneOffsetPt1.name
msgbox string1


End Sub

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

Watje
Mitglied
Ingenieur


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

Beiträge: 73
Registriert: 16.09.2005

erstellt am: 01. Feb. 2006 11:00    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 Augustiner 10 Unities + Antwort hilfreich

Moin!
Ich glaube die Zahlen dürfen nicht in Anführungsstrichen stehen.
Watje

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

Augustiner
Mitglied
Konstrukteur


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

Beiträge: 188
Registriert: 02.12.2005

HP Workstation
Windows XP Professional
Visual Studio 2005 Professional
CATIA V5 R14SP5 & R17SP3

erstellt am: 01. Feb. 2006 12:06    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

Das weiss ich trotzdem merci

Das Problem ist ich tausche den Namen durch den Index und es funktioniert nicht mehr! Komm einfach nicht weiter...

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

AlexE78
Mitglied
Ing.


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

Beiträge: 49
Registriert: 29.08.2005

erstellt am: 01. Feb. 2006 12: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 Nur für Augustiner 10 Unities + Antwort hilfreich

Hallo allerseits,

das Problem dürfte darin bestehen, daß 'CATIA.Documents.Item' alle geöffneten Dokumente berücksichtigt und dabei das aktive '*.CATProduct' als erstes Element ('Item(1)') zurückgibt, welches natürlich keine '.Part'-Eigenschaft hat.

Also solltest du empfehlen, ob du auch ein '*.CATPart' erhälsts, am besten mit 'right(oMyDocument.Fullname, 8) = ".CATPart"' und andernfalls den entsprechenden Schleifendurchlauf überspringen.

mfg
Alex

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

Augustiner
Mitglied
Konstrukteur


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

Beiträge: 188
Registriert: 02.12.2005

HP Workstation
Windows XP Professional
Visual Studio 2005 Professional
CATIA V5 R14SP5 & R17SP3

erstellt am: 01. Feb. 2006 14:29    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

wie "empfehlen" das versteh ich jetzt nicht und wie soll ich 'right(oMyDocument.Fullname, 8) = ".CATPart" einbinden?? Was genau kann ich damit machen?

Gruß Andi

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

AlexE78
Mitglied
Ing.


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

Beiträge: 49
Registriert: 29.08.2005

erstellt am: 01. Feb. 2006 17: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 Nur für Augustiner 10 Unities + Antwort hilfreich

Ich nochmal...

Man sollte halt alles nochmal durchlesen, bevor man auf 'speichern' klickt 

Ich meinte: "ich würde dir empfehlen, zu überprüfen, ob das entsprechende Dokument auch ein Part ist...."

Das kann man relativ einfach über die Dateiendung feststellen, d.h. man schneidet vom Dateinamen (oMyDocument.Fullname) die letzten 8 Zeichen ab und vergleich mit ".CATPart".

In einer Schleife könnte das etwa so aussehen:

for i = 1 to CATIA.Documents.Count
    set oMyDocument = CATIA.Documents.Item(i)
    if (right(oMyDocument.Fullname, 8) = ".CATPart") then
        'irgendwas mit dem Part machen
    end if 'kein CATPart, weiter zum nächsten Dokument
next   

alle klarheiten beseitigt??? 

mfg Alex

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 01. Feb. 2006 21:25    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 Augustiner 10 Unities + Antwort hilfreich

Hallo,

jedes Document verfügt über die Eigenschaft "TypeName", mit der sich bestimmen lässt, um was es sich handelt.

Also
Set oDocument = Catia.ActiveDocument

If TypeName(oDocument) = "ProductDocument" Then
' irgendwas
ElseIf TypeName(oDocument) = "PartDocument" Then
' irgendwas anderers
End if

Um Parts/Products in einer Produktstruktur auszulesen zählt man normlerweise die Childrens durch und geht nicht über die Catia.Documents.

Wenn die Strukturtiefe undefiniert ist, funktioniert das am besten rekursiv, d.h. mit einer Routine, die sich selbst aufruft. Also ungefähr so (sofern ich es aus dem Kopt richtig zusammen bekomme)

Public sMsgBox as String

Sub CATMain()
   Set oRoot = Catia.ActiveDocument
   Set oProducts = oRoot.Product.Products
   SUB_ProdScan oProducts
   Msgbox sMsgBox, 48, "Enthaltene Parts"
End Sub

Sub SUB_ProdScan(oProducts)
   For x = 1 To oProducts.Count
      Set oParentDoc = oProducts.Item(x).ReferenceProduct.Parent
      If TypeName(oParentDoc) = "PartDocument" Then
         sMsgBox = sMsgBox & VbLf & oParentDoc.Name
      End if
      If oProducts.Item(x).Products.Count > 0 Then
         SUB_ProdScan oProducts.Item(x).Products
      End If
  Next
End Sub

Hoffe es hilft.

Gruss TomTom

------------------
tomtom1972

[Diese Nachricht wurde von tomtom1972 am 01. Feb. 2006 editiert.]

[Diese Nachricht wurde von tomtom1972 am 01. Feb. 2006 editiert.]

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

Augustiner
Mitglied
Konstrukteur


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

Beiträge: 188
Registriert: 02.12.2005

HP Workstation
Windows XP Professional
Visual Studio 2005 Professional
CATIA V5 R14SP5 & R17SP3

erstellt am: 02. Feb. 2006 14:33    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

Danke Tomtom

hatt mir mal wieder sehr weiter geholfen.Fallst du mal in München bist lad ich Dich auf ein Bier       

Ebenfalls vielen Dank an Watje und Alex für die Antworten!!!

Gruß Andi

P.S.: Ich hatte Dir schon mehrmal PN´s geschickt,wegen den workshops.
Irgendwas funktioniert da nicht ganz??Bräucht immer noch dringend infos zum Thema.

[Diese Nachricht wurde von Augustiner am 02. Feb. 2006 editiert.]

[Diese Nachricht wurde von Augustiner am 03. Feb. 2006 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