5,451

(113 replies, posted in FR : Aide, suggestions, discussions, ...)

Quand l'utilisateur va déplacer un folio ou des folios dans l'arbre =,+,- sur le nouveau système, les variables vont surement suivre, mais le résultat risque de ne pas être celui escompter et être surement source d'erreurs, et donc un sacré bazar?

5,452

(113 replies, posted in FR : Aide, suggestions, discussions, ...)

Clair, et comme c'est pas prévu pour demain ni dans trois mois, ça a au moins le mérite de faire le travail en attendant (ce qui est bien). nomicons/smile

D'ailleurs je pense que je peux bientôt préparer le tag d'une version beta.

5,453

(113 replies, posted in FR : Aide, suggestions, discussions, ...)

nuri wrote:

Peu importe si l'utilisateur emploie des variables ou écrit directement, il ne faut pas faire comme ca !
C'est ce que je voulais dire avec "= et + n'ont rien à faire dans le champ label".
L'idéal serait d'avoir le widget "propriétés de la sélection" comme ceci :

Heuu, là tu nous compliques beaucoup la vie  d'un coup nomicons/getlost, et ça va à contre sens des commits de Davi et des miens.
Je pense qu'il te faudra t'y habituer et faire Label = %M-%LM-M1, et même si je pense que tu as raison et que c'est bien plus logique, le code ne se change pas en trois coups de cuillère à pot. nomicons/smile



nuri wrote:
scorpio810 wrote:

@Nuri : à y être, tu verrais d'autres propriétés à ajouter comme .... [s]fonction[/s]?

Pour mettre dans les Xref de renvois de folio ? Perso non, pas besoin, puisque je référence uniquement sur l'identification des folios (càd les infos =, + et id ou autonum renseignées dans les cartouches). Je connais pas d'autre système et j'en ai jamais vu d'autres.

Je pensai surtout aux propriétés cartouche, tu vois d'autres champ à ajouter, tant qu'on y est?

Hi,

perhaps filter by position {E7, E8, E8}  {E9, E9, E10} and after by letter if position is the same?

But in future, terminal element need to be improved by new feature properties like bloc name (parent) and terminal name (child).

5,455

(113 replies, posted in FR : Aide, suggestions, discussions, ...)

galexis wrote:

Serait-il possible que les propriétés du sommaire soit sauvegardées dans le projet ? C'est relativement pénible de devoir retaper fichier, indice, auteur, ... à chaque fois qu'on lance une impression.

Je comprend pas, si tu as renseigné tes propriétés de cartouche, alors ils seront sauvegardé dans les pages sommaire, tu auras juste le label de folio à renseigner avant l'impression.
Quand tu génères le sommaire il vient lire les propriétés actuelles du cartouche renseignées dans l'onglet nouveau folio.

5,456

(113 replies, posted in FR : Aide, suggestions, discussions, ...)

Revision: 4632
Author:   scorpio810
Date:     2016-08-17 08:04:37 +0200 (Wed, 17 Aug 2016)
Log Message:
-----------
Variable properties %M (machine/plant) et %LM (location plant)
can now be called in the xref propertie widget (run now for slave and
master)

Dessiner facilement des schémas à la norme IEC 81346 devraient être bien plus facile, non?...nomicons/ninja
@Nuri : à y être, tu verrais d'autres propriétés à ajouter comme .... fonction?
Pour l'autonum des conducteurs les variables par défaut sont suffisantes pour moi, et vous, vous en pensez quoi?

https://download.qelectrotech.org/qet/forum_img/foliolistlabel10.png

Pour Galexis: nomicons/grin

https://download.qelectrotech.org/qet/forum_img/foliolistlabel11.png

5,457

(113 replies, posted in FR : Aide, suggestions, discussions, ...)

On peut utiliser les variables %M (machine/installation) et %LM (localisation machine) dans les renvois de folio, et aussi dans les XREF sur les contacts esclave seulement.

https://download.qelectrotech.org/qet/forum_img/foliolistlabel9.png

Revision: 4629
Author:   blacksun
Date:     2016-08-16 22:25:27 +0200 (Tue, 16 Aug 2016)
Log Message:
-----------
Bug fix : Crash when drag an item from the element panel, which represent an element embedded by a project, and drop it in a folio of another project.

