Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Minimaler Abstand zw. Ebene und Komponente

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:  Minimaler Abstand zw. Ebene und Komponente (867 mal gelesen)
Xahaeus304
Mitglied


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

Beiträge: 9
Registriert: 27.03.2020

DMU Navigator V5R2018
Catia V5-6R2018

erstellt am: 16. Apr. 2020 13:57    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,

ich versuche gerade per VBA Makro den minimalen Abstand zwischen einer von mir erstellten Ebene und einem Bauteil auszulesen. Mein Problem ist, dass mein Bauteil kein Part ist, sondern eine Komponente in einem Produkt. Ich scheitere schon an der Variablendeklaration, weil ich nicht herausfinde, wie ich die Komponente ansprechen kann. Muss ich zuerst sowas Ähnliches machen wie "product to part", also quasi "component to part" oder kriege ich das Ganze auch direkt in der Produktoberfläche hin?

Ich hoffe ihr könnt mir zumindest einen Tipp gegen, wie ich über die Startschwierigkeiten hinwegkomme.

Vielen Dank.

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

Lionel Hutz
Mitglied



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

Beiträge: 363
Registriert: 26.03.2014

CATIA V5 R20

erstellt am: 16. Apr. 2020 14: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 Xahaeus304 10 Unities + Antwort hilfreich

Deine Problembeschreibung ist sehr allgemein gehalten daher ist die Wahrscheinlichkeit, dass dir Antworten weiter helfen würden sehr gering.

Wie würdest du es denn machen, wenn du den Abstand Ebene/Part messen wolltest?

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

Xahaeus304
Mitglied


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

Beiträge: 9
Registriert: 27.03.2020

DMU Navigator V5R2018
Catia V5-6R2018

erstellt am: 16. Apr. 2020 14: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

Ähnlich wie im 4 Beitrag hier, also über GetMinimumDistance.

Das funktioniert auch, dass ich da den Abstand zwischen Ebene und Punkt bekomme. Was ich aber nicht hinbekomme ist das im Produktumfeld laufen zu lassen und den Punkt durch eine Komponente zu ersetzen.

[Diese Nachricht wurde von Xahaeus304 am 16. Apr. 2020 editiert.]

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

Xahaeus304
Mitglied


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

Beiträge: 9
Registriert: 27.03.2020

DMU Navigator V5R2018
Catia V5-6R2018

erstellt am: 16. Apr. 2020 15:51    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 jetzt noch etwas weiter rumprobiert und bin bei dem Code angekommen:

Code:
Sub test()

Dim Catia as Object
Set Catia = GetObject(, "CATIA.Application")

Set Sel = Catia.Active.Document.selection
Sel.Clear
Sel.Search ("Name='*Sphere.1*',all*)
Set Part = Sel.Item(1).Value
Sel.Clear
Sel.Search ("Name='*Plane.1*',all*)
Set Ebene = Sel.Item(1).Value

Set PartDocumentA = Part.Parent.Parent.Parent.Parent
Set PartDocumentB = Ebene.Parent.Parent.Parent.Parent

Set referenceA = PartDocumentA.CreateReferenceFromObject(Part)
Set referenceB = PartDocumentA.CreateReferenceFromObject(Ebene)
Set Workbench = Catia.ActiveDocument.GetWorkbench("SPAWorkbench")
Set TheMeasurable = Workbench.GetMeasurable(Ebene)

Abstand = TheMeasurable.GetMinimumDistance(Part)

MsgBox "Abstand = " & Abstand & " mm"

End Sub


Ich hab dafür einfach mal eine Kugel im Ursprung und eine Ebene etwas weiter weg erstellt und das funktioniert soweit.
Ich kenne mich noch zu wenig mit der Materie aus, aber "CreateReferenceFromObject" scheint wohl nur mit Parts zu funktionieren oder? Da liegt nämlich das Problem, wenn ich statt der Kugel mein Bauteil suchen lasse.

Was ich noch vergessen habe zu erwähnen, aber bestimmt extrem wichtig ist, ich arbeite mit .cgr Files.

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: 16. Apr. 2020 20: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 Xahaeus304 10 Unities + Antwort hilfreich

Servus

Da CreateReferenceFromObjekt nur in einem Part funktioniert musst du wohl den Pfad für CreateReferenceFromName zusammenbauen (siehe zB hier)
Wenn du statt der Ebene ein genügend große Fläche nutzen würdest, könntest du ggf auch eine Abstandsanalyse nutzen (GetTechnologicalObject("Distances")). AFAIR musst du dann nur die Products übergeben.

Gruß
Bernd

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

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