Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Reihenfolge von Parts anhand durchdringender Schraube feststellen

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:  Reihenfolge von Parts anhand durchdringender Schraube feststellen (1992 mal gelesen)
Alexander.Stud
Mitglied



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

Beiträge: 30
Registriert: 15.09.2012

CATIA V5 R19SP9
WINDOWS XP & WINDOWS 7

erstellt am: 08. Nov. 2012 12: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

Hallo Community,

ich habe ein Problem mit einem Makro was ich in CATScript schreiben möchte. Bisherige Recherchen haben mir noch keine brauchbaren Erkenntnisse gebracht!
Ich stehe vor folgender Aufgabe bzw. vor folgendem Problem:
Ich habe in einem CATProduct vier Parts. Drei dieser Parts sind eine Art Blechbauteile mit einer hinterlegten Materialstärke als Parameter. Das andere Part stellt eine Schraube dar. Die Schraube ist über die Anlagefläche (Contact Constrain) und einem Punkt (Coincidence Constrain) auf dem oberen Blech positioniert.
Der Anwender soll im ersten Schritt des Makros die Schraube als Part über Selection auswählen. Nun soll mein Makro die Reihenfolge in der die Schraube die 3 Bleche durchdringt bestimmen und in einem Excelsheet darstellen (Die Bleche haben keine Bohrungen!) zusätzlich sollen noch die jeweiligen Parameter (Material und Materialstärke) mit ausgelesen werden. Dabei können die Bleche "wild" im Raum positioniert sein, sie liegen also nicht mit ihren Flächen in x-, y- oder z-Normalenrichtung.

Die Selektion und die Erzeugung der Exceldatei ist aktuell nicht das große Problem (hoffe ich   ). Auch das Parameter auslesen wurde schon oft genug thematisiert, sodass dies auch erst einmal vernachlässigbar ist. Ich würde gerne wissen ob es möglich ist, die Reihenfolge über einen Vektor der in der Mittelachse der Schraube läuft die Reihenfolge der Bleche zu erfassen und falls es klappt, wie kann ich dies umsetzen?  Der Lösungsweg kann auch gerne von diesem abweichen, die Idee schwirrt mir momentan so vor.
Ich hoffe meine kurze Erklärung reicht euch aus, falls nicht werde ich sehr gerne noch fehlende Informationen nachreichen.

Vorab vielen Dank an alle Antwortenden und beste Grüße
Alex

[Diese Nachricht wurde von Alexander.Stud am 08. Nov. 2012 editiert.]

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

tberger
Mitglied
Application Manager CATIA V5 / V6


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

Beiträge: 1385
Registriert: 13.01.2007

WIN 7 64bit
V5R21SP3HF49
3DX/V6 R2016x

erstellt am: 08. Nov. 2012 13: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 Nur für Alexander.Stud 10 Unities + Antwort hilfreich

Hier würde mir einfallen, da die Bleche keine Löcher haben, Verschneidungen zu bilden,die Verschneidungs-Abstände zum Kopf der Schraube messen zu lassen und so die Reihenfolge der Bleche festzustellen.

------------------
Grüße aus dem Thurgau
Thomas

+++++++++++++++++++++++++++++++++

CATIA - eine Laune der Natur ...

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: 08. Nov. 2012 13:10    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 Alexander.Stud 10 Unities + Antwort hilfreich

Hallo,

ich würde das mittels einer Kollisionsuntersuchung lösen: Wenn du drei Bauteile hast, die von deiner Schraube durchdrungen werden bekommst du 3 Clashes zurück, die jeweils die am Clash beteiligten Instanzen beinhalten, also immer 1 Blech + die Schraube. Zudem ein Zahlenwert zur Beschreibung des Clashes: die Zahl gibt an, um wieviel eine der beiden am Clash beteiligten Instanzen in irgendeine Richtung verschoben werden muss, bis keine Kollision mehr vorhanden ist. Der Clash mit dem kleinsten Rückgabewert ist die Durchdringung mit dem von der Schraube am weitesten entfernten Blech.
So habe ich das in einem anderen Zusammenhang umgesetz.