Thank you for this great python script, I think your script python with tkinter work fine on MAC OS too.

I just tried, and script work nice on Windows.
Just installed https://www.python.org/ftp/python/3.5.2 … -amd64.exe for VM seven 64 bits,
and add python to path with installer.

Move script on desktop folder and just click on link.
Or by command line : python QET_TB_maker_v0.35.py


No body have tried this script on MS Windows plateform?

https://www.python.org/downloads/release/python-352/

Windows x86-64 executable installer/Windows x86 executable installer

5,462

(113 replies, posted in FR : Aide, suggestions, discussions, ...)

A priori non car = et + n'ont rien à faire dans le label si on s'en tient strictement à la norme.

Me semblai bien avoir compris l'inverse dans tes docs, faudra que je les potasse à nouveau. nomicons/cool

https://download.qelectrotech.org/qet/n … ucture.odp

https://download.qelectrotech.org/qet/forum_img/foliolistlabel8.png

5,463

(113 replies, posted in FR : Aide, suggestions, discussions, ...)

Bah, suffit dans projet de renseigner les champs propriétés du cartouche et ensuite de générer tes - 10 folios de 1 à 10 de localisation =enrouleur
Tu modifies ensuite tes champs propriétés du cartouche et tu génères les suivant, non?

 * Fixed drawing artifacts while dragging. With hotspot_x=0 and y=0 works, but I leave the same has QET calcs when save from elements editor. The problem was the calc of total size. Now I round to the next tenth and works fine.

Thank you, now work fine.

5,465

(113 replies, posted in FR : Aide, suggestions, discussions, ...)

il s'agit donc bien de réinventer la roue...

Peut-être pas !
Là ou tu as des constantes style [8] ça peut-être une variable dynamique ou tu comptes les colonnes demandées par l'utilisateur.

La largeur de chaque colonne tu peux aussi les récupérer depuis le Widget, etc.

5,466

(113 replies, posted in FR : Aide, suggestions, discussions, ...)

Toutefois, je vois pas pourquoi il faudrait limiter QET si c'est une implémentation aisée à réaliser.

Le patch était prêt, donc autant l'envoyer. nomicons/grin
Et je suis certain que certains auraient demandé à l'avoir.


Revision: 4628
Author:   scorpio810
Date:     2016-08-16 15:43:46 +0200 (Tue, 16 Aug 2016)
Log Message:
-----------
New fields titleblock properties %machine and %locmach can now be called
in the element rules autonum

5,467

(113 replies, posted in FR : Aide, suggestions, discussions, ...)

5,468

(113 replies, posted in FR : Aide, suggestions, discussions, ...)

scorpio810 wrote:

Revision: 4626
Author:   scorpio810
Date:     2016-08-12 13:32:56 +0200 (Fri, 12 Aug 2016)
Log Message:
-----------
Titleblock properties rename property %loc to %locmach

@Galexis, Nuri :
Çà vous intéressent d'avoir %machine et %locmach dans les règles de num des éléments?

For me you could try to fix hotspot by hotspot_x="5" hotspot_y="24" and just recalculate  width: (is the total width) and height: (is the total height).

Read code is better than explanation. nomicons/smile


/**
@return Le rectangle delimitant le contour de l'element
*/
QRectF Element::boundingRect() const {
return(QRectF(QPointF(-hotspot_coord.x(), -hotspot_coord.y()), dimensions));
}

/**
Definit la taille de l'element sur le schema. Les tailles doivent etre
des multiples de 10 ; si ce n'est pas le cas, les dimensions indiquees
seront arrrondies aux dizaines superieures.
@param wid Largeur de l'element
@param hei Hauteur de l'element
@return La taille finale de l'element
*/
QSize Element::setSize(int wid, int hei) {
prepareGeometryChange();
// chaque dimension indiquee est arrondie a la dizaine superieure
while (wid % 10) ++ wid;
while (hei % 10) ++ hei;
// les dimensions finales sont conservees et retournees
return(dimensions = QSize(wid, hei));
}

/**
@return la taille de l'element sur le schema
*/
QSize Element::size() const {
return(dimensions);
}

