German Elektroschaltplan zeichen

klaus

Expert
Licensed User
Longtime User
Hier Version 2_9 mit Druckerfunktion, aus agrahams Beispiel entnommen.

Leider kann man diese Version nicht für den PPC kompilieren, hoffe dass agraham eine Dummylibrary macht. Habe versucht den Sourcecode als Textdatei zu speichern aber B4PPC stürtzt ab, weiss nicht warum.

Bitmapbilder für die Buttons sind mit dabei.

EDIT zip Datei gelöscht

Grüsse.
 
Last edited:

klaus

Expert
Licensed User
Longtime User
Hi Bernd,

Version 2_10 mit drehen und mit Druckerfunktion, und kompilierbar für beide, PPC und Desktop.

FlipHorizontal und FlipVertical funktioniert jetzt auch.

Der Schaltzeichenordner ist noch der alte.

Den Code für den Drucker habe Ich vorläufig in eine Textdatei gespeichert die automatisch geladen wird.
Wenn agrahams Dummylibrary fertig ist können wir das Ganze vereinfachen, und werden auch einen waagrechten ScrollBar für die RichTextBox haben.

EDIT zip Datei gelöscht

Beste Grüsse.
 
Last edited:

Bobbes

Active Member
Licensed User
Longtime User
Hi Klaus,
ich glaube ich habe jetzt den Überblick verloren.
Ich war gerade an der Änderung das man das Gedrehte Schaltzeichen in deiner imgSymbol erst sieht bevor man es zeichent.
Werde die Änderung machen und dann neu posten.

Grüße Bernd
 

Bobbes

Active Member
Licensed User
Longtime User
Hi Klaus,
ich versuche jetzt seit 2 Tagen das imgSymbol.image mit dem später sichtbarem Symbol zu syncronisieren. Weil so sieht man garnicht, wie das symbol letztendlich aussieht. Eigentich würde doch ein Rotations-Button reichen, der bei jeder Betätigung das imgSymbol.image um 90° im Uhrzeigersinn rotieren läßte. Und dann noch analog dazu das später sichtbare Symbol .

gruß

Bernd
 

klaus

Expert
Licensed User
Longtime User
Hi Bernd,

Das kommt darauf an wie Du Dir das vorstellst, und wie Du die Daten speichern willst.
Ich hatte die Idee mit mehreren Buttons zu arbeiten den und für jede Drehungsart einen Index zu haben der eben die Drehung definiert, und gleich bleibt solange sie nicht geändert wurde.
Wenn Du nur einen Button hast musst Du dann eine Variable haben die die Anzahl der Drehungen speichert. Es ist gar nicht so leicht zu sagen welche Lösung von der Bedienung her am praktischsten ist.
Die Idee das Endbild des Symbols unten rechts anzuzeigen ist prima !
Um das gedrehte Bild in imgSymbol.Image zu setzen kannst Du mit der bmpRotate Bitmap arbeiten.
Du musst

B4X:
imgSymbol.Image=ImageList1.Item(ImageNr)

durch

B4X:
bmpRotate.Value=dzImage1.RotateImage(ImageList1.Item(ImageNr),90)
imgSymbol.Image=bmpRotate.Value

ersetzen.

Grüsse.
 
Last edited:

klaus

Expert
Licensed User
Longtime User
Hi Bernd,
Hier ist Version2_11 mit gedrehtem imgSymbol, und den neuen RichTextBox Libraries von agraham für den Drucker.
Agraham hat uns neue Libraries geschrieben, eine neue Library für den PPC und eine für den Desktop mit einigen neuen Properties.
Die RichTextBox für den Drucker hat jetzt auch eine waagrechte ScrollBar.
Habe gerade noch gesehen dass auf meinem PPC die FlipHorizontal und FlipVertical Funktionen nicht richtig funktionieren, auf dem Desktop sind sie auch nicht ganz sauber. Habe noch nicht gesucht woher das kommt.

EDIT zip Datei gelöscht

Grüsse.
 
Last edited:

Bobbes

Active Member
Licensed User
Longtime User
Hi Klaus,
wie immer bin ich total BEGEISTERT :sign0188::sign0188::sign0188:.
Habe das Ganze nochmal eingehen getestet.

Mir ist folgendes aud gefallen:

Wenn ich Symbolle um (Habe die Icons im Rotate-Panel doch nochmal geändert) z.B.: 90° drehe werden sie so auch dann aus Display gebracht.
Beim zeichnen des nächsten Symbols ändern sie wieder Ausrichtung auf 0°

Wen ich ein Bild dann speichere und wieder lade sind alle Symbole wieder auf 0°

Es kommt wieder diese Fehlermeldung, die schon in der Version V2_7 vor kam.
Nach ca. 100 Symbolen kommt diese Fehlermeldung.

Schreibe später mehr muß Essen

Gruß
 
Last edited:

klaus

Expert
Licensed User
Longtime User
Hallo Bernd,

Ich bin ja froh dass dir meine 'Hirngespinste' gefallen.

Habe auch noch ein bisschen gespielt.

Nach Deiner Frage ob nicht ein Drehbutton reichen würde, habe Ich eine Version 2_13 gemacht mit nur einem Button (auf deiner Version 2_11 vom letzten Post aufgebaut), warum 2_13, eine Version 2_12 gabs bei mir schon.
Die Anzahl der Symbole würde sich ja dann sehr verringern.

Probiere diese Version mal aus um zu sehen welche Methode am praktischsten ist. Ein DrehButton oder 4 ?

Ich habe nur die *.sbp Datei gepostet denn alles andere ist gleich.

Es gibt einen Schönheitsfehler mit den 2 Ersten Symbolpanels die zu gross sind, habe noch nachgeschaut warum das so ist.

Viel Spass.


EDIT zip Datei gelöscht

Grüsse.
 
Last edited:

Bobbes

Active Member
Licensed User
Longtime User
Hi Klaus,
V2_13 läuft sehr stabil.

Hier und da sind noch ein paar Bugs.
Es kann vorkommen das ich ein Symbol drehe und es dann trotzdem im ursprungs Zustand abgebildet wird.

Das ist auch eigentlich das einzigste was mir auffällt.

Bitte ändere noch das AboutPanel , Meinetwegen in : Idee und Symbols Bernd Heil und Programm by Klaus Christl, mit freundilcher Unterstützung der B4P-Community , oder so ähnlich


Gruß Bernd

Edit: Habe am PnlEditTool noch was geändert.
 
Last edited:

klaus

Expert
Licensed User
Longtime User
Hi Bernd,

Ich glaube wir verstehen die Drehfunktion mit einem Button nicht gleich.
Für mich dreht der einzige Button das gewählte Bild, bei jedem Klick um 90° und nichts mehr. Bei jedem Klick wird die Variable Rotations um 1 erhöht damit wissen wir wieviele 90° Drehungen gemacht wurden. Wenn Rotations gleich 4 ist wird sie auf 0 gesetzt (volle Drehung).
Wenn man ein neues Symbol wählt, wird die Drehung auf 0 gesetzt und das Originalbild angezeigt, und nicht wie mit den 4 Buttons das Bild auf den vorgewählten Winkel gedreht. Ich finde diese Vorgehensweise einfacher und logischer, aber das ist nur meine Meinung. Aber mit dieser Methode könnten wir die Anzahl der Symbole verringern. Für die Eckbilder bräuchten wir nur noch eins anstatt vier, für die Verbindungsbilder eins anstatt zwei.
War das vielleicht der Fehler den Du mit dem Drehen gemerkt hattest?

Könntest Du das Buttonbild fur das erste Symbolpanel ändern denn da sind noch Leuchte und Motor drin, und nicht Mauern, also wenn Ich die Bilder auch richtig verstanden habe.

