Topic: connection list export

Hi,

is it possible to export a list which contains the information which components are connected to each other?

Thanks!

Best regards
Dru

Re: connection list export

No, this list don't exist

Développeur QElectroTech

3 (edited by DRU 2020-07-30 10:55:08)

Re: connection list export

Thanks for the reply!
but it should be possible to get it from the project file right?

Update:
I had a look into the project XML file.
It was easy to create a list which element is connected to each other, but there is a big problem. There is no option to give names to the connectors of a element. Or is it possible?
Currently I can generate a list where you see as example EL3214 is connect via 3 wires to a PT100. But you can't see which wire goes from the EL3214 to the connectors of the PT100
the terminals in the xml file has an attribute called name.
Is it possible to assign the name some where?

Thanks!

Re: connection list export

do you mean this?
(name)

it is being worked on but it is not yet possible.

Post's attachments

Screenshot_20200730_164028.png, 21.73 kb, 1195 x 534
Screenshot_20200730_164028.png 21.73 kb, 261 downloads since 2020-07-30 

5 (edited by De-Backer 2020-07-30 20:22:51)

Re: connection list export

I think I got it working,
Joshua can this be tested?

https://github.com/De-Backer/qelectrote … minal_name

Post's attachments

Attachment icon 0001-Add-name-to-Terminal.patch 4.46 kb, 241 downloads since 2020-07-30 

6 (edited by De-Backer 2020-07-30 18:17:13)

Re: connection list export

in test_element.elmt

<terminal x="0" uuid="{a9f1a07f-2a4a-460a-b6e7-d831f73e1a08}" name="21" orientation="s" y="30"/>
<terminal x="40" uuid="{93173c01-5706-498d-ab28-9fdb3dfe1a69}" name="23" orientation="s" y="30"/>
<terminal x="0" uuid="{1e57863e-e456-430b-a204-6831722b7312}" name="11" orientation="n" y="-30"/>
<terminal x="20" uuid="{42dd9184-b750-4ae3-8e89-593c958526f4}" name="12" orientation="n" y="-30"/>
<terminal x="20" uuid="{3dc51ac8-c354-499d-8c3b-f46ff6e435ad}" name="22" orientation="s" y="30"/>
<terminal x="40" uuid="{5455d1e1-4acb-47dd-8fcf-cb38fc88094a}" name="13" orientation="n" y="-30"/>

works
but in test.qet

diagram
<terminal x="0" id="0" nameHidden="0" orientation="0" name="_" number="_" y="-26"/>
<terminal x="20" id="1" nameHidden="0" orientation="0" name="_" number="_" y="-26"/>
<terminal x="40" id="2" nameHidden="0" orientation="0" name="_" number="_" y="-26"/>
<terminal x="0" id="3" nameHidden="0" orientation="2" name="_" number="_" y="26"/>
<terminal x="20" id="4" nameHidden="0" orientation="2" name="_" number="_" y="26"/>
<terminal x="40" id="5" nameHidden="0" orientation="2" name="_" number="_" y="26"/>

I search through it.

Re: connection list export

I search through it.

and the uuid? Why is not included?
Thank you

Re: connection list export

full file

Post's attachments

Attachment icon test.qet 44.95 kb, 265 downloads since 2020-07-30 

Re: connection list export

damianCaceres wrote:

I search through it.

and the uuid? Why is not included?
Thank you

should that be?

Re: connection list export

Warning: I'm using google translator and word reference.

If I understood fine, DRU is asking about including the terminal names in the file .qet
With my poor experience using QElectroTech, I've perceived that the terminals and conductors look like the younger brothers of the elements. Terminals and conductors carry less information than elements, for instance name and uuid.
I think terminals and conductors should be at the same level of importance as the elements.
Why? I'm not too sure, but in my brain schematics they are all important.
Thank you.

PostScript: I always work with reference to objects by uuid.

Re: connection list export

damianCaceres wrote:

Warning: I'm using google translator and word reference.

If I understood fine, DRU is asking about including the terminal names in the file .qet
With my poor experience using QElectroTech, I've perceived that the terminals and conductors look like the younger brothers of the elements. Terminals and conductors carry less information than elements, for instance name and uuid.
I think terminals and conductors should be at the same level of importance as the elements.
Why? I'm not too sure, but in my brain schematics they are all important.
Thank you.

PostScript: I always work with reference to objects by uuid.

You can be right, but we are going to break a lot if we mess around with that.

As it is now,my patch won't break anything but it will add the name in element.elmt

a night sleep does miracles.

Re: connection list export

You can be right, but we are going to break a lot if we mess around with that.

I'm very interested in this issue. When I'll finish the transform editor, I'd like to explore the related code. And the data base. Big plans and little time.
Good night.

13

Re: connection list export

yes, terminal names in the .qet file would be great!
I think this feature brings a big benefit with it. With the list you can easily check for errors and miss wiring in cabinets.
I can provide the tool for the list generation. I'm not good in CPP but a little bit of knowledge in Python is provided.

Re: connection list export

Martin is working on this feature https://github.com/Murmele/qelectrotech-source-mirror
https://framaestro.org/p/#MTM1NDk1/qele … lang%3Den;

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

15 (edited by De-Backer 2020-07-31 21:26:22)

Re: connection list export

scorpio810 wrote:

Martin is working on this feature
https://framaestro.org/p/#MTM1NDk1/qele … lang%3Den;

-The database should be editable by user, to let him add new data.
-Like elements, it will be great if users can send us there db to merge it with the official db of qelectrotech, then the official db will grow quickly and a lot of user will benefit.
Yes this would be a nice idea

eg KiCAD Library ?
https://kicad-pcb.org/libraries/download/
https://github.com/KiCad/kicad-symbols

but:
https://kicad-pcb.org/libraries/contribute/

Re: connection list export

De-Backer wrote:

I think I got it working,
Joshua can this be tested?

https://github.com/De-Backer/qelectrote … minal_name

an example:
https://youtu.be/Ae6nfh876gM

Is this where we want to go?

Re: connection list export

De-Backer wrote:

I think I got it working,
Joshua can this be tested?

https://github.com/De-Backer/qelectrote … minal_name

Sorry for answer you so late.
I didn't test your patch just read it, and see the screen-cast, everything look good nomicons/smile.
For me they miss one thing , add new kind of text : terminal text witch display the name of the terminal, the text should be static (not editable in the diagram editor), anyways it's good job nomicons/wink
Also see with Martin what he already made with terminal
https://invent.kde.org/marmsoler/qelect … rce-mirror

Développeur QElectroTech

18 (edited by De-Backer 2020-08-02 18:35:34)

Re: connection list export

Joshua wrote:

For me they miss one thing , add new kind of text : terminal text witch display the name of the terminal, the text should be static (not editable in the diagram editor), anyways it's good job nomicons/wink

yes I understand what you mean, but this will be some "Dynamic text field / text field", because it will never be in the right place.

Joshua wrote:

Also see with Martin what he already made with terminal
https://invent.kde.org/marmsoler/qelect … rce-mirror

Martin Marmsoler authored 2 months ago

where is he, is he still working on it?

19 (edited by De-Backer 2020-08-05 22:30:42)

Re: connection list export

De-Backer wrote:

in test_element.elmt

<terminal x="0" uuid="{a9f1a07f-2a4a-460a-b6e7-d831f73e1a08}" name="21" orientation="s" y="30"/>
<terminal x="40" uuid="{93173c01-5706-498d-ab28-9fdb3dfe1a69}" name="23" orientation="s" y="30"/>
<terminal x="0" uuid="{1e57863e-e456-430b-a204-6831722b7312}" name="11" orientation="n" y="-30"/>
<terminal x="20" uuid="{42dd9184-b750-4ae3-8e89-593c958526f4}" name="12" orientation="n" y="-30"/>
<terminal x="20" uuid="{3dc51ac8-c354-499d-8c3b-f46ff6e435ad}" name="22" orientation="s" y="30"/>
<terminal x="40" uuid="{5455d1e1-4acb-47dd-8fcf-cb38fc88094a}" name="13" orientation="n" y="-30"/>

works
but in test.qet

diagram
<terminal x="0" id="0" nameHidden="0" orientation="0" name="_" number="_" y="-26"/>
<terminal x="20" id="1" nameHidden="0" orientation="0" name="_" number="_" y="-26"/>
<terminal x="40" id="2" nameHidden="0" orientation="0" name="_" number="_" y="-26"/>
<terminal x="0" id="3" nameHidden="0" orientation="2" name="_" number="_" y="26"/>
<terminal x="20" id="4" nameHidden="0" orientation="2" name="_" number="_" y="26"/>
<terminal x="40" id="5" nameHidden="0" orientation="2" name="_" number="_" y="26"/>

I search through it.

terminal.cpp @ init("_", "_", false);
=>name="_" number="_"

Terminal::Terminal(TerminalData* data, Element* e) :
    QGraphicsObject(e),
    d(data),
    parent_element_(e)
{
    // TODO: what is when multiple parents exist. So the other relation is lost.
    d->setParent(this);
    init("_", "_", false);
}

1 step further (name)

diagram
<terminals>
                    <terminal number="_" nameHidden="0" name="11" x="0" y="-26" orientation="0" id="0"/>
                    <terminal number="_" nameHidden="0" name="12" x="20" y="-26" orientation="0" id="1"/>
                    <terminal number="_" nameHidden="0" name="13" x="40" y="-26" orientation="0" id="2"/>
                    <terminal number="_" nameHidden="0" name="21" x="0" y="26" orientation="2" id="3"/>
                    <terminal number="_" nameHidden="0" name="22" x="20" y="26" orientation="2" id="4"/>
                    <terminal number="_" nameHidden="0" name="23" x="40" y="26" orientation="2" id="5"/>
                </terminals>

20 (edited by De-Backer 2020-08-05 22:52:14)

Re: connection list export

<conductor vertirotatetext="270" terminal1="{5455d1e1-4acb-47dd-8fcf-cb38fc88094a}" bicolor="true" element1="{01ef1122-8b93-40cd-bbb7-1e57eec47854}" dash-size="2" x="0" text_color="#000000" numsize="7" conductor_color="" horizontal-alignment="AlignBottom" displaytext="1" tension_protocol="" element2="{32ce3522-370f-42f3-99ae-dbb703d01767}" conductor_section="" vertical-alignment="AlignRight" freezeLabel="false" num="_" onetextperfolio="1" condsize="1" color2="#ff0000" function="" type="multi" horizrotatetext="0" terminal2="{93173c01-5706-498d-ab28-9fdb3dfe1a69}" formula="" y="0">
                <sequentialNumbers/>
            </conductor>

terminal1 in element collection:

<terminal name="13" x="40" y="-30" uuid="{5455d1e1-4acb-47dd-8fcf-cb38fc88094a}" orientation="n"/>

of element1 in diagram

<element prefix="" x="460" y="390" z="10" uuid="{01ef1122-8b93-40cd-bbb7-1e57eec47854}" freezeLabel="false" type="embed://import/test_element.elmt" orientation="0">
                <terminals>
                    <terminal number="_" nameHidden="0" name="11" x="0" y="-26" orientation="0" id="6"/>
                    <terminal number="_" nameHidden="0" name="12" x="20" y="-26" orientation="0" id="7"/>
                    <terminal number="_" nameHidden="0" name="13" x="40" y="-26" orientation="0" id="8"/>
                    <terminal number="_" nameHidden="0" name="21" x="0" y="26" orientation="2" id="9"/>
                    <terminal number="_" nameHidden="0" name="22" x="20" y="26" orientation="2" id="10"/>
                    <terminal number="_" nameHidden="0" name="23" x="40" y="26" orientation="2" id="11"/>
                </terminals>
                <inputs/>
                <dynamic_texts>
                    <dynamic_elmt_text text_width="-1" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal" rotation="0" Valignment="AlignTop" x="-25" y="-5" frame="false" text_from="UserText" uuid="{4828408a-9bca-4f1b-966f-089539358e21}" Halignment="AlignLeft">
                        <text>_</text>
                    </dynamic_elmt_text>
                </dynamic_texts>
                <texts_groups/>
            </element>

to element2 in diagram

<element prefix="" x="460" y="290" z="10" uuid="{32ce3522-370f-42f3-99ae-dbb703d01767}" freezeLabel="false" type="embed://import/test_element.elmt" orientation="0">
                <terminals>
                    <terminal number="_" nameHidden="0" name="11" x="0" y="-26" orientation="0" id="0"/>
                    <terminal number="_" nameHidden="0" name="12" x="20" y="-26" orientation="0" id="1"/>
                    <terminal number="_" nameHidden="0" name="13" x="40" y="-26" orientation="0" id="2"/>
                    <terminal number="_" nameHidden="0" name="21" x="0" y="26" orientation="2" id="3"/>
                    <terminal number="_" nameHidden="0" name="22" x="20" y="26" orientation="2" id="4"/>
                    <terminal number="_" nameHidden="0" name="23" x="40" y="26" orientation="2" id="5"/>
                </terminals>
                <inputs/>
                <dynamic_texts>
                    <dynamic_elmt_text text_width="-1" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal" rotation="0" Valignment="AlignTop" x="-25" y="-5" frame="false" text_from="UserText" uuid="{24031ee2-36f3-4a95-80a9-eaf09479d2ef}" Halignment="AlignLeft">
                        <text>_</text>
                    </dynamic_elmt_text>
                </dynamic_texts>
                <texts_groups/>
            </element>

terminal2 in element collection::

<terminal name="23" x="40" y="30" uuid="{93173c01-5706-498d-ab28-9fdb3dfe1a69}" orientation="s"/>

------------------------------------------

<terminal number="_" nameHidden="0" name="11" x="0" y="-26" orientation="0" id="6"/>

is unnecessary in diagram

the link is
element1 in diagram
element2 in diagram
terminal1 in element collection
terminal2 in element collection

conductor in diagram => makes the connection (uuid)

in short:

if the terminal have a name in element collection then we can make the list.
Or am I wrong?

21

Re: connection list export

if the terminal have a name in element collection then we can make the list.
Or am I wrong?

Yes.

As example:
If you have a Beckhoff IO module and you have pin names like IO1, IO2,... you can easily generate a list which gives you the information wich IO is connected to which element without reading the schematic.
It should then also be possible to generate netlists for creating PCB's.... I think this could also be another benefit.

Is there already a build available?

Re: connection list export

Is there already a build available?
No, this is under development

This program is for drawing electrical diagrams and not for electronics
PCB = printed circuit boards

https://en.wikipedia.org/wiki/Printed_circuit_board

I am an pre-retired industrial developer technician and born in 1960

Re: connection list export

Let me explain the problem.
- Yes the code available can already provide the functionality. (branch dev_Terminal_name)
The problem:

Joshua wrote:

Martin work on a harness feature and if I remember well add terminal number.

They were all in the making of functionality, in a way I don't know yet.
If I now romel there, this will cause problems for the other features.

In short, if you make changes to the XML structure then all developers must know and agree to it.
And that's why it's still not in the master branch.

24 (edited by scorpio810 2024-07-06 10:25:33)

Re: connection list export

For making a list and find the name of the attached terminal1/terminal2 to conductor see

https://github.com/qelectrotech/qelectr … .cpp#L1126

Edit fix url

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

25 (edited by Re-searcher 2020-08-11 20:26:13)

Re: connection list export

Example :


                                             Magneto therminal circuit breaker
                                                    Element name = 10Q6
                                                                  uuid = 

                                        ***************************************
Power 3P-----conductor---*-terminal--terminal-----terminal------terminal--*----conductor
  Name---------name-------*-name-----uuid-----------uuid---------name---*------name
  L3----------conductor5---*-5 L3-----terminal5-----terminal6-----6 T3----*----conductor6---
  L2----------conductor3---*-3 L2-----terminal3-----terminal4-----4 T2----*----conductor4---
  L1----------conductor1---*-1 L1-----terminal1-----terminal2-----2 T1----*----conductor2---
                                      ***************************************

I am an pre-retired industrial developer technician and born in 1960