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,451 2016-08-17 14:55:02
Re: Sommaire (113 replies, posted in FR : Aide, suggestions, discussions, ...)
5,452 2016-08-17 13:11:41
Re: Sommaire (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).
D'ailleurs je pense que je peux bientôt préparer le tag d'une version beta.
5,453 2016-08-17 11:52:32
Re: Sommaire (113 replies, posted in FR : Aide, suggestions, discussions, ...)
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 , 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.
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?
5,454 2016-08-17 08:54:15
Re: Terminal block generator cross-platform (131 replies, posted in Terminal block generator)
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 2016-08-17 08:33:47
Re: Sommaire (113 replies, posted in FR : Aide, suggestions, discussions, ...)
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 2016-08-17 08:05:59
Re: Sommaire (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?...
@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?
Pour Galexis:
5,457 2016-08-17 06:36:59
Re: Sommaire (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.
5,458 2016-08-16 22:29:10
Re: Crash sur déplacement d'un élément d'un projet vers un deuxième (6 replies, posted in FR : Aide, suggestions, discussions, ...)
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.
5,459 2016-08-16 21:43:19
Re: Terminal block generator cross-platform (131 replies, posted in Terminal block generator)
Thank you for this great python script, I think your script python with tkinter work fine on MAC OS too.
5,460 2016-08-16 21:11:57
Re: Terminal block generator cross-platform (131 replies, posted in Terminal block generator)
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
5,461 2016-08-16 20:54:46
Re: Terminal block generator cross-platform (131 replies, posted in Terminal block generator)
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 2016-08-16 20:35:20
Re: Sommaire (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.
https://download.qelectrotech.org/qet/n … ucture.odp
5,463 2016-08-16 19:20:44
Re: Sommaire (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?
5,464 2016-08-16 19:15:02
Re: Terminal block generator cross-platform (131 replies, posted in Terminal block generator)
* 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 2016-08-16 15:50:46
Re: Sommaire (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 2016-08-16 15:46:16
Re: Sommaire (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.
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 2016-08-16 15:40:39
Re: Sommaire (113 replies, posted in FR : Aide, suggestions, discussions, ...)
5,468 2016-08-16 15:21:28
Re: Sommaire (113 replies, posted in FR : Aide, suggestions, discussions, ...)
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?
5,469 2016-08-16 13:57:55
Re: Terminal block generator cross-platform (131 replies, posted in Terminal block generator)
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).
5,470 2016-08-16 13:36:24
Re: Terminal block generator cross-platform (131 replies, posted in Terminal block generator)
Read code is better than explanation.
/**
@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);
5,471 2016-08-16 13:21:02
Re: Terminal block generator cross-platform (131 replies, posted in Terminal block generator)
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?
5,472 2016-08-16 12:13:33
Re: Terminal block generator cross-platform (131 replies, posted in Terminal block generator)
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.
5,473 2016-08-15 22:27:37
Re: Terminal block generator cross-platform (131 replies, posted in Terminal block generator)
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.
5,474 2016-08-15 18:00:55
Re: Terminal block generator cross-platform (131 replies, posted in Terminal block generator)
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 2016-08-15 17:56:09
Re: Sommaire (113 replies, posted in FR : Aide, suggestions, discussions, ...)
Çà risque d’être compliqué sans ré-écrire une grosse partie de ce code.