Gruß

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

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: 08. Nov. 2012 13:12    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 Alexander.Stud 10 Unities + Antwort hilfreich

Servus
Du könntest vielleicht die Clash-Analyse der SPA-Worbench nutzen (allerdings muss dann die Schraube die Bleche schneiden).
Aus den Koordinaten der Kollision (ein Punkt je Partner) könntest du dann die Reihenfolge der Teile bestimmen.
Stellt sich noch die Frage wo für dich der Ursprung und die Richtung (ggf Selektion oder X-Achse der Schraube) für die Reihenfolge ist.

Gruß
Bernd

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

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

Alexander.Stud
Mitglied



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

Beiträge: 30
Registriert: 15.09.2012

CATIA V5 R19SP9
WINDOWS XP & WINDOWS 7

erstellt am: 08. Nov. 2012 13:45    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 ging ja schnell! Vielen Dank für eure Antworten!!!
Ich werde mir die Varianten mal anschauen und testen.

@tomtom: Bist du vielleicht bei der Erstellung deines Makros in einem anderen Zusammenhang auf irgendwelche Quellcodeschnippsel bzgl. der Umsetzung bzw. zum Einlesen der Kollisionsuntersuchung ins Makro gestoßen? (bin leider nicht erfahren beim programmieren)

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

em Michael Kirsch
Mitglied
Teamleiter KBE Methoden & Tools


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

Beiträge: 222
Registriert: 21.10.2002

CATIA V5 R16
CATIA V5 R18
CATIA V5 R19
NX 5
NX 6
NX 7.5

erstellt am: 08. Nov. 2012 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 Nur für Alexander.Stud 10 Unities + Antwort hilfreich

Hi Alex,

ich würde jeweils den Abstände zwischen dem Schraubenkopf und den Blechkörpern messen. Der nächstgelegene Blechkörper ist der, der als erstes durchdrungen wird. Der am weitesten entfernteste Blechkörper wird als letztes durchdrungen.

Messungen kannst Du mit der SPAWorkbench durchführen, die Bernd weiter oben schon benannt hat.

Zuerst brauchst Du das Workbench-Objekt:
Dim oSPAWorkbench As Workbench
Set oSPAWorkbench = CATIA.ActiveDocument.GetWorkbench ("SPAWorkbench")

Dann ein Mess-Objekt mit der Schraube:
Dim oMeasurable As Measurable
Set oMeasurable = oSPAWorkbench.GetMeasurable(>> hier muss der Punkt im Schraubenkopf rein<< )

Von hier aus kannst Du dann den Abstand zu den Blechkörpern messen:
Dim dblDistance As Double
dblDistance = oMeasurable.GetMinimumDistance(>> hier muss der Blechkörper rein<< )

Hope that helps!

Michael

------------------
CATIA, sonst NX ;-)

www.em.ag

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

tberger
Mitglied
Application Manager CATIA V5 / V6


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

Beiträge: 1385
Registriert: 13.01.2007

WIN 7 64bit
V5R21SP3HF49
3DX/V6 R2016x

erstellt am: 08. Nov. 2012 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 Nur für Alexander.Stud 10 Unities + Antwort hilfreich

Das klappt dann nicht immer, wenn das sonst "äusserste" Blech im U-Profil oder ähnlich wieder zurückkommt und dem Kopf zu Nahe kommt.
Bei der Verschneidung bist du sicher.

------------------
Grüße aus dem Thurgau
Thomas

+++++++++++++++++++++++++++++++++

CATIA - eine Laune der Natur ...

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

Alexander.Stud
Mitglied



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

Beiträge: 30
Registriert: 15.09.2012

CATIA V5 R19SP9
WINDOWS XP & WINDOWS 7

erstellt am: 08. Nov. 2012 17:45    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

