[gelöst]Koordinaten aus einer stl-Datei nach C++ importieren
-
Hallo,
ich habe Scandaten als .stl-Datei vorliegen, im ASCI-II Format.
Nun möchte ich mir entweder die Dreiecke oder die Punkte auslesen um aus dem ausgelesenen Material eine Liste (Vector oder Array) der Punkte in C++ zu erstellen. Damit ich dann mit den Punkten weiter arbeiten kann.
Es wäre nett, wenn mir jemand sagen könnte, wie das funktioniert oder wo ich das nachlesen kann.Ich wusste jetzt nicht, ob das Thema hierhin gehört oder ins Grafik-Forum.
Danke schon mal im voraus.
-
Einfach mit einem std::ifstream die Datei öffnen und dann mit >> die entsprechenden Elemente lesen.
-
Wo hakt es denn?
-
krümelkacker schrieb:
Wo hakt es denn?
Das ging ja schnell, danke euch beiden.
Es hakt daran, dass ich überhaupt nicht weiss wie ich an die Sache heran gehen soll.
Bisher habe ich immer nur in C++ programmiert. Wenn es eine Schnittstelle bisher gab, haben die Proffs das für uns erledigt.
Jetzt muss ich jedoch eine Schnittstelle selber programmieren und habe so etwas noch nie gemacht, ausser Triviales, z.B. in Java Bilder importiert usw.Das Problem ist wenn ich "stl" mitsuche bei google, spuckt er mir immer etwas von einer c++-Bibliothek aus, die auch stl heisst.
-
Kentatschdis schrieb:
Bisher habe ich immer nur in C++ programmiert. Wenn es eine Schnittstelle bisher gab, haben die Proffs das für uns erledigt
Ja.. "Schnittstelle"..
Kentatschdis schrieb:
Das Problem ist wenn ich "stl" mitsuche bei google, spuckt er mir immer etwas von einer c++-Bibliothek aus, die auch stl heisst.
STL = Standard Template Library, Teil der C++ Standardbibliothek.

Aber ohne Frage können wir dir nicht wirklich weiterhelfen. theta hat eigentlich schon alles geschrieben. Du öffnest die Datei und liest dann aus.. wie aus std::cin.. das hast du doch schon mal gemacht?
http://www.cplusplus.com/reference/iostream/ifstream/
-
Fange mal so an:
1. Visual Studio 2010 Express herunterladen und installieren
(http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express)
2. Visual C++ - Win32 Console Projekt mit Option 'Console application' erzeugen
3. Im *.cpp File wo was von main steht folgendes reinschreiben:// Falls stdafx.h inkludiert wird, muss sie an erster Stelle sein. #include <fstream> #include <iostream> int main() { std::ifstream stream("PfadZuDeinerSTLDateiInklusiveNamen.stl"); if (!stream) { std::cerr << "Konnte die Datei nicht öffenen" << std::endl; } int wert = 0; // Erster Zahlenwert lesen. stream >> wert; }PS: Ziemlich sicher steht nicht main(..) sondern _tmain(..) - einfach ignorieren und so lassen.
Edit: Typo korrigiert
-
Kentatschdis schrieb:
Das Problem ist wenn ich "stl" mitsuche bei google, spuckt er mir immer etwas von einer c++-Bibliothek aus, die auch stl heisst.
Ich finde bei so einer Suche auch das hier:
http://en.wikipedia.org/wiki/STL_(file_format)
-
OK, vielen Dank an alle erst mal.
Ich werde mir das mal genauer anschauen und das so probieren, wie ihr das vorgeschalgen habt.
Vielleicht ist es ja auch am Mut gescheitert.Falls noch konkrete Fragen auftauchen sollten, melde ich mich nochmal.
-
krümelkacker schrieb:
Kentatschdis schrieb:
Das Problem ist wenn ich "stl" mitsuche bei google, spuckt er mir immer etwas von einer c++-Bibliothek aus, die auch stl heisst.
Ich finde bei so einer Suche auch das hier:
http://en.wikipedia.org/wiki/STL_(file_format)Ich gebe "c++" immer mit ein, weil ich das alles für c++ brauche.
Naja egal, einen ersten Ansatz habe ich ja, mal schauen, was passiert.
-
theta schrieb:
Fange mal so an:
1. Visual Studio 2010 Express herunterladen und installieren
(http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express)
2. Visual C++ - Win32 Console Projekt mit Option 'Console application' erzeugenWarum sollte er sich Visual Studio holen?
Wenn er Mac/Linux hat war das eine doofe Idee.
-
theta schrieb:
PS: Ziemlich sicher steht nicht main(..) sondern _tmain(..) - einfach ignorieren und so lassen.
Warum zeigst du ihm nicht einfach, wie man eine ISO-C++ konforme Anwendung erstellt?

-
@Ethon: Ach, sei mal nicht so... wenn er will und kann nimmt er/sie VS, wenn nicht dann nicht...
@PI: Finde ich auch wichtig mit dem ISO, aber man darf ruhig auch mal den Fokus aufs Wesentliche richten, beim einem Anfänger IMHO nicht unbedingt ISO Konformität. Ausserdem ist in meinem Beitrag der Code ISO konform und der Hinweis bezüglich _tmain(..) soll lediglich im realen Leben helfen.
-
Das Problem ist, dass vorkompilierte Header bei vielen Anfängern zu Verwirrung und Problemen führen.
-
314159265358979 schrieb:
Das Problem ist, dass vorkompilierte Header bei vielen Anfängern zu Verwirrung und Problemen führen.
Das ist gut möglich, jedoch ist es die default Einstellung im VS (zumal stdafx.h nicht zwingend precompiled Header bedeuted).
-
Nochmals Danke an alle
