Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Partübergreifend / Erkennung von betroffenen Parts

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übergreifend / Erkennung von betroffenen Parts (1097 mal gelesen)
CADestroyer
Mitglied
Konstrukteur


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

Beiträge: 20
Registriert: 15.02.2017

Catia V5R28
Siemens NX 12.0

erstellt am: 31. Mrz. 2021 11: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

Hallo Community,
gibt es in Catia als Macro die Möglichkeit betroffene Parts zu erkennen und diese automatische mit PowerCopies zu bearbeiten/ändern?
Nur mal als Verschaulichung:
Ich habe Zentrierunskontur. Diese wird auf bzw. in einem Part positioniert. Das Makro soll nun das gegenüberliegende Part erkennen und dort das Gegenstück zur Zentrierungskontur anbringen.

1.) Ist dies überhaupt möglich?
2.) Wie ist das umsetzbar?

Ich weiß, dass es hier wahrscheinlich tief in die Programmierung geht und wohl zum Teil auch erarbeitete Expertenkenntnisse benötigt werden. Daher ist es für mich auch Ok, wenn nicht euer ganzes Wissen hier veröffentlich wird und ihr mir nur eine Tipp gebt.

Aktuell ist die Positionierung über ein separates "Steuerungspart" und ext. Verweise gelöst.

Vielen Dank.

[Diese Nachricht wurde von CADestroyer am 31. Mrz. 2021 editiert.]

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

CADestroyer
Mitglied
Konstrukteur


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

Beiträge: 20
Registriert: 15.02.2017

Catia V5R28
Siemens NX 12.0

erstellt am: 09. Apr. 2021 13:55    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

Um die ganze Sache für die ersten Schritte zu vereinfachen, kann man, wenn ich auf einer Fläche einen Punkt (in einer Skizze) erzeuge, ermitteln, welches Part der Punkt ebenfalls berührt?

Dazu muss ich aber erst einmal ein anderes Problem lösen:

Wie kann ich, wenn ich in einem Produkt bin, in einem Part ein PowerCopy als Makro ausführen? Wenn ich ihm Part im Produkt bin, also im Part Design, gibt mir ein Makro als ActiveDocument das Produkt aus.

Code:
Sub CATMain()

Dim Dokument As document
Set Dokument = CATIA.ActiveDocument
MsgBox (Dokument.Name)

End Sub



Daher kann diese Makro auch nicht funktionieren (in meinen Augen), da es ja nicht im Part ist. Somit kann das Power Copy nicht erstellt werden.

Gruß

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: 09. Apr. 2021 14: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 CADestroyer 10 Unities + Antwort hilfreich

Servus

Eventuell geht das über eine Kollisionsprüfung. Statt dem Punkt muss dann eventuell ein Solid (zB Kugel) verwendet werden. (separates Teil in der Baugruppe)
Für eine PowerCopy benötigst du dann aber im entsprechenden Teil wieder eine Geometrie als Input. Somit bist du fast wieder bei einem Skelettmodel.

Gruß
Bernd

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

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: 09. Apr. 2021 16: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 CADestroyer 10 Unities + Antwort hilfreich

Zu deiner zweiten Frage:
im CATProduct auf die Products-Collection zugreifen, darin dann auf die Instanz deines CATParts das du bearbeiten willst zugreifen und dann auf das Part über .ReferenceProduct.Parent.Part wechseln

Gruß
Bernd

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

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

CADestroyer
Mitglied
Konstrukteur


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

Beiträge: 20
Registriert: 15.02.2017

Catia V5R28
Siemens NX 12.0

erstellt am: 09. Apr. 2021 19:14    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

Vielen Dank Bernd!

Kannst du (oder gerne jemand anderes) vielleicht eine Lektüre zur Catia Makro Programmierung empfehlen? Ich hab hier zwar "CATIA V5 - Makroprogrammierung mit Visual Basic Script" und "CATIA V5 - Effiziente Konstruktion mit Makros". Aber mit fehlt da etwas die Erklärung von den Zusammenhängen usw.

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: 09. Apr. 2021 19:26    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 CADestroyer 10 Unities + Antwort hilfreich

Servus

AFIAK gibt es wenig Literatur. ggf noch Kochbuch - CATIA V5 automatisieren: Vom Powercopy bis zur C#-Programmierung
Ich hab viel durch, die Analyse der Struktur mithilfe des Watch/Lokalfensters von VBA, lesen/verstehen der Doku (auch dessen Aufbau) und analysieren von Code hier aus dem Forum gelernt.

Gruß
Bernd

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

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

CADestroyer
Mitglied
Konstrukteur


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

Beiträge: 20
Registriert: 15.02.2017

Catia V5R28
Siemens NX 12.0

erstellt am: 18. Apr. 2021 21:22    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