Die Fehlermeldung die Du mit über 100 Symbolen hattest war durch die Begrenzung in den Dim Befehlen verursacht, habe sie jetzt auf 200 in der Variable ImageNbMax=200 erhöht. Falls Du mehr brauchst Du einfach nur deisen Wert zu erhöhen, denn in den Dim Befehlen ist jetzt diese Variable drin.

Habe die Symbolpanelhöhenrechnung vereinfacht.

Aboutpanel geändert.

Version CadElecV2_14 beigelegt, mit den Textdateien.


EDIT zip Datei gelöscht

Grüsse.
 
Last edited:

klaus

Expert
Licensed User
Longtime User
Hi Bernd,

Noch einige Kleinigkeiten erledigt.

Die Texte von Beschriftungonly werden jetzt auch gespeichert. Mache es wie mit einem Symbol, bloss gib Ich als Bild das Leerbild an, ansonsten funktioniert es gleich wie die anderen Texte.

Wenn man ein Schema anfängt ohne auf den Neubutton geklickt zu haben, kann man die Schemadaten ändern, wenn der Titel oder der Autor leer sind werden die Vorschlagswerte angezeigt.


EDIT zip Datei gelöscht

Grüsse.
 
Last edited:

Bobbes

Active Member
Licensed User
Longtime User
Hi Klaus,
mit den zusätzlichen Images beim Rotation-Button wollte ich nur anzeigen auf welcher Position das ymbol befindet, im Vergleich zur Grundstellung.

Hatte ich doch nicht den aktuallsierten Schaltzeichen-Ordner mit gepostet.
In diesem Ordner gibt es jedes Symbol nur einmal Die Realisierung anderer Ansichten sollen dann über den Rotation-Button geschehen .

Bei Symbolpanelhöhenrechnung habe ich einfach bei +20 dazugeschrieben und bei jedem die Symbolpanel war eine Leerzeile zu sehen. war auch sinnvoll den vorher waren nicht vollständige die Symbolpanelzeilen unter dem vertikalen Scrollbalken.

Abropos Scrollbalken : bei mir ist der Scrollbalken und imgSymbol.image im Desktop-Modus immer nur halb sichbar. Habe deshalb die Zeilen 237, 238, 241 und 255 um zehn verringert.

Anbei der aktuellen Schaltzeichen Ordner.
 
Last edited:

klaus

Expert
Licensed User
Longtime User
Hi Bernd,

Weche Werte hast Du im Formdesigner im Menü unter Tools / ScreenSize.
Ich habe Height auf 362 und Width auf 242 gestzt, mit diesen Werten bekomme Ich die gleiche Höhe wie auf dem PPC.

Im Symbolpanel1 kann man die Symbolanzahl noch mehr reduzieren. Siehe Bild.

Was hältst Du von dem Vorschlag das gewähle Symbol zu highlighten, mit einer anderen Farbe. Kann ja eine andere sein als das rosa das Ich schon mal benützt hatte. Nur müsste dann der Hintergrund aller Symbole diese Farbe haben.

Grüsse.
 

Attachments

  • SymbolPanel1.jpg
    SymbolPanel1.jpg
    4.6 KB · Views: 268
Last edited:

Bobbes

Active Member
Licensed User
Longtime User
Hi Klaus,
die Werte 362 und 242 habe ich auch, die so waren von Anfang an so eingestellt.
Die Symbole im ersten Panel sind sehr gering und dann hab ich mir gedacht die Symbole komplett zulassen.
Die ausgewählten Symbole hervorzuheben fand ich von Anfangan gut. Wir (Ich) hab dieses Feature irgenwann weggelassen, wir sollten es aber wieder aufgreifen!!

Bis dahin

Edit: Hab noch was verändert und hab den Beschriftungs-Button in das Symbol-Panel verfrachtet.
 
Last edited:

klaus

Expert
Licensed User
Longtime User
Hi Bernd,

Version V2_16:
- das gewählte Symbol ist highlighted
- ein Copy Button im Edit Panel und im Selected Symbol Panel
- im Selected Symbol Panel auch ein Cut Button
- unten rechts, über dem gewähltem Symbolbild, Anzeige der Drehungen

