Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  Distanz zwischen CGR Produkt und Face

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co.
  
KISTERS 3DViewStation: Schutz sensibler 3D CAD Daten, egal von wo Sie arbeiten, eine Pressemitteilung
Autor Thema:  Distanz zwischen CGR Produkt und Face (285 / mal gelesen)
user7
Mitglied



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

Beiträge: 30
Registriert: 26.08.2022

erstellt am: 07. Mai. 2025 10: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


DistanceX.PNG

 
Ich habe eine CGR Komponente in meinem Assembly und würde gerne programmatisch die minimale Distanz von dem CGR zu einer bestimmten Fläche (Face) aus einem anderen Teil (CATPart) berechnen. Händisch funktioniert das einwandfrei mit dem "Measure Between" Tool (s. Screenshot).

Hat jemand eine Idee, wie das programmatisch funktionieren könnte? Wie es scheint, kann ich auch kein valides Measurable auf dem CGR Produkt erstellen. Es kommt zwar ein Measurable dabei heraus, aber alleine Werte wie die Fläche (measurable.Area) führen zu Exceptions. 

Code:

Product productOfCGR = <MeinCGRProduct>
Reference targetProductReference = <ReferenzAufMeinCGRProduct>
Product targetProduct = <ProductOwningFace>
Face targetFace = <MeineFläche>
Reference targetFaceReference = <ReferenzAufMeineFläche>


SPAWorkbench wb = (SPAWorkbench)targetProduct.GetWorkbench("SPAWorkbench");
Measurable measurableOnFace = wb.GetMeasurable(targetFaceReference);
var mindist = measurableOnFace.GetMinimumDistance(targetProductReference); /// Exception


Ich würde mich über jeden Hinweis freuen, wie die Funktion, die in der GUI einwandfrei funktioniert, auch in C# abgreifbar sein könnte.

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: 12070
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 07. Mai. 2025 11: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 user7 10 Unities + Antwort hilfreich

Servus

Scheint das gleiche Problem wie hier zu sein.

Gruß
Bernd

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

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

user7
Mitglied



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

Beiträge: 30
Registriert: 26.08.2022

erstellt am: 07. Mai. 2025 12: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

ja, Danke - das scheint ein ähnliches Problem zu sein. Allerdings kann ich nicht die Lösung davon nutzen, da ich nicht nach der Distanz zwischen den beiden Produkten suche, sondern dem minimalen Maß zwischen dem Face und dem Produkt. D.h. Distance kann ich nicht nutzen, da das mir sonst die minimale Distanz zwischen den beiden Produkten ausgibt (incl. aller Faces im ersten Produkt).

Kurzum: Hat jemand ein Workaround gefunden, wie man measurable auf CGR Komponenten nutzen kann - oder bei programmatisch bei dem Measurable tool "Approximate" bei Genauigkeit einstellt, sodass trotz CGR Produkt eine Distanz berechnet werden kann?

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: 12070
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 07. Mai. 2025 13:08    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 user7 10 Unities + Antwort hilfreich

Servus

Ein Workaround wäre wohl:

  • zur Messung ein Distance-Object verwenden (SPA-Lizenz notwendig?)
  • beim Part nur die eine Fläche einblenden (oder temporär in ein leeres Part kopieren)

Gruß
Bernd

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

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

user7
Mitglied



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

Beiträge: 30
Registriert: 26.08.2022

erstellt am: 12. Mai. 2025 18: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

Servus Bernd,

guter Hinweis! Werde ich mal versuchen - ich hatte noch nicht viel mit rumkopieren / ein- ausblenden einzelner topologischer Elemente gemacht. Mal sehen, ob das so einfach ist wie es sich anhört (:

Als Quickfix Lösung hatte ich jetzt das "dumme" Teil (CGR) als wrl gespeichert und von dort die Vertices ausgelesen, die einzelnen Punkte wieder in einem neuen Produkt erzeugt und dann mit Measurable den Abstand zum face berechnet. Kommt halt mit einer größeren Ungenauigkeit, da die Punkte die Flächen natürlich nicht vollständig nachbilden. Werde deinen Ansatz in jedem Fall die Woche mal testen.
Vielen Dank für Deinen Input!!

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

user7
Mitglied



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

Beiträge: 30
Registriert: 26.08.2022

erstellt am: 14. Mai. 2025 11: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

Das hat super funktioniert - Performancetests hab ich noch nicht gemacht.. Mal sehen wie stark der Rechner bei 1000+ faces in die Knie geht.

Code:
HybridShapeExtract extr = hybridShapeFactory.AddNewExtract(<MyNativeFace>);
extr.Compute();
object datum = hybridShapeFactory.AddNewSurfaceDatum((Reference)extr);

CatiaSelection.Clear();
CatiaSelection.Add((HybridShape)datum);
CatiaSelection.Copy();
CatiaSelection.Clear();
CatiaSelection.Add(<TargetGeometricalSetInNewPart>);
CatiaSelection.PasteSpecial("CATPrtResult");


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: 12070
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 14. Mai. 2025 12: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 user7 10 Unities + Antwort hilfreich

Servus

Warum musst du zu tausenden Flächen einzeln messen?
ggf gibt es da auch einen direkteren Weg.

Gruß
Bernd

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

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

user7
Mitglied



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

Beiträge: 30
Registriert: 26.08.2022

erstellt am: 15. Mai. 2025 17: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

Ich will eine automatische Auswertung einer Bandanalyse machen. Hatte keine Möglichkeit gefunden wie ich direkt aus der Bandanalyse an alle Flächen eines Bauteiles kommen kann, die (teils) rot markiert sind. Darum exportiere ich das Ergebnis als dumme Geometrie und schau dann für  jede Fläche nach, ob sie einen Abstand von 0 zum Bandanalysen-Ergebnis hat.. schon relativ umständlich... Leider brauche ich für ein Auswertungsprogramm tatsächlich alle einzelnen Flächen bei denen die Bandanalyse (clearance-check) anschlägt.
Wenn jemand eine Idee hat wie man direkt zu den Flächen der Bandanalyse rankommt bin ich natürlich ganz Ohr   

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)2025 CAD.de | Impressum | Datenschutz