vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: dynamische Anzahl dynamischer Arrays 
Autor: Majuz
Datum: 09.08.10 00:13

Hi,

hab mir das ganze jetzt nochmals durch den Kopf gehen lassen. Irgendwie passt das für meine Anwendung noch nicht so ganz.
Ich schreib mal kurz, was ich machen möchte und würde mich freuen, wenn ihr mir sagen könnt, wie man das am besten machen kann.

Ich möchte eine Software schreiben um eine Einlinienschriftart für meine Tischfräse zu erstellen. Dazu soll man im Hintergrund einen Buchstaben reinladen können (auch als Bild, um z.B. eine Handschrift nachzufahren) und dann mittels Linien und Splines diese Buchstaben "nachfahren". Also erst mal grob, und dann soll man es noch verändern können. Also im Prinzip so wie bei MS Word wenn man eine Kurve Zeichnet und dann mittels rechtsklick die Punkte (rundes oder kantiges Eck...) und die Linienabschnitte (Spline oder gerade Linie) bearbeiten kann. Am Ende soll dann eine "fräsfähige" Datei dabei rauskommen. Am besten direkt G-Code.

Einen BezierSpline kann man ja direkt in VB machen (http://openbook.galileocomputing.de/visualbasic_2008/vb2008_15_gdi_002.htm#mj7e036d957a1ddf6ae907446a4b934c48) Allerdings glaub ich kaum, dass man davon am Ende den Verlauf des Splines als Koordinaten rausbekommt (zum Fräsen). Also bleibt wohl nur das selbst berechnen des Splines.

Mein Problem ist jetzt aber erst mal wie ich die Klasse aufbaue in der ich die Informationen Speichere. Wäre es dabei geschickt eine Klasse zu machen die nur einen Abschnitt der Kurve (Also zwischen 2 Stützpunkten) enthält und für jeden klick "mLines.Add(New Line)" zu machen? Insgesamt könnte die dann etwa so aussehen:

    Public Class Line
        Public LineStart As Point 'Startpunkt
        Public LineEnd As Point 'Endpunkt
        Public Type As Integer 'gerade Linie oder Spline
        Public StartTangente As Point 'Tangentenstützpunkt am Start (nur bei 
        ' Spline)
        Public EndTangente As Point 'tangentenstützpunkt am Ende (nur bei 
        ' Spline)
        Public StartType As Integer 'Art des Anfangspunktes (Eckig oder rund)
        Public EndType As Integer 'Art des Endpunktes (Eckig oder rund)
        Public StartID As Integer 'Elementnummer des vorhergehenden 
        ' Linienabschnitts (0 bei erster Linie)
        Public EndID As Integer 'Elementnummer des nachfolgenden 
        ' Linienabschnitts (0 bei letzter Linie)
    End Class
Den Verweiß auf die Vor- und Nachfolgende Linie brauche ich weil an einem Punkt immer zwei Linien liegen (außer beim ersten und letzten) und sich dann auch der entsprechend andere Linienabschnitt mitverändert (bei nem "runden Eck")

Gibt es da noch eine bessere oder schönere oder praktischere Lösung?
Vielen Dank!

Gruß Marius

PS: Wenn ich mir das jetzt nochmals durchlese kann ich nur hoffen, dass ihr versteht was ich meine, ansonten einfach melden Danke!
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
dynamische Anzahl dynamischer Arrays 1.947Majuz08.08.10 00:19
Re: dynamische Anzahl dynamischer Arrays1.505Christian2508.08.10 00:53
Re: dynamische Anzahl dynamischer Arrays1.372Majuz08.08.10 21:28
Re: dynamische Anzahl dynamischer Arrays1.582Majuz09.08.10 00:13
Re: dynamische Anzahl dynamischer Arrays1.374Majuz14.08.10 22:12
Re: dynamische Anzahl dynamischer Arrays1.396ModeratorRalfE08.08.10 09:22

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel