Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  Reihenfolge auslesen

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
  
CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48
  
KISTERS 3DViewStation: Schutz sensibler 3D CAD Daten, egal von wo Sie arbeiten, eine Pressemitteilung
Autor Thema:  Reihenfolge auslesen (790 mal gelesen)
Timberwolve
Mitglied



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

Beiträge: 233
Registriert: 21.07.2006

erstellt am: 18. Feb. 2010 08: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


Punkte.jpg

 
Hallo Leute,

ich suche wieder mal einen Spezialisten ;-)

Ich habe folgendes Problem. Im Anhang findet ihr ein Bild von Punkten in einer Zeichnung. Diesen Punkten möchte ich eine gewisse reihenfolge geben. und zwar genau die, die ihr auf dem Bild seht. Die Punkte sind vom 3D-abgeleitet und werden auch von dort aus gesteuert. Das soll jedoch nicht der Punkt sein. Der Nullpunkt der Ansicht liegt wie ihr auf dem Bild sehen könnt, auf der Blauen Achse. Nun möchte ich quasi die Reihenfolge so von meinem Makro ermittelt haben, wie ihr es auf dem Bild seht (A,B,C).
Ich habe die Punkte bereits in einem Array gesammelt, und nach Y Absteigend sortiert (also grösstes Y als erstes).
Allerdings ist nicht gewährleistet das der rechte Punkt (B,D,F) in der Y-Koordinate immer kleiner ist. also kann es in meinem Array passieren, das die Reihenfolge z.B. A,B,D,C,F,E ist, was ja für meinen Bedarf falsch wäre.
Das beispiel ist nun einfach gehalten mit 6 Punkten und jeweils 2 Punkte pro Reihe. können aber auch mehr Punkte werden. z.B. 30 und 3 pro Reihe mit 10 Reihen.

Hat jemand eine Idee wie ich das Lösen könnte, das dieses ungefähre Raster per Makro berechnet oder eher sortiert wird?

Gruss Timber

------------------
Wenn alle Stricke reissen, nehm ich ein Drahtseil

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 18. Feb. 2010 20:05    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 Timberwolve 10 Unities + Antwort hilfreich

Hallo Timber,

um den Algorithmus zu testen habe ich die Datein ins Excel eingetippt.
Die Aufgabe kann man als "Sortieren nach 2 Schlüssel" definieren.
1) Nach Y absteigend (hast bereits gemacht)
2) Nach X aufsteigend.

Zeit und Lust es umzusetzen habe ich momentan keine, ich würde aber wie folgt vorgehen:
1) Array mit irgendein Sortieralgorithmus absteigend sortieren (bereits erledigt)
2) Aus diesen Array den ersten Eintrag nehmen, merken
3) Prüfen, ob Y Wert der nächsten Eintrag=gemerkter Eintrag
Ja: neues Array zum Sortieren aufmachen
Nein: Wert im neuen Array sortieren und Inhalt in die Ausgabearray verschieben
Schritt 3) wiederholen, bis alle Daten verarbeitet wurden.

Wenn du etwas mehr Zeit für die Suche im Internet verwendest, willst du vielleicht auch fertige Lösungen finden.

Gruß,
Zoltan

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

CATIA V5R19

erstellt am: 18. Feb. 2010 22:33    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 Timberwolve 10 Unities + Antwort hilfreich

Servus

Ich hab mal ein bisschen gegoogelt: schau mal hier
Mann muss ja nicht alles zweimal erfinden.

Gruß
Bernd

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

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

tobul
Mitglied
Physiker


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

Beiträge: 192
Registriert: 06.05.2003

erstellt am: 19. Feb. 2010 11:24    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 Timberwolve 10 Unities + Antwort hilfreich

Hallo!

Wenn ich das Problem richtig verstehe, dann ist der "Knackpunkt", dass die strenge Sortierung nach Y ja NICHT hilfreich ist, da die Punkte auch "leicht verschoben" sein können.

Deshalb würde ich es so machen:
Erst "unscharf" nach Y sortieren, dann innerhalb der Zeilen nach X sortieren.

Für das "unscharf" muss halt erst mal eine Bandbreite definiert werden, innerhalb der es als "gleiche Zeile" und was darüber hinaus geht als "neue Zeile".

Ich habe das schon mal realisiert, aber das ist länger her und ich weiß nicht, ob es die "eleganteste" Methode ist - aber es hat funktioniert.
Konkret ca. so:
Liste aller y-Werte bauen
Für jeden Eintrag aus dieser Liste:
_Falls nicht schon wegen "Unschärfe" vorher bearbeitet:
__Alle Punkte suchen, die innerhalb der "unscharf-Breite"
__liegen einsammeln, nach X sortieren und ausgeben

Ob "hemdsärmlig" oder "schön" (Bubblesort) sortiert wird, hängt von der Anzahl der Punkte und den Ansrüchen an die Laufzeit ab.
Bei 100 Punkten sag ich mal, dass das völlig egal ist

salu'
tobul

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