Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Punkt auf welcher Fläche? / Ebene parallel zur Fläche durch Punkt

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:  Punkt auf welcher Fläche? / Ebene parallel zur Fläche durch Punkt (1998 mal gelesen)
Effak
Mitglied


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

Beiträge: 6
Registriert: 04.09.2009

CATIA V5R18

erstellt am: 04. Sep. 2009 15: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


Screen.png


Wunsch.png

 
Hi,
Ich habe folgende Situation: Es gibt einen runden Körper, auf dem mehrere Punkte vorgegeben sind (siehe Bild). Die Punkte wurden bereits ausgewählt und stehen z.B. als CATIA.ActiveDocument.Selection zur Verfügung.
Jetzt möchte ich durch jeden Punkt eine Ebene erstellen, die parallel zur Körperobefläche ist. Das Problem daran ist, dass die Oberfläche nicht bei allen Punkten die selbe ist, wie man im Vergleich des 2. und 3. Punktes sieht.
Das heißt, dass ich entweder eine Möglichkeit brauche die Ebene herauszufinden, auf der der jeweilige Punkt liegt oder einen ganz anderen Weg.
Problem an der Sache ist, dass ich zum Erstellen einer Ebene durch einen Punkt logischer Weise Beides benötige, aber es im Sinne der Automatisierung ja nicht zumutbar ist nach dem Übergeben aller Punkte auch entsprechende Flächen anklicken zu müssen.
Vielen Dank im Voraus

Zu den Anhängen:
Screen.png = "Gegeben"
Wunsch.png = "Gesucht"

[Diese Nachricht wurde von Effak am 04. Sep. 2009 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: 04. Sep. 2009 15:46    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 Effak 10 Unities + Antwort hilfreich

Servus
Willkommen im Forum.
Du könntest die Fläche im GSD mit der Option "Tangentenstegigkeit" und "Zusammenfügen" ableiten oder die entsprechenden Flächen direkt zusammenfügen (Join).
Dann hättest du nur noch eine Fläche.

Gruß
Bernd

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

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

AndiKrue
Mitglied
Berater


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

Beiträge: 72
Registriert: 04.12.2008

Windows XP Prof x64 Edition
Intel Xeon W3520 @ 2.67 GHz
8 GB RAM,
Nvidia Quadro FX 1800
CATIA V5R19

erstellt am: 06. Sep. 2009 13: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 Effak 10 Unities + Antwort hilfreich

Hallo, wenn das Points on Surface sind, könntest du auch aus dem Punkt die Referenzfläche auslesen und für die Plane weiterverwenden...

achso dazu sei gesagt es gibt im GSD die Funktion Plane - Tangent to Surface, ich denke das ist das was du sucht. Punkt und Fläche als Refernz

[Diese Nachricht wurde von AndiKrue am 06. Sep. 2009 editiert.]

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

Effak
Mitglied


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

Beiträge: 6
Registriert: 04.09.2009

CATIA V5R18

erstellt am: 06. Sep. 2009 23: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

Guten Abend und vielen Dank für die schnellen Antworten.

Die Ebenen im Screenshot habe ich per Hand (Punkt + Oberfläche anklicken) über die Funktion "Referenzebene" mit der Konfiguration "Tangential zu Ebene" (o.ä.) erstellt. Das scheint genau die von euch beschriebene Funktion "Plane - Tangent to Surface" gewesen zu sein.
Leider hatte ich ganz vergessen zu erwähnen, dass es mir konkret um die Automatisierung dieses Vorganges per VBA für sehr viele Punkte ging  , da diese Ebenen in größeren Mengen benötigt werden.

Wenn ich mein Skript nun für jeden Punkt ausführe, der zuvor vom Benutzer selektiert wurde (for-Schleife), benötigt die Ebenen-Funktion zur Erstellung der neuen Ebene jeweils zwei Referenzen. Den Punkt (kein Problem: CATIA.ActiveDocument.Selection.Item(i)... der Schleife) und die Ebene, auf der dieser Punkt liegt (und zu der die neue Referenzebene tangential liegt). Und genau das bekomme ich in VBA nicht hin, da die Flächen auf denen die jeweiligen Punkte liegen nicht zwingend identisch sind. Daher auch meine etwas unklar formulierte Frage in der Überschrift "Punkt auf welcher Fläche?": Es könnte ja auch eine (mir leider unbekannte) Funktion weiterhelfen, die zurückgibt, auf welcher Oberfläche sich ein Punkt befindet, womit ich jeweils beide erforderlichen Referenzen zusammen hätte um die Ebene erstellen zu können (ohne 100x per Hand Punkt und Oberfläche anklicken zu müssen).

@AndiKrue: Wie genau meinst du "... aus dem Punkt die Referenzfläche auslesen ..."? Genau das suche ich ja per VBA, sodass ich diese Fläche der Ebenen-Funktion als zweite Referenz für die Erstellung der Ebene übergeben könnte. Ich weiß nur leider nicht mit welchen Befehlen, da ich erst kürzlich mit VBA unter CATIA begonnen habe.

Vielen Dank für eure Bemühungen

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 08. Sep. 2009 18:13    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 Effak 10 Unities + Antwort hilfreich


TangentSurfaces_v1.0.zip

 
Hallo Effak,

ich habe dir hier mal ein kleines Makro zusammengebaut das die Arbeit für dich abnimmt.
Als Input muss der User Punkte auswählen (können auch schon vorausgewählt sein). Das Makro durchläuft alle ausgewählten Punkte und erstellt (falls es sich um Punkte handelt die eine "Referenzsurface" haben (Point on surface)) die entsprechende Ebene (tangential zur Surface-Refernz des Punktes) dazu. Zum Schluss gibt´s noch ne Ausgabe  .

Werden Punkte ausgewählt die nicht mit "Point on surface" erstellt wurden wird logischerweise auch keine tangentiale Ebene e erzeugt da die Referenz fehlt  .

Anbei ist auch noch ein Beispielpart (CATIA V5 R19).

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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

Effak
Mitglied


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

Beiträge: 6
Registriert: 04.09.2009

CATIA V5R18

erstellt am: 09. Sep. 2009 09:30    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 Daniel,

vielen vielen Dank für deine schnelle und überaus ausführliche Antwort. Du hast mir sehr weitergeholfen, genau das suchte ich. Wegen irgendwelcher Fehler (Edit: Vermutlich, weil du V19 hast, ich V18) konnte ich zwar deine Beispieldatei nicht öffnen, aber das Skript hat an meinem eigenen Test-Bauteil super funktioniert. Sehr gut fand ich zudem, dass du (so wie ich auch) Wert darauf gelegt hast jeden möglichen Fehler seperat zu erkennen und bei Meldungen sowas wie "Es wurden 1 Ebenen erstellt" zu vermeiden    

Da ich das restliche Skript in VBA geschrieben habe, hoffe ich, dass sich das ohne Weiteres portieren lässt.
Merkwürdig finde ich übrigens, dass die Ebene nur dann erstellt wird, wenn ich ohne Vorauswahl Punkte anklicke - wenn ich in dem Dialog "Es wurde festgestellt dasd Sie bereits..." mit "Ja" die zuvor selektierten Punkte übernehme, entsteht keine Ebene (auch kein Fehler), aber das soll egal sein, Hauptsache man kann überhaupt automatisch diese Ebenen erzeugen.

Nochmals vielen Dank für deine Bemühungen, das hat mir sehr geholfen.
Effak

Edit:
Gibt es eigentlich auch eine Möglichkeit das Selbe für Punkte zu machen, die durch Verscheindungen erzeugt wurden?
Die Punkte haben dann z.B. den Typ "ZeroDimFeatVertexOrWireBoundaryMonoDimFeatVertex". Wenn ich im Skript nur

Code:
myType(0) = "ZeroDimFeatVertexOrWireBoundaryMonoDimFeatVertex"
setze, passiert ab der Auswahl überhaupt nichts mehr (keine Meldung - nichts). Aber da habe ich es mir sicherlich zu einfach gemacht.

Die Abschlussmeldung per TheEnd myValidCounter, myFailCounter, oSel ist bei mir übrigens noch nie erschienen   

MfG Effak

[Diese Nachricht wurde von Effak am 09. Sep. 2009 editiert.]

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 10. Sep. 2009 08:09    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 Effak 10 Unities + Antwort hilfreich

Hallo Effak,

ich hatte das Script ursprünglich in CATvba geschrieben und werde es mir heute nochmals anschauen (das mit dem Fehler in der Vorauswahl beheben), die Verschneidungen mit reinnehmen und dir dann nochmal als *.bas (Modulsicherung aus CATvba) hier reinstellen.

In dem Sinne bis heute Abend...  

[Edit] F7 Taste gedrückt  [/Edit]
------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

   

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 10. Sep. 2009 16: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 Nur für Effak 10 Unities + Antwort hilfreich


TangentPlane_v2.0.zip

 
Hallo,

hier jetzt die Version 2 des Scriptes. Das Selektionsproblem ist behoben und es können jetzt auch Intersect´s ausgewählt werden. Diese funktionieren natürlich nur wenn mindestens eine Referenz eine Fläche ist  .

Anbei ist wie heute früh schon erwähnt eine *.bas Datei. Diese kann im Visual Basic Editor importiert werden File -> Import File.

Bei Fragen und Problemen einfach wieder hier weiter machen 

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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