Super, ich danke dir Michael!
Es gibt bei mir zwar eine Fehlermeldung das die Typen "oSpaWorkbench.GetMeasureable" unverträglich sind, aber ich werde bis im Laufe der nächsten Woche versuchen einen goßen Teil meines Vorhabens umzusetzen. Um euch dann mit neuen Fragen zu löchern 

@Thomas: Danke für den Hinweis, glücklicherweise sind in meinen Products ausschließlich Bleche und keine Profilbauteile.

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

em Michael Kirsch
Mitglied
Teamleiter KBE Methoden & Tools


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

Beiträge: 222
Registriert: 21.10.2002

CATIA V5 R16
CATIA V5 R18
CATIA V5 R19
NX 5
NX 6
NX 7.5

erstellt am: 08. Nov. 2012 21:38    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 Alexander.Stud 10 Unities + Antwort hilfreich

Hallo Alex,

stimmt ja, die Methode GetMeasurable will ein Objekt vom Typ Reference haben. Du musst also aus dem Referenzpunkt und den Körpern erstmal so ein Reference-Objekt erzeugen.

Wenn der Schaubenpunkt selektiert ist, sollte es so gehen:

Dim oSelection As Selection
Set oSelection = CATIA.ActiveDocument.Selection

Dim oReference As Reference
Set oReference = oSelection.Item(1).Reference

Alternativ kannst Du die Objekte auch über ihren Namen ansprechen:

Dim oReference As Reference
Set oReference = oProduct.CreateReferenceFromName("Root/Product1.1/Part Body")

Lass einfach mal die Makroaufzeichnung laufen, während Du in der Baugruppe Baugruppenbedingungen erzeugst. Dann kommst Du schnell hinter das Schema.

Viele Grüße,

Michael

------------------
CATIA, sonst NX ;-)

www.em.ag

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

Alexander.Stud
Mitglied



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

Beiträge: 30
Registriert: 15.09.2012

CATIA V5 R19SP9
WINDOWS XP & WINDOWS 7

erstellt am: 09. Nov. 2012 09:59    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


Clash.png

 
@Michael: vielen Dank für den Änderungshinweis!

Allerdings stoße ich mit dieser Methode an die Grenzen der Machbarkeit. Da ich nicht immer die gewünschten Produkte angesprochen bekommen die auch wirklich durchdrungenen werden (Korrigiert mich wenn ich das falsch sehe!). Daher möchte ich es über die "Standard" Clash-Application mein Glück probieren (so wie es tomtom1972) beschrieben und vorgeschlagen hat. Der Anwender wählt vor oder während des Makros die Schraube aus und soll dann die Interference-Ergebnisse als Text-Datei ausgespuckt bekommen.
Für diesen Vorgang habe ich mir bereits mehrmals ein Makro aufgezeichnet indem ich die Schritte händig durchgehe, jedoch ist die Qualität dieser Aufzeichnungen für mich eher unbrauchbar. Da ich die Einstellungen innerhalb des Befehls nicht über das Makro einstellen kann, oder geht das? Anbei mal das Clash-Fenster mit den von mir gewünschten und benötigten Filterlist-Einstellungen. Ein weiteres Problem was sich bei der Erstellung der Clashresultate als Text-Datei (Export As) ergibt, ist dass er den Status und den Wert des Clashs erst nach anklicken des Products in der Liste aktualisiert. Diese Schritte würde ich gerne automatisch vom Makro durchlaufen lassen. Ist sowas im Makro umsetbar?

Ich hoffe ich erschlage niemanden mit meinem Anliegen 

Vielen Dank und beste Grüße!

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: 09. Nov. 2012 10:36    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 Alexander.Stud 10 Unities + Antwort hilfreich

Hallo,

