Dies kann ich nachvollziehen, aber nur bei nativen Windows, bei Wine hat dies keinen Einfluss.Ich habs raus. Ich wollte auch den Trick mit "TImageList.Draw" anwenden um zu schauen, ob sie überhaupt in der ImageList sind. Aus irgend einem Grund geht es, wenn man das macht.
LazPlan v0.7 (Beta) - Schaltplansoftware
-
- Beiträge: 6207
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: LazPlan v0.0.2.3 - Schaltplansoftware
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 6207
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: LazPlan v0.0.2.3 - Schaltplansoftware
Ich habe noch eine Bug entdeckt, betrifft nur Linux, wen man auf SmalIIcon stellt.
Sieht das Ganze gleich aus, wie mit den grossen Iconen.
Unter Windows werden sie wie erwartet klein dargestellt, aber leider auch wie mit den oben beschriebenen Darstellungsfehler.
Code: Alles auswählen
ListView1.ViewStyle := vsSmallIcon;
ListView1.SmallImages := ImageList1;
Sieht das Ganze gleich aus, wie mit den grossen Iconen.
Unter Windows werden sie wie erwartet klein dargestellt, aber leider auch wie mit den oben beschriebenen Darstellungsfehler.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: LazPlan v0.0.2.3 - Schaltplansoftware
Also mal ehrlich: Das gleiche Symbol mehrfach für verschiedene Drehungen und Spiegelungen anlegen halte ich für sehr unglücklich. Bei einem Transistor brauche ich dann 8 Einzelsymbole, 4 Drehungen, und zu jeder Drehung 2 Spiegelungen. Und ich weiss beim Aufnehmen des Symbols noch nicht, wie rum das mal im Schaltplan stehen wird. Will ich die Diode horizontal statt vertikal, muss ich das Symbol austauschen.
Ein Symbol und als Eigenschaften Rotation und Spiegelung.
Ein Symbol und als Eigenschaften Rotation und Spiegelung.
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: LazPlan v0.0.2.3 - Schaltplansoftware
@Timm Thaler: lies dir mal die letzten Beiträge durch oder schau auf die erste Seite in die Wunschliste
Ich bin halt leider auch kein Oktopus mit Acht Armen, der alles gleichzeitig machen kann
Ich bin halt leider auch kein Oktopus mit Acht Armen, der alles gleichzeitig machen kann
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: LazPlan v0.0.2.3 - Schaltplansoftware
So, nun kann man die Schaltsymbole um 0°, 90°, 180° und 270° von der Ursprungsposition aus drehen. Allerdings drehen sich die Anschlusspins noch nicht mit, was ich jetzt einbauen werde. Ebenso kommt dann noch die Spiegelung.
edit: Jetzt sind auch die Pins fertig. Fehlt nur noch die Horizontale und Vertikale Spiegelung.
edit: Jetzt sind auch die Pins fertig. Fehlt nur noch die Horizontale und Vertikale Spiegelung.
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
-
- Lazarusforum e. V.
- Beiträge: 999
- Registriert: Do 17. Apr 2008, 01:59
- OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
- CPU-Target: Intel i7-10750 64Bit
- Wohnort: Freiburg
Re: LazPlan v0.0.2.3 - Schaltplansoftware
Bitte verstehe mich jetzt nicht falsch, ich will nicht nörgeln sondern konstruktiv kritisieren
Du hast ein wirklich tolles Projekt begonnen und möchtest dieses sicher auch irgendwann zur Verwendung bereit stellen!
Die Symbole als Pixelgrafik macht das Programm m.E. uninteressant. Das hatten wir in den 80ern.
Warum machst du dir so viel Mühe mit Pixelsymbolen, anstatt ein Vectormodell zu erstellen, in welchem die Symbole einheitlich verwaltet werden?
Du steckst viel Aufwand in die Programmierung - was richtig ist, aber auf halbem Weg ziehst du die Bremsen an. Denke auch an Verkleinerungen/Vergrößerungen der Pläne. Mit Pixelgrafik wird auch das nichts.
Lass dir aber bitte nicht den Mut und die Lust an diesem Projekt nehmen, nur weil ich hier meine Meinung kund tue!
Andere sehen das evtl. anders als ich.
Du hast ein wirklich tolles Projekt begonnen und möchtest dieses sicher auch irgendwann zur Verwendung bereit stellen!
Die Symbole als Pixelgrafik macht das Programm m.E. uninteressant. Das hatten wir in den 80ern.
Warum machst du dir so viel Mühe mit Pixelsymbolen, anstatt ein Vectormodell zu erstellen, in welchem die Symbole einheitlich verwaltet werden?
Du steckst viel Aufwand in die Programmierung - was richtig ist, aber auf halbem Weg ziehst du die Bremsen an. Denke auch an Verkleinerungen/Vergrößerungen der Pläne. Mit Pixelgrafik wird auch das nichts.
Lass dir aber bitte nicht den Mut und die Lust an diesem Projekt nehmen, nur weil ich hier meine Meinung kund tue!
Andere sehen das evtl. anders als ich.
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: LazPlan v0.0.2.3 - Schaltplansoftware
Mit Vektorgrafiken ist es natürlich wesentlich besser, allerdings mag ich gerade diesen alten Pixel Stil (auch wenn er nicht mehr Zeitgemäß ist). Klar, vergrößern und verkleinern wird schwer bzw nahezu unmöglich, das ist aber für mich ok und völlig ausreichend.
-
- Lazarusforum e. V.
- Beiträge: 999
- Registriert: Do 17. Apr 2008, 01:59
- OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
- CPU-Target: Intel i7-10750 64Bit
- Wohnort: Freiburg
Re: LazPlan v0.0.2.3 - Schaltplansoftware
OK, aber du könntest in Vektorgrafiken z.B. die Pins definieren, ohne deren Position übermitteln zu müssen. Beschriftungen können dynamisch mitgeführt werden etc. Alles Sachen, die im Endeffekt notwendig sind und dein Programm bei besserem Komfort einfacher/flexibler gestalten würden. Neue Symbole könnten einfach hinzugefügt werden, ohne zusätzlich Logik programmieren zu müssen.
OK, aber es ist deine Entscheidung. Ich wünsch dir dennoch viel Spaß und Erfolg.
OK, aber es ist deine Entscheidung. Ich wünsch dir dennoch viel Spaß und Erfolg.
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: LazPlan v0.0.3.0 - Schaltplansoftware
So, Drehung und Spiegelung sind fertig gestellt. Wenn damit jetzt alles funktioniert, werden ab sofort mehr Schaltsymbole eingebaut.
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
-
- Beiträge: 6207
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: LazPlan v0.0.3.0 - Schaltplansoftware
So, Drehung und Spiegelung sind fertig gestellt.
Mit dem hat sich ein Fehler eingeschlichen.
Wen man den Dreiphasenmotor spiegelt, hat man ein "3" welche auf die falsche Seite guckt.
Wenn damit jetzt alles funktioniert, werden ab sofort mehr Schaltsymbole eingebaut.
Das mit der Vektor-Grafik würde ich nochmals überlegen, wen man eine UltraHD-Schirm oder in Zukunft noch grössere Auflösungen hat, wird man irgendwan die Symbole mit der Lupe suchen müssen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: LazPlan v0.0.3.0 - Schaltplansoftware
Kann ich leider nicht ändern, da nunmal das komplette Bitmap gedreht wird. Allerdings ist die Spiegelung auch nicht für sowas gedacht, sondern eher für Dioden oder Transistoren. Deswegen haben die Motoren als einzige Schaltsymbole und immer noch die alte Ausrichtung.Mathias hat geschrieben:So, Drehung und Spiegelung sind fertig gestellt.
Mit dem hat sich ein Fehler eingeschlichen.
Wen man den Dreiphasenmotor spiegelt, hat man ein "3" welche auf die falsche Seite guckt.
Ich hab aber sehr wenig Erfahrung auf dem Gebiet und aktuell auch keine Lust mich da rein zu lesen, da das ganze auch verdammt aufwändig ist am Ende zu programmierenMathias hat geschrieben:Wenn damit jetzt alles funktioniert, werden ab sofort mehr Schaltsymbole eingebaut.
Das mit der Vektor-Grafik würde ich nochmals überlegen, wen man eine UltraHD-Schirm oder in Zukunft noch grössere Auflösungen hat, wird man irgendwan die Symbole mit der Lupe suchen müssen.
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
-
- Beiträge: 6207
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: LazPlan v0.0.3.0 - Schaltplansoftware
Wen man ein CAD, oder was ähnliches finden, welches ein sehr einfaches Format hat, so wie es bei Bitmap das XPM gibt, welches alles in Text speichert, wird dies etwa gleich einfach sein, wie mit den Bitmaps.Ich hab aber sehr wenig Erfahrung auf dem Gebiet und aktuell auch keine Lust mich da rein zu lesen, da das ganze auch verdammt aufwändig ist am Ende zu programmieren
Da du zu jedem Symbol eine CFG-Datei hast, könntest du die Spiegelung mit einem Parameter sperren.Kann ich leider nicht ändern, da nunmal das komplette Bitmap gedreht wird. Allerdings ist die Spiegelung auch nicht für sowas gedacht, sondern eher für Dioden oder Transistoren. Deswegen haben die Motoren als einzige Schaltsymbole und immer noch die alte Ausrichtung.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: LazPlan v0.0.3.0 - Schaltplansoftware
compmgmt hat geschrieben:Ich hab aber sehr wenig Erfahrung auf dem Gebiet und aktuell auch keine Lust mich da rein zu lesen, da das ganze auch verdammt aufwändig ist am Ende zu programmieren
Nope, ist es nicht. Hab ich auch erst gedacht, aber als ich meine Diagramme als PNG in einem Konsolenprogramm erzeugen wollte, bin ich über den Aufwand mit Pixelgrafik in der Konsole gestolpert. Daraufhin habe ich mir SVG angesehen und war begeistert: Das ist wie HTML schreiben, nur für Bilder. Du hast Linien, Kreis, Ellipsen, Rechteck, Polygon, Pfade, Text, Gruppierung, Liniendicke, Linienfarbe... und kannst alles direkt bestimmen. Du kannst zum Beispiel einen Text "Ident" im Symbol haben und einen Text "Value", und bei der Darstellung diese direkt durch "M1" und "5kW" ersetzen. Du kannst die Pinbezeichnungen aller Pins als Text festlegen, in einer Gruppe "Pins" zusammenfassen und dann bei der Darstellung diese Gruppe ausblenden oder ihr eine andere Farbe geben.
Und das Beste: Die Liste der Schaltsymbole in der Wikipedia enthält - genau - SVGs. https://de.wikipedia.org/wiki/Liste_der_Schaltzeichen_(Elektrik/Elektronik) Du musst also nichtmal selber malen.
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: LazPlan v0.0.3.0 - Schaltplansoftware
Achso, wenn das also wirklich nicht so schwierig ist, kann man das nutzen. Dann werde ich mal da mal in den nächsten Tagen rein lesen. Die Schaltsymbole in Wikipedia dürften CreativeCommons sein und daher sollte es ja (wie du es schreibst) kein Problem sein, diese zu nutzen.Timm Thaler hat geschrieben:compmgmt hat geschrieben:Ich hab aber sehr wenig Erfahrung auf dem Gebiet und aktuell auch keine Lust mich da rein zu lesen, da das ganze auch verdammt aufwändig ist am Ende zu programmieren
Nope, ist es nicht. Hab ich auch erst gedacht, aber als ich meine Diagramme als PNG in einem Konsolenprogramm erzeugen wollte, bin ich über den Aufwand mit Pixelgrafik in der Konsole gestolpert. Daraufhin habe ich mir SVG angesehen und war begeistert: Das ist wie HTML schreiben, nur für Bilder. Du hast Linien, Kreis, Ellipsen, Rechteck, Polygon, Pfade, Text, Gruppierung, Liniendicke, Linienfarbe... und kannst alles direkt bestimmen. Du kannst zum Beispiel einen Text "Ident" im Symbol haben und einen Text "Value", und bei der Darstellung diese direkt durch "M1" und "5kW" ersetzen. Du kannst die Pinbezeichnungen aller Pins als Text festlegen, in einer Gruppe "Pins" zusammenfassen und dann bei der Darstellung diese Gruppe ausblenden oder ihr eine andere Farbe geben.
Und das Beste: Die Liste der Schaltsymbole in der Wikipedia enthält - genau - SVGs. https://de.wikipedia.org/wiki/Liste_der_Schaltzeichen_(Elektrik/Elektronik) Du musst also nichtmal selber malen.
Noch mal kurz zur aktuellen Drehung und Spiegelung: Mir ist gestern Abend noch eingefallen, dass ich zwar das Schaltsymbol um 90°, 180°, 270° drehen und horizontal bzw. vertikal spiegeln kann, aber nicht kombiniert. D. h. drehen und dann spiegeln geht gar nicht
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Re: LazPlan v0.0.3.0 - Schaltplansoftware
Timm Thaler hat geschrieben:Nope, ist es nicht. Hab ich auch erst gedacht, aber als ich meine Diagramme als PNG in einem Konsolenprogramm erzeugen wollte, bin ich über den Aufwand mit Pixelgrafik in der Konsole gestolpert. Daraufhin habe ich mir SVG angesehen und war begeistert: Das ist wie HTML schreiben, nur für Bilder. Du hast Linien, Kreis, Ellipsen, Rechteck, Polygon, Pfade, Text, Gruppierung, Liniendicke, Linienfarbe... und kannst alles direkt bestimmen. Du kannst zum Beispiel einen Text "Ident" im Symbol haben und einen Text "Value", und bei der Darstellung diese direkt durch "M1" und "5kW" ersetzen. Du kannst die Pinbezeichnungen aller Pins als Text festlegen, in einer Gruppe "Pins" zusammenfassen und dann bei der Darstellung diese Gruppe ausblenden oder ihr eine andere Farbe geben.
Und das Beste: Die Liste der Schaltsymbole in der Wikipedia enthält - genau - SVGs. https://de.wikipedia.org/wiki/Liste_der_Schaltzeichen_(Elektrik/Elektronik) Du musst also nichtmal selber malen.
Du zählst hier nur die Vorteile auf, vergisst aber die Nachteile: Es gibt keinen Renderer für SVG in der LCL, vor allem einen, der mit der Handhabung von Bitmaps vergleichbar wäre. Es gibt zwar fpvectorial, aber das hat lauter Macken (wobei einfache Liniengraphiken funktionieren sollten - müsste man mal ausprobieren), und bgrabitmap kann das ebenfalls darstellen, nur muss sich der TS dann in diese neue Bibliothek einarbeiten. SVG bedeutet auf jeden Falle eine massive Änderung im Projekt des TS (die allerdings früher oder später sowieso kommen wird).