myCSharp.de - DIE C# und .NET Community (http://www.mycsharp.de/wbb2/index.php)
- Gemeinschaft (http://www.mycsharp.de/wbb2/board.php?boardid=64)
-- Projekte (http://www.mycsharp.de/wbb2/board.php?boardid=57)
--- 2D-MiniCAD (http://www.mycsharp.de/wbb2/thread.php?threadid=77342)
Geschrieben von byte_schubser am 14.10.2009 um 14:50:
2D-MiniCAD
Hallo zusammen,
MiniCAD kann als Gerüst zur vektorbasierten Darstellung von 2D Objekten benutzt werden. Das Weltkoordinaten System (CanvasWorld.cs) hat bereits die Funktionen Zoom und Pan integriert.
Damit man überhaupt was machen kann gibt es eine List<PointF> mit der Punkte bearbeitet und als XML gespeichert und geladen werden können. Weitere Objektbehandlungen gibt es noch nicht.
Die Zoom Funktion ist eine sogenannte Point Zoom Funktion – es wird um den aktuellen Mauscursor gezoomt.
Tastatur/Maus Funktionen:
Del – Ausgewählten Punkt löschen
Ins – Punkt in ausgewählten Punkt einfügen
F3 - Point Zoom in
F4 - Point Zoom out
Atl-F2 - Zoom/Pan Reset
Ctrl – Pan Enable (Maus Bewegung bestimmt Pan Position)
Mausrad – Point Zoom In/Out
Rechte Maustaste – Neuen Punkt einfügen
Linke Maustaste – Kontextmenü
Funktionen wie Grid und Snap wären vorteilhaft – kommen vielleicht noch irgendwann.
Für ein richtiges kleines CAD müssten dann noch Objekt- und Layerverwaltung , Erzeugung aller geometrischen Primitiven (Linien, Bögen etc.), Objektfang Möglichkeiten, sowie Ausgabe/Export implementiert werden. Nur eine Ausgabe über GDI+ macht keinen Sinn. Man muss die Primitiven selbst erzeugen und in einer einstellbaren Auflösung ausgeben können. Vielleicht wird ja ein Gemeinschaftprojekt draus…
Grüße
byte_schubser
Geschrieben von byte_schubser am 14.10.2009 um 14:53:
und hier das VS2008 Projekt...
Geschrieben von HannesB am 14.10.2009 um 15:45:
hallo,
habs mir gerade DL, weil der Screenshot nett ausgesehen hat.
so als Empfehlung: Du solltest unbedingt versuchen, GUI und Logik zu trennen - ev. hast du das eh noch vor.
Dann wäre der spätere Schritt zur Verwendung von z.B. WPF als GUI viel einfacher.
Auch die Methoden zum Laden/Speichern haben natürlich nix in der Form Klasse verloren.
...das soll jetzt kein "obergscheites dahergerde" sein, sondern eine anmerkung, weil es ja offensichtlich ein "übungsprojekt" ist.
fg
hannes
| © Copyright 2003-2013 myCSharp.de-Team. Alle Rechte vorbehalten. |
24.05.2013 15:01 |