das was ich oben beschrieben habe hat sich alles aufs Programmieren in VB bezogen, nicht auf eine manuelle Vorgehensweise.

  Ein bischen Code:

  Set oSel = Catia.ActiveDocument.Selection
  oSel.Clear
  Dim InputObjectType(0)
  Dim Status
  InputObjectType(0) = "Product"    '---- eine Instanz/ein Node, oder was du sonst willst
  Status = oSel.SelectElement3(InputObjectType, "****************  Bitte die Schraube auswählen  ****************", False, CATMultiSelTriggWhenUserValidatesSelection, False) '--- UserSel

  If (Status <> "Normal") Then  '-------Auswahl i.O?, wenn nicht, dann...
      '  End in VB oder Exit Sub im CATScript
  ElseIf (Status = "esc") Then
      '  End in VB oder Exit Sub im CATScript
  End if 

  Set cClashes = Catia.ActiveDocument.Product.GetTechnologicalObject("Clashes")
  Set oClash = cClashes.AddFromSel
  oClash.ComputationType = catClashComputationTypeAgainstAll
  oClash.InterferenceType = catClashInterferenceTypeContact
  oClash.Compute
  Set cConflicts = oClash.Conflicts
  Dim iClash As Integer
  iClash = 0
  For q = 1 To cConflicts.Count
      Set oConflict = cConflicts.Item(q)
      If (oConflict.Type = catConflictTypeClash) Or (oConflict.Type = catConflictTypeContact) Then
        If oConflict.FirstProduct.PartNumber = "DeineSchraube" Then
            Set oBlech1 = oConflict.SecondProduct
            iClashValue = oConflict.Value
        End If
        If oConflict.SecondProduct.PartNumber = "DeineSchraube" Then
            Set oBlech1 = oConflict.FirstProduct
            iClashValue = oConflict.Value
        End If
      End If
  Next

Dann das ganze halt in ein dynamisches Array schreiben und am Ende auswerten.
Fertig.

Die Doku ist bezogen auf den Clash und die Auswertung des selbigen sehr ausführlich.
Ohne das du selbst programmierst kommst du allerdings nicht weit.

Bei Fragen: frag.

Gruß TomTom

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

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

Alexander.Stud
Mitglied



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

Beiträge: 30
Registriert: 15.09.2012

CATIA V5 R19SP9
WINDOWS XP & WINDOWS 7

erstellt am: 09. Nov. 2012 10:40    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

Hey TomTom,

besten Dank für den Code! Bin grad die Doku am durchforsten und hab schon einiges zu meiner obigen Problematik gefunden. Dann habe ich jetzt eine schöne Beschäftigung :-)

Nochmal an alle vielen Dank, ich melde mich sobald ich was vorzeigbares habe!

ALEX

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

Alexander.Stud
Mitglied



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

Beiträge: 30
Registriert: 15.09.2012

CATIA V5 R19SP9
WINDOWS XP & WINDOWS 7

erstellt am: 13. Nov. 2012 07:41    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,

wollte nur kurz sagen, dass ich mich erst ab Dezember wieder meinen Projekt widmen kann. Nicht das jemand denkt ich hätte mich aus dem Staub gemacht^^

Bis dann

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

Alexander.Stud
Mitglied



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

Beiträge: 30
Registriert: 15.09.2012

CATIA V5 R19SP9
WINDOWS XP & WINDOWS 7

erstellt am: 19. Dez. 2012 14:20    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,

da bin ich wieder :-)
Beschäftige mich seit heute wieder mit obiger Problematik.

@TomTom: Dein Code funktioniert wunderbar, ich habe mir die gemessenen Abstände per MsgBox ausgeben lassen. Doch folgenden Teil verstehe ich nicht:
_________
Dim iClash
  iClash = 0
  For q = 1 To cConflicts.Count
      Set oConflict = cConflicts.Item(q)
      If (oConflict.Type = catConflictTypeClash) Or (oConflict.Type = catConflictTypeContact) Then
        If oConflict.FirstProduct.PartNumber = "DeineSchraube" Then
            Set oBlech1 = oConflict.SecondProduct
            iClashValue = oConflict.Value
        End If
        If oConflict.SecondProduct.PartNumber = "DeineSchraube" Then
            Set oBlech1 = oConflict.FirstProduct
            iClashValue = oConflict.Value
        End If
      End If
  Next
_________