/**
Definit le hotspot de l'element par rapport au coin superieur gauche de son rectangle delimitant.
Necessite que la taille ait deja ete definie
@param hs Coordonnees du hotspot
*/
QPoint Element::setHotspot(QPoint hs) {
// la taille doit avoir ete definie
prepareGeometryChange();
if (dimensions.isNull()) hotspot_coord = QPoint(0, 0);
else {
// les coordonnees indiquees ne doivent pas depasser les dimensions de l'element
int hsx = qMin(hs.x(), dimensions.width());
int hsy = qMin(hs.y(), dimensions.height());
hotspot_coord = QPoint(hsx, hsy);
}
return(hotspot_coord);
}








/**
* @brief ElementScene::toXml
* Export this element as a xml file
* @param all_parts (true by default) if true, export the entire element in xml,
* if false, only export the selected parts.
* @return an xml document that describe the element.
*/
const QDomDocument ElementScene::toXml(bool all_parts)
{
    QRectF size= elementSceneGeometricRect();

        //if the element doesn't contains the origin point of the scene
        //we move the element to the origin for solve this default before saving
    if (!size.contains(0,0) && all_parts)
    {
        centerElementToOrigine();
            //recalcul the size after movement
        size= elementSceneGeometricRect();
    }

        //define the size of the element by the upper multiple of 10
    int upwidth = ((qRound(size.width())/10)*10)+10;
    if ((qRound(size.width())%10) > 6) upwidth+=10;

    int upheight = ((qRound(size.height())/10)*10)+10;
    if ((qRound(size.height())%10) > 6) upheight+=10;

        //the margin between the real size of the element and the rectangle that delimits
    int xmargin = qRound(upwidth - size.width());
    int ymargin = qRound(upheight - size.height());

        // document XML
    QDomDocument xml_document;

        //Root of xml document
    QDomElement root = xml_document.createElement("definition");
    root.setAttribute("type", "element");
    root.setAttribute("width", QString("%1").arg(upwidth));
    root.setAttribute("height", QString("%1").arg(upheight));
    root.setAttribute("hotspot_x", QString("%1").arg(-(qRound(size.x() - (xmargin/2)))));
    root.setAttribute("hotspot_y", QString("%1").arg(-(qRound(size.y() - (ymargin/2)))));
    root.setAttribute("orientation", "dyyy"); //we keep the orientation for compatibility with previous version of qet
    root.setAttribute("version", QET::version);
    root.setAttribute("link_type", m_elmt_type);

xml = ['<definition hotspot_x="4" hotspot_y="4" width="%i" height="%i" orientation="dyyy" link_type="simple" type="element">' \
               %(totalWith, max( TB_HEIGHT, TB_HEIGHT )),

I think is :  %(totalWith, max( TB_WIDTH, TB_HEIGHT )), no?

scorpio810 wrote:

but I see à minor problem : hotspot size is smaller than the element and when you move element cause a lot of artifacts.

I need to open element in element editor for recalculate hotspot (automatic with save) element width=" " height=" " is wrong.

unalcalde wrote:

I post the sample project I used.

Thank you,

but I see à minor problem : hotspot size is smaller than the element and when you move element cause a lot of artifacts.

galexis wrote:

I propose to you somme modfication to have GUI to choose project file.
You have to install python3-tk and use commande or launcher :

python3 adress_script.py

python3 path to your QET_TB_maker_v0.2.py


Traceback (most recent call last):
 File "QET_TB_maker_v0.2.py", line 375, in <module>
   sQETProjectFile = askopenfilename(title="Choose QET project",filetypes=[('qet files','.qet'),('all files','.*')])
 File "/usr/lib/python3.5/tkinter/filedialog.py", line 375, in askopenfilename
   return Open(**options).show()
 File "/usr/lib/python3.5/tkinter/commondialog.py", line 48, in show
   s = w.tk.call(self.command, *w._options(self.options))
_tkinter.TclError: can't invoke "grab" command: application has been destroyed


Windows tk is empty.

5,475

(113 replies, posted in FR : Aide, suggestions, discussions, ...)

Çà risque d’être compliqué sans ré-écrire une grosse partie de ce code.