Hallo Fabian,

die Einstellmöglichkeiten hast Du alle durchgetestet?

Salut stephane,

(at the moment) there is no separate help page for the elements, hence the confusing title. However, the actual help text should be the same as for the conductors.

Best regards
  plc-user

Vielleicht helfen dir meine Einstellungen bei der Fehlersuche?
Ich fand das jedenfalls alles ziemlich hakelig, bis das lief...

454

(2 replies, posted in EN : Help, suggestions, discussions, ...)

Use element-editor to create elements.
With dxf-importer you can import dxf into element-editor.
No other importers are implemented!

Hallo Stephan,

ich habe noch diese beiden installiert:

apt install libkf5coreaddons-dev
apt install libkf5widgetsaddons-dev

What I haven't really questioned yet:
Is there a reason why the effort with SingleApplication is made to allow only one instance of QET at a time?

Of course, as a user you then have to make sure that the component library is only changed in one and the same instance in order to avoid inconsistencies in the sqlite file. But QET only touches it for writing when components change, doesn't it?

That seems to be a "problem" with your packing-application:
Some applications show the directories in a straight list but when you right-click on the 7z-file you should have the option to unpack the 7z following the directory-structure.
In the attachment you see "my" unpacker: looks and works perfect!

Can you explain what you mean?
Maybe with a screenshot of your file-manager?

For me the folder-structure looks right  ...  I just use the latest ReadyToUse-Version!  nomicons/smile

459

(18 replies, posted in Code)

Ooops ... No, no, no ... don't get me wrong!
It wasn't meant that way!!! 

I have a good job and earn my money for living and "a bit" more!  nomicons/smile

Please spend the donated money for QET-Project!

460

(18 replies, posted in Code)

Health is the most important thing, besides family and friends!
(a little money might help a bit, too...nomicons/wink)

461

(18 replies, posted in Code)

@Laurent: +2

scorpio810 wrote:

(...) yes schemes of cars was very different than industry...

You are completely right, Laurent!
Electrical "installations" in cars are very different!  nomicons/cwy

463

(18 replies, posted in Code)

o.k.  –  Merci, Laurent !

In this case, the learning curve is not quite so steep for me: I "only" have to dive deeper into QT and QET programming!
I've hardly ever had anything to do with sqlite as a programmer.

As I said: For now I just want to understand how QET works "under the hood"... and maybe contribute some things.

"Still learning!" (even at my age nomicons/wink)

464

(18 replies, posted in Code)

Let me ask more specific:

As a user: If I make a change in the circuit diagram, where is this change saved internally? In the XML structure?
It is clear that this will (at some point) be transferred to a sqlite database in memory.

Or is it so that the sqlite DB in memory is used during editing the diagram and the XML structure is only adapted for saving?

To ask technically: (sqlite XOR XML)?   nomicons/wink

Na ja ... "unnötige Drückerei" ... kommt ja immer darauf an, was Du machen willst!

Wenn Du einmal ein Potenzial und die zugehörigen Leitereigenschaften definiert hast und an das Potenzial einen weiteren Draht anschließen willst, macht es schon Sinn, die Eigenschaften überall gleich zu haben:
Potenzial definiert -> neuen Draht dazu -> Eigenschaften vom neuen Draht passen! nomicons/smile

Wieso sollte sich zwischendurch Leiterfarbe oder Querschnitt ändern, oder das Potenzial einen anderen Namen bekommen?
An ein Potenzial gehört eine Farbe, ein Querschnitt, etc. pp.
Wenn zwischendrin z.B. eine Steckverbindung ist, kann ich mir das noch vorstellen...
Aber vor und hinter einem Schalter oder einer Sicherung ist definitiv nicht dasselbe Potenzial, also müssen die Eigenschaften neu eingestellt werden!

Gib' doch mal deinen Anwendungsfall preis, bei dem unterschiedliche Leitereigenschaften für ein Potenzial Verwendung finden sollen (musst ja keine Geheimnisse verraten!).

466

(18 replies, posted in Code)

Salut Laurent,

scorpio810 wrote:

What could be very constructive would be to add the conductors wire section, color, cable, element label, terminal name connected to each end in the sqlite database in a new table, a bit like nomeclature aka BOM.

I would like to understand your comment better, therefore my questions.

How or in what is the internal structure of a folio stored at runtime of QET?
Is it the XML structure as it is in the resulting qet file, or is an sqlite database used internally?
Is there a place where this is documented?
Please don't say: "The source code is the documentation" nomicons/wink

Of course, I would also like the connection information to become an internal QET generation for a cable plan or wiring instructions for the electrician at some point: I don't really like such things with python plugins! This can be quite a hassle on some systems... 
How this can/should be designed for the user is, in my opinion, of secondary importance for the time being: The internal structures need to be understood and extended.

467

(18 replies, posted in Code)

When we insert empty tags it makes the number of changed code-lines even smaller!  nomicons/wink

Here's the new diff:

diff --git a/sources/qetgraphicsitem/conductor.cpp b/sources/qetgraphicsitem/conductor.cpp
index dc9d23595..df0e9fdc6 100644
--- a/sources/qetgraphicsitem/conductor.cpp
+++ b/sources/qetgraphicsitem/conductor.cpp
@@ -1048,6 +1048,7 @@ QDomElement Conductor::toXml(QDomDocument &dom_document,
        } else {
                dom_element.setAttribute("element1", terminal1->parentElement()->uuid().toString());
                dom_element.setAttribute("terminal1", terminal1->uuid().toString());
+               dom_element.setAttribute("terminalname1", terminal1->name());
        }
 
        if (terminal2->uuid().isNull()) {
@@ -1056,6 +1057,7 @@ QDomElement Conductor::toXml(QDomDocument &dom_document,
        } else {
                dom_element.setAttribute("element2", terminal2->parentElement()->uuid().toString());
                dom_element.setAttribute("terminal2", terminal2->uuid().toString());
+               dom_element.setAttribute("terminalname2", terminal2->name());
        }
        dom_element.setAttribute("freezeLabel", m_freeze_label? "true" : "false");
 
diff --git a/sources/qetgraphicsitem/terminal.cpp b/sources/qetgraphicsitem/terminal.cpp
index 54f9ece5f..272720382 100644
--- a/sources/qetgraphicsitem/terminal.cpp
+++ b/sources/qetgraphicsitem/terminal.cpp
@@ -744,6 +744,11 @@ QUuid Terminal::uuid() const
        return d->m_uuid;
 }
 
+QString Terminal::name() const
+{
+       return d->m_name;
+}
+
 /**
        @brief Conductor::relatedPotentialTerminal
        Return terminal at the same potential from the same
diff --git a/sources/qetgraphicsitem/terminal.h b/sources/qetgraphicsitem/terminal.h
index e014d2a1f..a8d22abc8 100644
--- a/sources/qetgraphicsitem/terminal.h
+++ b/sources/qetgraphicsitem/terminal.h
@@ -74,6 +74,7 @@ class Terminal : public QGraphicsObject
                Diagram  *diagram             () const;
                Element  *parentElement       () const;
                QUuid uuid                    () const;
+               QString   name                () const;
 
                QList<Conductor *> conductors() const;
                Qet::Orientation orientation() const;

The TerminalNames are only inserted into the connection, when the terminals have UUIDs ... only then!

In the element-collection I found "some" elements which have terminals with names but no UUID. Already working on them... nomicons/smile

Markus_QE wrote:

(...)
Hatte schon öftern nun bis zu vielleicht 20 Drähte beschriftet und beim 21 vergess ich den Haken unten heraus zu nehmen und flugs nennt mir das Programm alle bisherigen Farben um :-(
(...)

QET hat genau das gemacht, was Du "gewollt" hast!  nomicons/wink

Das ist hier mit Sicherheit schon jedem passiert – mehrfach!
Und: Ja, die Checkbox aus dem Bildschirmfoto kennt hier wahrscheinlich auch jeder.

Habe dafür auch keine globale Stelle gefunden, wo man das dauerhaft umschalten kann.


PS: Erster April ... da kann ich mir ein wenig Ironie nicht verkneifen!  nomicons/wink

You are right: The element-editor could be much more comfortable!
But at the moment ...

Do you know that you can move parts with smaller steps when pressing <Ctrl>?
For moving at even smaller steps: use the Input-Fields / SpinEdits

All kinds of geometrical forms (triangle, rectangle,...) can be drawn with the polygon-tool. And you can edit every node of the polygon afterwards.

"closed lines" => polygons  ?

470

(18 replies, posted in Code)

Let me ask to be on the safe side:
Don't insert the Tag?
OR
Insert the Tag with empty value?

To all Brazilian users here in the forum:
Since yesterday, in version 0.10 dev, Brazilian with the language setting pt_BR is more reliably available in the application and in the elements and title blocks.
Please try and let us know if you have any comments!

via Online-Translator:

A todos os usuários brasileiros aqui no fórum:
Desde ontem, na versão 0.10 dev, o idioma brasileiro com a configuração pt_BR também está disponível de forma mais confiável no aplicativo e nos elementos e blocos de título.
Por favor, experimente e nos informe se tiver algum comentário!

Den Reiter "Darstellung" in den Leitereigenschaften hast Du gesehen?

Just a suggestion:
https://qelectrotech.org/forum/viewtopic.php?id=2716

Hello everyone!

For some time now, it is possible to assign a name to terminals in the element files. A unique UUID is automatically added in the background. If such a component is then inserted into a schematic and provided with connections, the UUIDs of the terminals are already used in the qet file to identify the connection.

At some point in the future, when the developers have (a lot of) time for the project again, the "UUID" and "Name" information will be used to automatically generate cable plans and wiring instructions.

As a "programming exercise", I looked in the source code for a way to include the names of the terminals in the connection line in the schematic file and actually found what I was looking for!

However, there is one "difficulty":
What name may automatically be used if the creator of the element has not assigned any names?
I made it easy for myself here and also saved the UUID of the connection for the name.

Here is the resulting diff file:

diff --git a/sources/qetgraphicsitem/conductor.cpp b/sources/qetgraphicsitem/conductor.cpp
diff --git a/sources/qetgraphicsitem/conductor.cpp b/sources/qetgraphicsitem/conductor.cpp
index dc9d23595..df0e9fdc6 100644
--- a/sources/qetgraphicsitem/conductor.cpp
+++ b/sources/qetgraphicsitem/conductor.cpp
@@ -1048,6 +1048,7 @@ QDomElement Conductor::toXml(QDomDocument &dom_document,
        } else {
                dom_element.setAttribute("element1", terminal1->parentElement()->uuid().toString());
                dom_element.setAttribute("terminal1", terminal1->uuid().toString());
+               dom_element.setAttribute("terminalname1", terminal1->name());
        }

        if (terminal2->uuid().isNull()) {
@@ -1056,6 +1057,7 @@ QDomElement Conductor::toXml(QDomDocument &dom_document,
        } else {
                dom_element.setAttribute("element2", terminal2->parentElement()->uuid().toString());
                dom_element.setAttribute("terminal2", terminal2->uuid().toString());
+               dom_element.setAttribute("terminalname2", terminal2->name());
        }
        dom_element.setAttribute("freezeLabel", m_freeze_label? "true" : "false");

diff --git a/sources/qetgraphicsitem/terminal.cpp b/sources/qetgraphicsitem/terminal.cpp
index 54f9ece5f..951d67aa0 100644
--- a/sources/qetgraphicsitem/terminal.cpp
+++ b/sources/qetgraphicsitem/terminal.cpp
@@ -744,6 +744,16 @@ QUuid Terminal::uuid() const
        return d->m_uuid;
 }

+QString Terminal::name() const
+{
+    if (d->m_name == "")
+    {
+               return ((d->m_uuid).toString());
+       } else {
+               return d->m_name;
+       }
+}
+
 /**
        @brief Conductor::relatedPotentialTerminal
        Return terminal at the same potential from the same
diff --git a/sources/qetgraphicsitem/terminal.h b/sources/qetgraphicsitem/terminal.h
index e014d2a1f..a8d22abc8 100644
--- a/sources/qetgraphicsitem/terminal.h
+++ b/sources/qetgraphicsitem/terminal.h
@@ -74,6 +74,7 @@ class Terminal : public QGraphicsObject
                Diagram  *diagram             () const;
                Element  *parentElement       () const;
                QUuid uuid                    () const;
+               QString   name                () const;

                QList<Conductor *> conductors() const;
                Qet::Orientation orientation() const;

I understand this code fragment explicitly as a basis for discussion:
Please have a look at it and leave comments!

Best regards
  plc-user

Hallo Stefan,

für konkrete Hilfe zum Aufsetzen eines Build-Systems wäre es hilfreich zu wissen, auf welchem System Du QET (mit-)entwickeln willst.

Da ich normalerweise ein sehr schlankes Xfce4 auf Debian unstable nutze, wollte ich das an dieser Stelle "sauber" getrennt halten und habe deswegen eine separate VM mit Debian stable mit LXQT als Fenstermanager aufgesetzt. Da ist dann schon eine ordentliche QT-Umgebung vorhanden, in die sich qtcreator und die anderen Pakete "schlanker" einfügen lassen als bei einer GTK-Umgebung.
Trotz des "Zusatzaufwandes" der VM war das insgesamt recht überschaubar, bis dann erstmalig das Kompilieren von QET geklappt hat. nomicons/smile