Bei den Zeilen wo das "oBlech1" als SecondProduct oder FirstProduct gesetzt wird, bin ich völlig raus  
Wie habe ich dies zu verstehen? Ich setze ja meine Schraubenbezeichnung in die Zeile ein und setze dies mit der "oCOnflict.FirstProduct.Partnumber" gleich. Was passiert denn genau wenn diese beiden gleich sind? 

Frage hat sich erledigt --> "Kann ich mir die partnumbers der beteiligten Bleche auch hier irgendwo rausziehen?" Die Bezeichnung steht ja schon drin, einfach nur ".Name" anhängen und ich habe es :-)

Besten Dank und VG
Alexander

[Diese Nachricht wurde von Alexander.Stud am 21. Dez. 2012 editiert.]

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

Alexander.Stud
Mitglied



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

Beiträge: 30
Registriert: 15.09.2012

CATIA V5 R19SP9
WINDOWS XP & WINDOWS 7

erstellt am: 21. Dez. 2012 15:16    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

Prünktlich zu Weihnachten habe ich mein Problem wie gewünscht gelöst bekommen  

Für alle die es interessiert hier nocheinmal mein aktueller/endgültiger Code:
________________________
....

Mld = MsgBox("Wählen Sie eine Schraube aus!", vbOKCancel, "Prüfbeginn")
        If Mld = vbOK Then
            Unload Me
        ElseIf Mld = vbCancel Then
            MsgBox "Tool abgebrochen."
            Exit Sub
        End If

Set Selection1 = CATIA.ActiveDocument.Selection
    Dim ElementTyp(0)
    ElementTyp(0) = "Part"
    Selection1.Clear
    Do
    Dim Ausahl As Object
    Auswahl = Selection1.SelectElement2(ElementTyp, "Wählen Sie eine Schraube aus!", False)
        If Auswahl = "Normal" Then
        Set Element = Selection1.Item(1)
        MsgBox Element.Value.Name & " wurde ausgewählt.", 0, "Auswahl"
            If Element.Value.Name = "Schraube1" Or Element.Value.Name = "Schraube2" Then
            Fertig = True
            Else
            MsgBox Element.Value.Name & " ist keine Schraube," + Chr(10) + "bitte wählen Sie eine Schraube aus!", 0, "Auswahl"
            End If
        Else
        Box = MsgBox("Die Selektion wurde abgebrochen" + Chr(10) + "Das Makro wurde beendet!", 48, "Benutzerabbruch")
        Exit Sub
    End If
Loop Until Fertig = True  
   
  Set cClashes = CATIA.ActiveDocument.Product.GetTechnologicalObject("Clashes")
  Set oClash = cClashes.AddFromSel
  oClash.ComputationType = catClashComputationTypeAgainstAll
  oClash.InterferenceType = catClashInterferenceTypeContact
  oClash.Compute
  Set cConflicts = oClash.Conflicts

  Dim iClash As Integer
  iClash = 0
  oBlechj = 0
  For q = 1 To cConflicts.Count
      Set oConflict = cConflicts.Item(q)
      If (oConflict.Type = catConflictTypeClash) Then                  
         If oConflict.FirstProduct.PartNumber = "Schraube1" Or oConflict.FirstProduct.PartNumber = "Schraube2" Then
            Set oBlechj = oConflict.SecondProduct
            iClashValue = oConflict.Value
        End If
      End If

    Dim ofirstConlict As Conflict
    Dim osecondConflict As Conflict
    Set ofirstConflict = cConflicts.Item(1)
    Set osecondConflict = cConflicts.Item(2)
   
    MsgBox osecondConflict.SecondProduct.Name
    MsgBox ofirstConflict.SecondProduct.Name

...
__________________________

Nochmals Danke an alle Helfenden!!! Ich wünsche schöne Feiertage.

VG
Alexander

[Diese Nachricht wurde von Alexander.Stud am 22. Dez. 2012 editiert.]

[Diese Nachricht wurde von Alexander.Stud am 22. Dez. 2012 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