Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  Genauigkeit von Koordinaten

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:  Genauigkeit von Koordinaten (1257 mal gelesen)
ztrewq
Mitglied


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

Beiträge: 5
Registriert: 24.04.2012

erstellt am: 12. Mrz. 2013 11: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

Liebe CAD.de-Gemeinde,

ich arbeite an einem Script, das eine Partitionierung eines Parts durchführen soll. Wichtig ist mir dabei, dass meine Partitionierung von Berechnungen von bereits erzeugten Knotenpositionen ausgehen muss. Daher erstelle ich während des Ablaufs meines Scripts ein Mesh, aus dem ich dann die Knotenkoordinaten aller Knoten auf einer bestimmten Kante auslese.
Nun passiert folgendes:
Beim Ausführen der folgenden Zeilen existiert von 121 Knoten genauer einer, bei dem die Fehlermeldung "Cannot project given point onto edge" ausgegeben wird:

Code:
mySet.edges[0].getCurvature(nodeList[i])["tangent"]

mySet.edges[0] ist dabei ein geometrisches Set, welches nur aus der aufgerufenen Kante (.edges[0]) besteht. nodeList ist eine Liste mit den Koordinaten aller Knoten, die auf dieser Kante erzeugt wurden.

Als ich das Script erstellt habe, hat der gesamte Code fehlerfrei funktioniert, es kann also kein Problem des eigentlichen Codes sein. Ich habe daher die fehlererzeugenden Koordinaten ausgelesen und einen Datum Point damit erzeugt. Dieser liegt nicht exaxt an der Stelle, an der der zugehörige Knoten liegt, sondern ganz leicht ausserhalb des Parts (der zugehörige Knoten liegt auf einer Kante am Rand des Parts).

Anscheinend ist also die Genauigkeit der Nachkommastellen beim Auslesen der Koordinaten nicht "kompatibel" mit der Toleranz beim Einlesen der Koordinaten in den oben gezeigten Code.
Ich würde mich freuen, wenn jemand mir erklären könnte, wie es zu dieser geringen Verschiebung kommt und eventuell ein alternatives Vorgehen vorschlagen könnte.

Viele Grüße und vielen Dank!
ztrewq

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

Mustaine
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 3554
Registriert: 04.08.2005

Abaqus

erstellt am: 14. Mrz. 2013 15: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 Nur für ztrewq 10 Unities + Antwort hilfreich

Ich kann leider nicht ganz folgen. Wozu braucht man beim abgreifen von Knotenkoordinaten und erstellen von Partitionen die Krümmung einer Kante?

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

ztrewq
Mitglied


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

Beiträge: 5
Registriert: 24.04.2012

erstellt am: 15. Mrz. 2013 11:01    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 Mustaine und vielen Dank für deine Antwort.

Ich erstelle ein Submodel, bei dem ich ausgehend von einer Kante im global model Partitionen erstelle und die drumherum liegenden cells lösche. Das funktioniert soweit wie gesagt auch ganz gut. Dafür benötige ich aber die Tangente an den Stellen, wo später Knoten liegen, um mit einem Kreuzprodukt eine Normale zu dieser Kante zu erzeugen und, noch wichtiger, ich muss faces anhand ihrer Koordinaten mit findAt auffinden. Wie gesagt nutze ich dafür die Tangente, die ich nach einem Kreuzprodukt mit der z-Achse meines selbst definierten Koordinatensystems als Normalenvektor interpretiere und die ich dann durch Multiplikation mit der Länge dieses (Einheits)vektors als Entfernung zu dem Knoten verwende.
Es geht hier also eigentlich nicht um ein echtes FEM-Problem, sondern vielmehr um räumliche Geometrie. Ich hoffe meine Erklärungen sind nun verständlicher.

P.s.: Ich habe nun das geometrisch exakt entsprechende Part des global models, welches das beschriebene Problem liefert, an anderer Position im globalen Koordinatensystem erzeugt und nun läuft mein Script auch bei diesem Modell vollständig und korrekt ab. Dennoch würde ich sehr gerne verstehen, warum das Problem entsteht.

Viele Grüße und nochmals vielen Dank
ztrewq

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