Alle Symbolbilder mit rosa Hintergrund, ausser den Leerbildern die müssen weiss bleiben.
Das Bild vbtn42 kommt mir komisch vor ?

Habe wieder eimal die komplette zip Datei bigefügt.

Viel Spass und Grüsse
 
Last edited:

Bobbes

Active Member
Licensed User
Longtime User
Hi Klaus,
sehr gut gelöst. Gefällt mir wieder sehr gut.
Ich habe jetzt nur nochmeine Probleme mit den Symbolen. Nicht wegen dem Transparenten oder der Farbe rosa. Es werden immer mehr Symbole, selbst wenn wir die Vervierfachung durch die Möglichkeit des drehens weglassen können. Ich habe zu Zeit den konkreten Fall ein Plan für unsere Stadtwerke zu fertigen. Er für eine Unterverteilung. Hierbei ist ein FI-Schutzschalter (RCD)
eingesetzt worden. So, der RCD ist aber 4 polig. Heißt also der Neutralleiter wird auch mitgeschaltet. Wie realisier ich das jetzt, um mir alle Möglichkeiten offen zu halten. Alleine jetzt beim groben drüberkucken kommen da bestimmt noch dreißig verschiedene Symbole hin zu.

Gruß Bernd
 

klaus

Expert
Licensed User
Longtime User
Hi Bernd,
Für die Symbole, macht es Sinn die Symbole nach Anzahl der Leitungen zu sortiern? Das würde dann heissen dass noch ein Paar Symbolbuttons hinzukommen würden. Oder eine andere Art von Klassifizierung.
Denn wenn zu viele Bilder in einem Panel sind wird es meiner Meinung nach zu unübersichtlich.
Dann musst Du aber auch mit der Numerierung aufpassen dass die Reihenfolge der Bilder nicht verändert wird. Denn in diesem Fall würde eine Datei die vorher gespeichert wurde nicht mehr die gleichen Symbole anzeigen !
Eine Möglichkeit wäre, die Symbole in ImageListen im Designer einzufügen.
Vorteil, die Bilder wären dann direkt in der exe Datein eingebunden.
Nachteil, wenn neue Symbole hinzugefügt werden müssen, muss man das im Sourcecode vornehmen und neu kompilieren, garantiert aber besser die Kompatibilität. Du hättest auch eine bessere Kontrolle über die Symbole. Denn falls jemand aus Versehen ein oder mehere Symbol löschen würde, wären alle Zeichnungen nicht mehr gültig da die Reihenfolge verändert wurde. Mit den Bildern in der exe Datei enfällt dieses Risiko.

Grüsse.
 

Bobbes

Active Member
Licensed User
Longtime User
Hi Klaus,
ich gebe die recht wir sollten eine neue Klassifizierung machen und z.B. das Gebäudepanel weglassen, da diese Symbole ja auch in einem Anderen Panel Platz hätten.
Wir könnten ja die ImageList per Hand füllen und trotzdem nach den passenden restlichen Symbolen suchen lassen.

Grüße
Bernd Heil
 

klaus

Expert
Licensed User
Longtime User
Hi Bernd,
Was verstehst Du unter
'und trotzdem nach den passenden restlichen Symbolen suchen lassen'

Ich würde vorschlagen, ein Panel für jede Gruppe, wie jetzt, aber eine ImageList pro Panel.
Jedes Panel hat eine Nummer von 1 bis x und jedes Bild hat eine Nummer in der ImageList.
Und die Bildnummer für das zeichnen und speichern rechnen wir mit
ImageNr=PanelNr*100+ImageListNr).

Wenn Symbole hinzugefügt werden, kommen sie ans Ende der ImageLists und so bleibt die ganze Nummerierung eindeutig.

Aus der Bildnummer kann man leicht wieder beide, die Panelnummer und die ImageListnummer, rechnen.
PanelNr=Int(ImageNr/100)
ImageListNr=ImageNr Mod 100

Grüsse.
 
Top