Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Kollisionsuntersuchung

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:  Kollisionsuntersuchung (2707 mal gelesen)
ChristophHirsch
Mitglied


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

Beiträge: 4
Registriert: 04.03.2013

i5 3,3 GHz
Windows 7 64 bit
Catia V5 R197
Simens NX 7.5

erstellt am: 04. Mrz. 2013 16: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

Es geht darum, dass ich zwei Parts in einem Produkt habe und diese auf eine Kollision untersuchen möchte. Dabei wird das eine Part Schrittweise relativ zum anderen verschoben. Die Kollision soll nun nach jedem Schritt neu Berechnet werden. Nach dieser Berechnung würde ich gerne das Ergebnis dieser Analyse auslesen(das hat bereits geklappt). Das Problem besteht darin, dass Catia nicht nach jeder Bewegung des Bauteils die Anwendung Kollision neu berechnet sondern, dass das alter Ergebnis immer bestehen bleib.
Es ist also die Frage, ob es eine Möglichkeit gibt diesen Berechnungsschritt zu automatisieren, sodass sich das Kollisionsergebnis ändert.

Danke schon mal für die Hilfe
Christoph

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: 04. Mrz. 2013 17: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 Nur für ChristophHirsch 10 Unities + Antwort hilfreich

Servus
Willkommen im Forum. Bitte Systeminfo ausfüllen.
Wie sieht den dein bisheriger Code aus?
Sowie ich die Doku interpretiere solltest d mit ".Compute" die Kollisionen neu berechnen lassen können.

Gruß
Bernd

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

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

ChristophHirsch
Mitglied


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

Beiträge: 4
Registriert: 04.03.2013

i5 3,3 GHz
Windows 7 64 bit
Catia V5 R197
Simens NX 7.5

erstellt am: 04. Mrz. 2013 18: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

Danke für die Antwort.
Also der Programmcode sieht wie folgt aus:
Private Sub Start_Click()

Dim productDocument1 As Document
Set productDocument1 = CATIA.ActiveDocument

Dim product1 As Product
Set product1 = productDocument1.Product

Set product1 = product1.ReferenceProduct

Dim products1 As Products
Set products1 = product1.Products

Dim parameters1 As Parameters
Set parameters1 = product1.Parameters

Dim product2 As Product
Set product2 = products1.Item("Part3.1")

Dim Pfad As String
Pfad = CATIA.ActiveDocument.Path

parameters1.Item("Breite des Schiebers").Value = TextBox_Breite.Value
parameters1.Item("Höhe des Schiebers").Value = TextBox_Hoehe.Value
parameters1.Item("Schieberlänge").Value = TextBox_Laenge.Value
parameters1.Item("Neigungswinkel Schieber").Value = TextBox_Winkel.Value
parameters1.Item("Durchmesser des Schiebers").Value = TextBox_Durchmesser.Value
parameters1.Item("Untere Grenze").Value = TextBox_Grenze_U.Value
parameters1.Item("Obere Grenze").Value = TextBox_Grenze_O.Value

Dim Grundform As String
Grundform = ComboBox_Grundform_Schieber.Value

Dim Stueck As Integer
Stueck = TextBox_Stueck

Dim Schrittlaenge As Double
Schrittlaenge = ((parameters1.Item("Obere Grenze").Value) - (parameters1.Item("Untere Grenze").Value)) / Stueck

Dim Wert As Double

Dim Check As Boolean

Dim Z_Koordinate As Double

Dim Zahl As Integer
Zahl = 0

Dim Beta As Double
Beta = 0.01

Dim Winkel_Schritt As Double
Winkel_Schritt = (parameters1.Item("Neigungswinkel Schieber").Value / Stueck)
For j = 0 To Stueck Step 1

Beta = (Beta + (j * Winkel_Schritt))

parameters1.Item("Neigungswinkel Schieber").Value = Beta

product1.Update

MsgBox (Beta)

Z_Koordinate = parameters1.Item("Untere Grenze").Value


For i = 0 To Stueck Step 1
   
    Z_Koordinate = ((parameters1.Item("Untere Grenze").Value) + (i * Schrittlaenge))
   
    parameters1.Item("Z Koordinate des Steuerpunktes").Value = Z_Koordinate

    product1.Update
   
'An dieser Stelle sollte nun die Kollision mit dem Namen Kollision.1 Aktualisiert werden.
   
    Wert = parameters1.Item("Ergebniss Kollisionsanalyse").Value
   
    MsgBox (Wert)
   
    If Wert = 0 Then
       
        Check = True

    Else
       
        Check = False
       
    End If

Next i

Next j

Ich weiß, das da recht viel bei ist, was mit dem Problem nicht direkt in Verbindung steht.
Der wichtige Teil ist der Bereich mit den For-Schleifen.

Gruß Christoph

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: 04. Mrz. 2013 19:05    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 ChristophHirsch 10 Unities + Antwort hilfreich

Servus
An die Kollision solltest du am einfachsten über die Objektauflösung im Editor kommen.
Diese müsst zB folgende liefern (mit der Ergänzung zum (hoffentlich) aktualisieren):
Code:
Dim clashes1 As Clashes
Set clashes1 = product1.GetTechnologicalObject("Clashes")
Dim clash1 As Clash
Set clash1 = clashes1.Item("Kollision.1")
clash1.Compute

Gruß
Bernd

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

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

ChristophHirsch
Mitglied


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

Beiträge: 4
Registriert: 04.03.2013

i5 3,3 GHz
Windows 7 64 bit
Catia V5 R197
Simens NX 7.5

erstellt am: 05. Mrz. 2013 08: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


Test.png

 
Hallo,

Erstmal Danke für den Code. Er funktioniert aber leider nur Teilweise. Ich möchte eigentlich den Wert aus dem Kollisionsergebnis auslesen.Dieses habe ich per Formel in einen anderen Parameter geschrieben, auf den ich zugreife.
Das Problem ist, dass wie im Anhangsbild zu sehen ist, der Status der Kollision nicht geprüft ist. Daher ist der Wert = 0. Wenn ich allerdings auf den Anwenden-Button klicke, dann gibt er mir wieder ein Ergebnis aus.
Nun ist die Frage ob man den Klick auf den Anwenden-Buttonn durch eine Zeile im Makro ersetzten kann.

Gruß
Christoph

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: 05. Mrz. 2013 08: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 Nur für ChristophHirsch 10 Unities + Antwort hilfreich

Servus
Ich würde so vorgehen (ohne einen Parameter):
Code:
...
clash1.Compute
'wenn eine Kollision besteht
if clash1.conflicts.count > 0 then
    'zB Überscheidung der ersten Kollision ausgeben
    MsgBox clash1.Conflicts.Item(1).Value
end if
...
Gruß
Bernd

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

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



Entwicklungsingenieur Kunststofftechnik Automotive (m/w/d)
Menschen und Technologien zu verbinden, den Perfect Match für unsere Kunden zu gestalten, immer die richtigen Expert:innen für die jeweilige Herausforderung zu finden - das ist unser Anspruch bei FERCHAU und dafür suchen wir dich: als ambitionierte:n Kolleg:in, der:die wie wir Technologien auf die nächste Stufe bringen möchte. Wir realisieren spannende Projekte für namhafte Kunden in allen Technologiebereichen ...
Anzeige ansehenEntwicklung
ChristophHirsch
Mitglied


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

Beiträge: 4
Registriert: 04.03.2013

i5 3,3 GHz
Windows 7 64 bit
Catia V5 R197
Simens NX 7.5

erstellt am: 05. Mrz. 2013 09: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

Super jetzt läuft es!!!! 

Danke!

Kannst du mir erklären warum das mit dem Parameter un einer direkten Formel nicht geht?

Gruß
Christoph

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