Ich werde es nun, wie vorgeschlagen, mit einer kleinen temporären Kugel probieren, welche danach wieder gelöscht wird.
Wie kann ich die Ergebnisse der Kollisionsprüfung auslesen und verwenden?

Gruß

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: 19. Apr. 2021 16: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 Nur für CADestroyer 10 Unities + Antwort hilfreich

Servus

Vermutlich ist das Vorgehen wie manuell.
Clash anlegen -> FirstGroup und SecondGroup definieren -> InterferenceType und ComputationType festlegen -> Compute -> über Conflicts die Collection der Ergebnisse aufrufen und auswerten. (siehe Doku ggf auch Makrorekorder und Forensuche)

Gruß
Bernd

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

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

CADestroyer
Mitglied
Konstrukteur


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

Beiträge: 20
Registriert: 15.02.2017

Catia V5R28
Siemens NX 12.0

erstellt am: 19. Apr. 2021 16: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

Bei dir klingt das immer so einfach... 

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: 19. Apr. 2021 20:55    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 CADestroyer 10 Unities + Antwort hilfreich

Servus

Schau dir mal das Beispiel Computing a Clash and Filtering Results in der Doku an.

Gruß
Bernd

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

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

CADestroyer
Mitglied
Konstrukteur


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

Beiträge: 20
Registriert: 15.02.2017

Catia V5R28
Siemens NX 12.0

erstellt am: 23. Apr. 2021 08:49    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

Erst einmal vielen Dank für deine Hilfe.

Entschuldige bitte die doofe Frage, aber welche Doku meinst du?

Eine andere Frage zu dem ganzen Thema: Ich versuche den Abstand (MinimumDistance) zwischen zwei Parts zu messen (Später soll dies durch Punkt zu Part (Body) ersetzt werden). Aber das Makro bringt mir bei "MsgBox measurable1.GetMinimumDistance(reference2)" eine Fehlermeldung und ich finde keine Lösung.

Code:

Language="VBSCRIPT"

Sub CATMain()

Dim MyDoc As Document
Set MyDoc = CATIA.ActiveDocument
   
Dim MainProduct As Product
Set MainProduct = MyDoc.Product
   
Dim product1 As Product
Dim product2 As Product
   
Set product1 = MainProduct.Products.Item("OT")
Set product2 = MainProduct.Products.Item("UT")
   
Dim SPAWorkbench1 As SPAWorkbench
Set SPAWorkbench1 = MyDoc.GetWorkbench("SPAWorkbench")
   
Dim reference1 As Reference
Dim reference2 As Reference
   
Set reference1 = MainProduct.CreateReferenceFromName("Product1/OT/")
Set reference2 = MainProduct.CreateReferenceFromName("Product1/UT/")
   
Dim measurable1 As Measurable
Set measurable1 = SPAWorkbench1.GetMeasurable(reference1)
   
MsgBox measurable1.GetMinimumDistance(reference2)

End Sub


Update: Hab es in der Doku gefunden

Update 2: Das Script "CAASpaClashFiltering.CATScript" aus der Doku macht bei mir nichts. Keine Fehlermeldung und kein Ergebnis.

[Diese Nachricht wurde von CADestroyer am 23. Apr. 2021 editiert.]

[Diese Nachricht wurde von CADestroyer am 23. Apr. 2021 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: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 23. Apr. 2021 19: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 Nur für CADestroyer 10 Unities + Antwort hilfreich

Servus

Zitat:
Update 2: Das Script "CAASpaClashFiltering.CATScript" aus der Doku macht bei mir nichts. Keine Fehlermeldung und kein Ergebnis.
Das Script legt lediglich ein Kollisions-Objekt im Baum an und füllt den Status und den Kommentar für jede Kollision aus.

Zu deinem MinimumDistance-Problem: Wie lautet die Fehlermeldung? Stimmen die "Pfade" bei der Erstellung der Referenzen? (ggf Screenshot des Baums posten)

Gruß
Bernd

PS: ggf ist es einfacher ein Distance-Objekt zu verwenden, dann entfällt die Erstellung der Reference geht dann später nicht zum Messen zwischen Punkt und Part

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

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: 25. Apr. 2021 08:28    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 CADestroyer 10 Unities + Antwort hilfreich

Servus

Wenn ich die Doku richtig interpretiere:

Zitat:
... gives dimensions related to another object (ex the distance between two products). A restriction occurs for distance between: bodies (CATBody) cannot be measured.
ist weder eine Messung (SPAWorbbench) zwischen Products noch Bodies möglich.

Gruß
Bernd

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

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

CADestroyer
Mitglied
Konstrukteur


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

Beiträge: 20
Registriert: 15.02.2017

Catia V5R28
Siemens NX 12.0

erstellt am: 27. Apr. 2021 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

Ich habe es so verstanden, dass dieses Makro die Kollisisonsprüfung öffnet...

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