German Elektroschaltplan zeichen

Bobbes

Active Member
Licensed User
Longtime User
Hi specci, man verzettelt in einem tread sehr schnell:sign0013:

Hi Klaus, die Gif.Dateien die ich bis jetzt habe sind in der ZIP-Datei unter test.
Mit dem Programm Oberfläche kann du dir vielleicht ab bessten ein bild machen.

Gruß Bernd
 

Attachments

  • CAD PPC.zip
    61.9 KB · Views: 500

klaus

Expert
Licensed User
Longtime User
Hi Bernd,

Ich habe in Deinem Programm Oberfläche ein bisschen rumgefummelt, mit ein Paar Anregungen.

Die neue Version is beigelegt mit einer bitmap Datei Leer.bmp.
Du musst noch die dzImage.dll und dzImageDesktop.dll Libraries dazuladen.

Änderungen:
- die RasterBreite auf 16 gesetzt, mit GridW=16 und GridW2=8 halbe Breite, Ich arbeite lieber mit Variablen, wenn man zum Beispiel die Rasterbreite ändern will, braucht man nur die beiden Variblen zu ändern und der Rest ist automatisch.

- wenn Du ein Schema wählst und dann auf den Bildschitm klickst wird das gewählte Bild gezeichnet

- die Bilddaten werden gespeichert in
BildNb = Anzahl der Bilder
BildX(i) x Rasterkoordinate
BildY(i) y Rasterkoordinate
BildTyp(i) Nummer des Schemas

- wenn Du auf eine besetzte Stelle klickst bekommst Du eine Meldung mit Bildnummer und Bildtyp.

- wenn nochmals auf das gleiche Bild klickst und mit gedrückter Taste die Maus verschiebst, verschiebt sich das Bild, deshalb das Leer.bmp.

Das mit dem Leerbild kann man auch anders machen, ist nur eine Anregung. Könnte es in die ImageList1 mit einbinden aber nicht anzeigen.

Noch ein Paar Vorschläge:

- in dem Panel, die Bilder als ImageButton anzeigen, und dort auch wählen können.

- es währe interessant eine Verkablungsfunktion zu erstellen, man wählt diese, klickt auf das erste Bild, verschiebt die Maus, lässt los und das Programm zeichnet die Verkablung. Da würdest Du nicht die ganzen Verkablungsbilder brauchen, nur die Verknüpfungen.

Grüsse.

EDIT: alte Version gelöscht.
 
Last edited:

Bobbes

Active Member
Licensed User
Longtime User
Hi Klaus,
vielen Dank für deine viele Arbeit, ich werde mich im Urlaub intensiv damit beschäftigen (ehrlich )!!

Bis zum 12.06.08 dann werde ich Euch wieder mit Fragen bombadieren.

MfG Bernd
 

Bobbes

Active Member
Licensed User
Longtime User
Hi Klaus habe leider ein Fehler in Anweisung 226

MfG
Bernd
 

Bobbes

Active Member
Licensed User
Longtime User
Hier ist schon mal eine Vorversion.
Das mit den Verbindungen ist noch etwas schwierig.
welch Koordinaten müssen bei drawer.DrawLine(pen1.Value,x1,y1,x2,y2)
x1,y1,x2,y2 verwendet werden?

Gruß Bernd
 

Attachments

  • CAD PPC.zip
    153.8 KB · Views: 452

klaus

Expert
Licensed User
Longtime User
Hallo Bernd,

Ich habe mir dein Programm näher angeschaut und habe einige Änderungen vorgenommen die Du im beigefügten Programm findest.

Ich habe auch einen Anfang für Verdrahtung eingebunden, bin aber nicht überzeugt dass es die Beste Lösung ist. Es sind zu viele verschiedene Möglichkeiten mit den Bildern.
1 Anschluss oben und unten
2 Anschlüsse oben und unten
3 Anschlüsse oben und unten
1 Anschluss oben, unten, links, rechts
usw.

Das Alles in einer Verdahtungsroutine zu verarbeiten wird sehr kompliziert werden. Ich bin daher überzeugt dass es einfacher ist mit Deinen Verdrahtungsbildern weiter zu fahren. Denn dann müsste man auch noch Daten, für jedes Bild, hinzufügen die diese Parameter enthalten.

Ich habe auch Routinen eingefügt die die Bildparameter speichern und lesen, mit den 2 leeren ToolBarButtons. Mit 2 Dateien.

Man könnte auch die Bildergrösse mit einer ungeraden Pixelanzahl (15*15)verwenden dann wären die Leitungslinien in der Mitte. Aber das ist reine Kosmetik. Habe die Rasterpunkte um 1 Pixel versetzt so dass sie mit den Linien übereibstimmen.

Beste Grüsse

EDIT: alte Version gelöscht
 
Last edited:

Bobbes

Active Member
Licensed User
Longtime User
Hi Klaus,
Danke für Deine Mühe.
die Pixelzahl zu ändern ist eine gute Idee. Ich habe abe eher an 17x17 Pixel gedacht. Weil ich bei manchen Kontakten bzw. Schaltern oder Geräten mit 16x16 nicht hingekommen bin. Bin gerade an übelegen ob ich nicht die Images auf zwei Panels aufteile (Geräte und Schalter "Panel1" und Verbindungen "Panel2").
In deisem Programm fehlt aber irgendwie noch die Geräteberschriftung. In deinem Prog Frequenz hast du eine Nummerierung der einzelnen Symbole. Wie hast du das gemacht ?

Gruß Bernd
 

klaus

Expert
Licensed User
Longtime User
Hallo Bernd,

Ob es nun 15 oder 17 Pixel sind ist ja egal, Hauptsache ist dass sie lesbar sind und warum nicht 19 wenn die Bilder besser lesbar wären.
Ich finde auch dass die Bilder auf 2 Panels bestimmt übersichtlicher werden.

Eine Idee wäre die Images durch ImageButtons zu ersetzen. Alle ImageButtons auf Transparent=true setzen, und das gewählte Bild mit Transparent=false hervorheben.

Die Numerierung im Programm Frequenz habe Ich mit DrawString gemacht.

MainForm.DrawString(i,7,x+2,y-5,239,339,Col)
i = Nummer des Bildes
7 = FontSize Textgrösse
x+2 und y-5 Koordinaten x und y sind Mittelpunkt des Bildes
+2 und -5 Verscheibung genüber dem Mittelpunkt, Bildabhängig
239 und 339 grosse Zahlen damit der Text auch sicher gezeichnet wird
Col Farbe

Grüsse
 

Bobbes

Active Member
Licensed User
Longtime User
Hi Klaus,
das mit der Beschriftung funtz super!!

Wie kann ich eigentlich einen neuen Bildschirm erzeugen ?
Kann ich wenn ich die FormSize vergrößere, sie mit einem Scrollbalken verschieben, um einen größeren Bildschirmzu bekommen ?
Gruß Bernd
 

Bobbes

Active Member
Licensed User
Longtime User
Hi Klaus,
Ich hab nochmal ein bisschen gespielt.

Gruß Bernd
 

Bobbes

Active Member
Licensed User
Longtime User
Hi Klaus,
genau das wars. Aber warum muß das immer so kompliziert sein ?

Nur irgendwie werden die Zeichen nicht mehr sichtbar.

Schau doch bitte nochmal drüber, ob das mit den 4 verschiedenen ArrayListdateien so richtig ist.
Auf dem Desktop geht eigentlikch alles ganz gut, selbst wenn neue Zeichen dazu kommen fügt er sie ordnungsgemäß in das richtige Panel ein. Auf PPC fügt er nur das ein was ihm gefällt.

Gruß Bernd
 

Bobbes

Active Member
Licensed User
Longtime User
hi ,
Ich hab nochmal ein bisschen gespielt.

Das ist dabei rausgekommen

Gruß Bernd

P.S.: CAD_V_1_4
 

klaus

Expert
Licensed User
Longtime User
Hi Bernd,
Ich habe auch wieder gespielt.
Mit grossem bitmap.
Auf dem PPC noch nicht probiert.
Die Bilder für die MenüButtons solltest Du auf 16*16 Pixel reduzieren denn si sind verschwommen.

Grüsse

EDIT: alte Version gelöscht
 
Last edited:

Bobbes

Active Member
Licensed User
Longtime User
Hi klaus,
danke fürs "drübergucken".
Eine Fage hab ich aber noch : Auf dem Desktop ist meine "Malfläche" immer weis (wie es ja auch sein sollte) . Sobald ich das Ganze auf dem PPC(MDAVario III) laufen lasse ist der Screen Schwarz.
Bei dem Prog was ich zum Schluß geposted hatte was das nicht.
Ich habe auch schon Image.color und die Form.Color geändert. Immer ein schwarzer Bildschirm.
Wo wird das geändert ?

Gruß Bernd
 

specci48

Well-Known Member
Licensed User
Longtime User
Hallo zusammen,

:sign0006: Ich wollte mich wieder aus dem Urlaub zurückmelden...

'on topic': Auch wenn ich recht wenig von den Elektroniksachen verstehe, so gefällt mir euer Programm bisher ganz gut. Elemente platzieren, dazu eine Eingabe anfordern und die Eingabe neben das platzierte Element schreiben. Phantastisch wie simpel das eigentlich (mit Basic4ppc) ist.
Bei Gelegenheit schaue ich mir auch den Code noch einmal genauer an, da gibt es sicherlich einiges zu lernen :sign0095:

Viele Grüße
(ein "braungebrannter") specci48
 

Bobbes

Active Member
Licensed User
Longtime User
hi braungebranter und der hoffentlich gut erholter Specci48,
ich bin auch immer wieder begeistert vom B4P, obwohl ich sagen muß, das mir immer noch einiges rätzelhaft ist.
Aber das gehört in einen anderen Thread

Gruß Bobbes
 

klaus

Expert
Licensed User
Longtime User
Hallo specci48, willkommen bei den 'Elektrikern' ! Obwohl Ich auch keiner bin.
Hoffe Du hattest schöne Ferien, und warst nicht zu frustriert ohne B4PPC.

Hi Bernd,
Es schein als wenn eine leere Bitmap auf dem Desktop weiss ist und auf dem PPC schwarz. Das Problem ist gelöst.

Ich fand die Eingabe vom Text, auf dem PPC, sehr langsam. Hatte dafur die TextBox12 eingefügt, in welche ich Zeitmessungen eingetragen hatte um zu sehen wo die Zeit verloren ging. Mit dieser TextBox geht es viel schneller, sie ist ganz oben recht. Hab viel Versuche gemacht, leider muss sie sichbar bleiben, ansonsten wird es wieder langsam. Habe noch nicht verstanden warum. Die Zeitmessungen sind nicht mehr drin.

Der Text für die Bilder wird auch gespeichert.

Habe einige If Then Else If unw. vereinfacht.

Willst Du den Raster weglassen oder beibehalten. Ich finde der Benützer sollte die Wahl haben. Zur Eingabe ist er praktisch aber zur Ansicht ist er nicht mehr nötig. Eine Idee wäre ein Config Panel zu erstellen wo man diesen und andere Parameter wählen kann und das Ganze in einer Config Datei zu speichern.

Falls Du mit dieser Version einverstanden bist können wir einige Zeilen löschen, Ich hab sie drin gelassen zum Vergleich.

Hab die letzte Version auch auf meinem Qtek 9090 getestet und einige Höhenstellungen angepasst.

Hoffe dass Du nicht zu viele Erneurungen in der Zwischenzeit erstellt hast damit wir unsere Versionen noch leicht verschmelzen können.

Habe den Raster auf 17 Pixel erhöht da die Schaltzeichen jetzt 17*17 Pixel sind. Das Leuchte- und Motorsymbol könnten symetrisch sein der Kreis ist unsymetrisch. Es scheint als wären die Bilder mit Transparentfarbe, würde Ich vermeiden wegen dem Raster.

Noch ein Vorschlag, der Text für die Bilder sollte rechts ausgerichtet sein, den mit längeren Texten wird das Symbol überschrieben. Oder man müsste die Textlänge begrenzen.

Welche Funktion hat der 5te Menubutton, zwischen Undo und Load ?

Für die Speicherfunktion stelle Ich mir 2 Funktionen vor, eine für die CAD Daten, und eine für das komplette Schema als Bilddatei zur Verwendung in andern Programmen. Zum Einlesen genügt die CAD Datei, denn von der kann man das Bild ja wieder zeichnen.

Grüsse

EDIT: alte Version gelöscht
 
Last edited:
Top