| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| FMB |
Autor
|
Thema: Flächennormale bestimmen (4827 mal gelesen)
|
max1234 Mitglied
Beiträge: 13 Registriert: 07.05.2010
|
erstellt am: 07. Mai. 2010 14:23 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich bin neu hier und habe auch kaum erfahrung mit SolidWorks. Ich habe folgendes Problem: Ich habe eine gebogene Fläche und ich brauche an fast jedem Punkt der Fläche die Koordinaten der Flächennormalen. 1. Gibt es bei Solidworks die Möglichkeit ein 3d Modell in eine Punktwolke umzuwandeln? Also nur die Oberfläche. 2. Kann ich die Koordinaten der Flächen- bzw.Punktnormalen an jedem Punkt bestimmen? Man kann das sicherlich auch mathematisch machen, aber wenn man verschiedene Bauteilkomponenten senkrecht zueinander platzieren kann, dann muss das Programm ja auch die Normale kennen. Ich hoffe, ihr könnt mir helfen [Diese Nachricht wurde von max1234 am 07. Mai. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 07. Mai. 2010 14:50 <-- editieren / zitieren --> Unities abgeben: Nur für max1234
Hallo max1234 (alter AOL Name? *gg* ) Zitat: Original erstellt von max1234: ich bin neu hier und habe auch kaum erfahrung mit SolidWorks.
Na dann herzlich willkommen im SolidWorks Brett, ich hoffe du findest hier Hilfe und kannst Erfahrungen sammeln - und auch weitergeben. Zitat: Original erstellt von max1234: Ich habe folgendes Problem: Ich habe eine gebogene Fläche und ich brauche an fast jedem Punkt der Fläche die Koordinaten der Flächennormalen. 1. Gibt es bei Solidworks die Möglichkeit ein 3d Modell in eine Punktwolke umzuwandeln? Also nur die Oberfläche.
Fast jeder Punkt könnte aber eine ganze Menge werden, wenn man bedenkt, dass so eine Fläche aus unendlich vielen Punkten besteht. Und das Abspeichern als Punktwolke ist nicht ganz so einfach, aber indirekt möglich: du kannst ein Modell als STL speichern, da steht im Prinzip nichts anderes drin als viele, viele Punkte. Was vielleicht auch ging per Makro da heran zu gehen, es gibt so etwas PartDoc::GetTessTriangles, dass dir etwas ähnliches liefert, die Koordinaten der ganzen Punkte, die die Tesselation beschreiben (also die grafische Darstellung des Modells in vielen kleinen Dreiecken). Zitat: Original erstellt von max1234: 2. Kann ich die Koordinaten der Flächen- bzw.Punktnormalen an jedem Punkt bestimmen? Man kann das sicherlich auch mathematisch machen, aber wenn man verschiedene Bauteilkomponenten senkrecht zueinander platzieren kann, dann muss das Programm ja auch die Normale kennen.
Mit Bordmitteln kannst du das so machen: erzeuge eine 3D-Skizze und darin eine Linie. Nun den einen Punkt deiner Linie mit der entsprechenden Fläche mit der Beziehung "Auf Oberfläche" versehen und die Linie selbst dann zur Fläche "Senkrecht" setzen, schon hast du einen konstruierten Normalenvektor, den du schön über die Fläche ziehen kannst (siehe Bild). Oder auch hier wieder die API Variante: PartDoc::GetTessNorms gibt dir für die ganzen Triangles jeweils die Normalenvektoren. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Stefans SolidWorks Blog
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
max1234 Mitglied
Beiträge: 13 Registriert: 07.05.2010
|
erstellt am: 07. Mai. 2010 15:21 <-- editieren / zitieren --> Unities abgeben:
Danke für die schnelle Antwort. Faste jeder Punkt ist vielleicht übertrieben. Das ganze wird wohl iterativ erfolgen. Immer feiner werden, bis die gewünschte Genauigkeit erreicht ist. Wie komm ich denn an dieses Makro ran? Oder gibt es das schon? Wenn ja, wie wende ich es an? Vielleicht könntest du das anhand eines simplen Beispiels erklären. zB: Ich habe mir eine Kugel erstellt und möchte die Kugel in eine bestimmte Anzahl an Triangles einteilen. Und zu denen dann den Normalenvektor bekommen danke max Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 07. Mai. 2010 15:35 <-- editieren / zitieren --> Unities abgeben: Nur für max1234
Hallo max1234, Zitat: Original erstellt von max1234: Wie komm ich denn an dieses Makro ran? Oder gibt es das schon? Wenn ja, wie wende ich es an?
Ran an die API Hilfe und in SolidWorks Extras/Makros/Neu. Ich wüßte nicht, dass es so etwas schon gibt, ist doch eine sehr spezielle Anforderung, die ich das erste Mal höre und mir nicht im entferntesten Vorstellen kann, wofür man das gebrauchen könnte. Zitat: Original erstellt von max1234: Vielleicht könntest du das anhand eines simplen Beispiels erklären. zB: Ich habe mir eine Kugel erstellt und möchte die Kugel in eine bestimmte Anzahl an Triangles einteilen. Und zu denen dann den Normalenvektor bekommen
Nein, das tut mir leid, kann ich dir nicht erklären. Ich hab weder so ein Makro, noch wüßte ich einen einfachen Weg das mal eben zu machen. Über den Umweg der STL Datei müsstest du aber daran kommen können, als STL (ASCII) speichern, vorher in den Optionen die Auflösung einstellen und dann durch die tausenden Zeilen im STL File grasen und die Infos raussuchen. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Stefans SolidWorks Blog Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
max1234 Mitglied
Beiträge: 13 Registriert: 07.05.2010
|
erstellt am: 07. Mai. 2010 15:56 <-- editieren / zitieren --> Unities abgeben:
Aber das ist doch schon mal etwas. So komme ich jedenfalls an die Koordinaten der Punkte und Normalen ran. Was ich damit dann anfangen kann ist ein anderes Problem. Eine reine Datei, wo nur die Punkte drinstehen gibt es nicht, oder? Also ohne "facet normal", "endloop" usw. Dann könnte man die Punkte leichter rauslesen (Programm schreiben). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 07. Mai. 2010 16:02 <-- editieren / zitieren --> Unities abgeben: Nur für max1234
Zitat: Original erstellt von max1234: Eine reine Datei, wo nur die Punkte drinstehen gibt es nicht, oder? Also ohne "facet normal", "endloop" usw. Dann könnte man die Punkte leichter rauslesen (Programm schreiben)
Nein, aber du kannst das z.B. nach Excel einlesen, dort sortieren, alle Zeilen, die du nicht wilsst löschen und mit Suchen/Ersetzen den Rest aus den einzelnen Zeilen löschen. In ca. 26 Sekunden erledigt Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Stefans SolidWorks Blog Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
max1234 Mitglied
Beiträge: 13 Registriert: 07.05.2010
|
erstellt am: 07. Mai. 2010 16:12 <-- editieren / zitieren --> Unities abgeben:
|
Thisoft Mitglied Konstrukteur
Beiträge: 178 Registriert: 10.04.2010 SWX 2018 Standard SP 3 Win10 Professional 64Bit Intel Core i7 7700K 16 GB RAM AMD FirePro W5000 =Beruf SW 2018 Standard SP0 Win10 Professional 64Bit Intel NUC Core i5-6260 12GB RAM Intel Onboard =Privat
|
erstellt am: 10. Feb. 2012 07:27 <-- editieren / zitieren --> Unities abgeben: Nur für max1234
ACHTUNG! Sie antworten auf einen Beitrag der älter als 1 Jahr ist! Hallo max1234, wenn Du noch hier aktiv bist und mit dem angesprochenen Projekt weitergekommen bist würde ich mich freuen was von Dir zu hören. Ich bastle nämlich gerade an einer ähnlichen Aufgabe herum. Gruß Thilo
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |