Topic: Add new thickness properties for conductors and basic shapes

Bonjour,

les paquets de la 0.51-dev sont disponibles pour ceux qui veulent tester les dernières nouveautés.

  • début du nouveau panneau collection d’éléments (on gagne 250 Mio de RAM en décochant l'ancien panel d’éléments et en relançant QET, attention il n'est pas encore complet en fonctionnalités).

  • taille des conducteurs paramétrables et modifiables à la volée (1 à 10 px), etc.

  • couleurs et tailles de conducteur sont dorénavant conservées au travers des renvois et sur leur équipotentialité.

  • taille de trait des basic shapes modifiables à la volée (1 à 20 px), pour l'instant il faut changer le type de trait pour que l’épaisseur soit prise en compte avec le dock (le code n'est pas encore prêt pour le liveEdit avec les épaisseurs de traits), ou directement avec le widget en double cliquant sur la basic shape. svn 4295

  • Couleur de trait des basic shape à l'etude.

  • nouveaux paquets Debian debug: (ex :  qelectrotech-dbgsym_0.51.r4290-1_i386.deb).

                           dbgsym

Pour ceux sous Debian, Ubuntu, etc, le pinning est à adapter (0.50 ->0.51).


laurent@debian:~$ cat /etc/apt/preferences.d/40qelectrotech-devel
Package: qelectrotech*
Pin: version 0.51.*
Pin-Priority: 1001

Nous vous souhaitons de bonnes fêtes de fin d'année.

Enjoy! nomicons/smile

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

Re: Add new thickness properties for conductors and basic shapes

Pour la taille de trait des basic shapes modifiables à la volée (1 à 20 px), ça peut être possible de passer d'un entier à un réel donc pouvoir tracer des traits de 0.5, 0.8, 2.2 px, etc.

Ça vous intéresse ou pas, ou c'est juste une Geekerie inutile donc indispensable? nomicons/tongue

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

Re: Add new thickness properties for conductors and basic shapes

Ne répondez pas tous à la fois, hein.nomicons/grin

Voila c'est fait : la valeur par défaut est de 1 pixel, la fourchette part de 0.4 px  jusqu’à 50 px avec un pas d’incrémentation de 0.2 points (svn 4296).

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

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

Re: Add new thickness properties for conductors and basic shapes

La façon dont les attributs de type "épaisseur de trait" des basic shapes sont écrits dans le XML devraient changer dans la semaine qui arrive, ne vous lancez pas sur de gros projets avec pour l'instant, car il faudrait redéfinir leurs épaisseurs de trait à nouveau, rien de bien méchant, mais on préfère vous prévenir. nomicons/smile

A une certaine époque et sous Qt 4 les traits pointillés, tirés, en dessous de 1 pixel étaient mal imprimés sur la plateforme Windows et ressemblait à des traits pleins, es-ce toujours le cas?

Merci de vos retours.

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

Re: Add new thickness properties for conductors and basic shapes

Merci Laurent pour ces améliorations !
Bon, là on est en période de fêtes donc je passe très peu de temps sur le PC. nomicons/sleeping
Je testerai les nouvelles possibilités à l'occasion.
Pour info : de mon côté, il semblerai qu'un nouveau projet de machine CNC à faire sur QElectroTech se profile à l'horizon février/mars 2016. nomicons/happy

Passez tous de bonnes fêtes !

Re: Add new thickness properties for conductors and basic shapes

Salut Nuri,


Petites explications du pourquoi de ces nouveautés :

Dans ces améliorations, je pense que tu es comme moi, la seule qui devrait vraiment t'intéresser, elle t'es d'ailleurs dédiée nomicons/wink  : c'est la taille de trait des basic shapes.  Ça permet d’étendre les fonctionnalités de QET, de dessiner rapidement une représentation machine légère sans incorporer d'images, ou de sortir l'artillerie lourde avec le convertisseur DXF.

Je préfère dessiner la représentation des coffrets extérieurs en 0.8 pixel sur mes schémas, c'est bien plus classe.
Le problème venait de l'impression sous MS Windows, j'avais mis en place une taille prédéfinie suivant la plateforme détectée, puis plus tard mis tous les OS sur une taille fixe en 1 pixel.


Pour la taille des conducteurs cela nous avaient été souvent demandés, et nous avons toujours rechignés à l'entreprendre, moi le premier.

Mais récemment un [s]client [/s]technicien d'une société dans l'industrie de construction automobile m'a contacté en me demandant de prévoir si possible une feature ou un workaround car sur leurs schémas imprimés en A3, les couleurs des conducteurs n’étaient pas très lisibles, surtout sur le terrain.

La première solution a été de lui envoyer un paquet avec la taille des conducteurs forcés en 2 pixel, ce qui a bien résolut son problème d'impression. 

qet-0.5_pen.setwithF2.0_fix_mousehover

C'est après, que je me suis décidé à mettre en place cette fonction pour définir l’épaisseur des conducteurs facilement par l'utilisateur soit pour tous les projets, pour le projet en cours, ou à la volée.

Apres ceux qui veulent différencier les conducteurs par l’épaisseur de trait suivant la puissance c'est maintenant possible, mais c'est une aberration sur les schémas électrotechnique industriel.

Pour les couleurs des basic shapes on sort du cadre normal d'utilisation de nos schémas pour coller à des demandes spécifiques comme pour les coffrets ascenseurs, donc oui ça se fera, quand j'aurai le temps, même si le premier je m'en servirai surement pas.


Du coté de la consommation mémoire, Joshua de son coté est en train de réécrire entièrement le code du panel d’élément.
Travail gigantesque, long, difficile et pénible, mais une fois le code entièrement réécrit et pas disséminé dans tous les recoins comme il l'est actuellement, ce nouveau panel d’éléments devrait rendre l'utilisation de QET méconnaissable sur des machines plus légères et limitées en RAM, et même sur nos petites workstations de développement.

Les premiers tests montrent une baisse d'environ 250 Mio avec les mêmes collections d’éléments, en passant de l'un à l'autre, un rafraîchissement presque instantané lors de l'ajout de nouveaux éléments.

Alors certes pour l'instant sur nos machines sur vitaminées en RAM c'est une peccadille, pas sur les machines modestes qu'on trouvent parfois en entreprise.

Il devrait même ouvrir la voie à des vues de sous dossiers dans les projets comme par exemple sur Eplan, des onglets pour des vues séparés pour les éléments, folios du projet, etc, dans le futur.


R.I.P  Ian nomicons/sad Merci pour tout ce que tu as fait.
https://bits.debian.org/2015/12/mourning-ian-murdock-fr.html
http://blog.docker.com/2015/12/ian-murdock/

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

Re: Add new thickness properties for conductors and basic shapes

Revision: 4303
Author:   blacksun
Date:     2016-01-03 14:45:30 +0100 (Sun, 03 Jan 2016)
Log Message:
-----------
QetShapeItem : add color and improve the GUI,.
the xml saving is break from previous version. 

Pour l’épaisseur de trait des basic shapes ce n'est pas encore possible d'avoir des décimaux. 


https://download.qelectrotech.org/qet/forum_img/qet_shape.webm

Enjoy! nomicons/smile

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

Re: Add new thickness properties for conductors and basic shapes

La révision svn 4306 ajoute l’épaisseur de trait sur les basic shapes de 0.2 pixel jusqu’à 50 pixel par pas de 0.2. nomicons/smile
Les paquets nightly sont en cours.

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

Re: Add new thickness properties for conductors and basic shapes

Super tout ça ! Ce fût l'objet de long débats, mais finalement ...nomicons/whistling

Re: Add new thickness properties for conductors and basic shapes

galexis wrote:

Ce fût l'objet de long débats

oui, mais finalement, le petit travail au corps n'a pas été nécessaire nomicons/happy

On peut dire ce qu'on veut, ce sont quand même des petites évolutions bien pratiques, surtout pour un logiciel orienté graphisme.

Reste plus que le remplissage des basic shapes nomicons/ninja nomicons/alien nomicons/tongue nomicons/devil

Je pose également ma petite fleur sur la tombe de Ian Murdock. Repose en paix nomicons/angel

Re: Add new thickness properties for conductors and basic shapes

Nuri wrote:
galexis wrote:

Ce fût l'objet de long débats

oui, mais finalement, le petit travail au corps n'a pas été nécessaire
Reste plus que le remplissage des basic shapes nomicons/ninja nomicons/alien nomicons/tongue nomicons/devil

Jamais content  ........ nomicons/pinch ......... !

Le coloriage vous manque tant que ça? ... nomicons/w00t

http://i.skyrock.net/7855/87237855/pics/3145667766_1_2_ADtaQzbg.jpg

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

Re: Add new thickness properties for conductors and basic shapes

Nuri wrote:

Reste plus que le remplissage des basic shapes nomicons/ninja nomicons/alien nomicons/tongue nomicons/devil

Maintenant que les traits sont fait, je peut aussi faire le remplissage, surtout avec le petit bout de code pour générer le xml correspondant au QPen utilisé, il est très petit et très simple, mais rend bien service.
Donc si c'est un "petit truc" qui peut être utile de temps en temps, je peut mettre le remplissage des shapes dans ma todo list.

Développeur QElectroTech

Re: Add new thickness properties for conductors and basic shapes

scorpio810 wrote:
Nuri wrote:
scorpio810 wrote:

Apres je sent venir les demandes du style : remplissage des basic shapes avec des couleurs.... ne revez pas, c'est pas la peine, c'est niet d’emblée!

...mmm... avec un petit travail au corps pendant quelques mois...:whistling:

Mais bien sur ..., le seul moyen pour me/nous soudoyer ...c'est des cadeaux avec dedans du gros hardware, mais chut.:whistling:

@ Joshua :justement on va le leur faire :P en espérant qu'il y ai de nouveaux dons pour pouvoir préparer le remplacement futur de la plateforme de la machine de construction de paquets.

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

Re: Add new thickness properties for conductors and basic shapes

scorpio810 wrote:
Nuri wrote:
galexis wrote:

Ce fût l'objet de long débats

oui, mais finalement, le petit travail au corps n'a pas été nécessaire
Reste plus que le remplissage des basic shapes nomicons/ninja nomicons/alien nomicons/tongue nomicons/devil

Jamais content  ........ nomicons/pinch ......... !

Le coloriage vous manque tant que ça? ... nomicons/w00t

http://i.skyrock.net/7855/87237855/pics/3145667766_1_2_ADtaQzbg.jpg

nomicons/grin

15 (edited by Nuri 2016-01-05 23:31:31)

Re: Add new thickness properties for conductors and basic shapes

scorpio810 wrote:

Jamais content ........ nomicons/pinch ......... !

Si si, merci ! Mais la nature humaine est ainsi faite : une évolution en appelle une autre nomicons/smile

scorpio810 wrote:

Le coloriage vous manque tant que ça? ... nomicons/w00t

euh non, plutôt les hachures et les niveaux de gris. Si possible des dégradés, mais là, c'est vraiment du luxe...

Joshua wrote:

Donc si c'est un "petit truc" qui peut être utile de temps en temps, je peut mettre le remplissage des shapes dans ma todo list.

forcément, c'est utile de temps en temps !
Mais incomparablement futile à côté des borniers automatiques nomicons/wink nomicons/whistling

scorpio810 wrote:

il es d'ailleurs prévu d’intégrer le convertisseur DXFtoElmt dans Qet, des travaux sont déjà en cours.

miam miam nomicons/wub


Concernant les dons : ce serait bien que les entreprises mettent la main à la poche occasionnellement.
J'en ai parlé à mon client machine CNC mais j'ai pas l'impression que le moindre euro n'ait fait le déplacement sur le compte QET nomicons/sleeping ...

Re: Add new thickness properties for conductors and basic shapes

euh non, plutôt les hachures et les niveaux de gris. Si possible des dégradés, mais là, c'est vraiment du luxe...

Tout comme avec l’éditeur d’élément il est possible d'ajouter des textures avec QPainter :
http://doc.qt.io/qt-4.8/qbrush.html
http://doc.qt.io/qt-4.8/qpainter.html


Concernant les dons : ce serait bien que les entreprises mettent la main à la poche occasionnellement.
J'en ai parlé à mon client machine CNC mais j'ai pas l'impression que le moindre euro n'ait fait le déplacement sur le compte QET  ...

Pourquoi pas des pages sponsors sur le site officiel,
présentant les entreprises/lycées, académies ..  qui nous soutiennent, un peu de visibilité à l'international pour eux et leurs produits.

Avec des pointes à plus de 140 000 visites/mois suivant les mois sur le site, c'est pas négligeable non plus, comme trafic pour des entreprises partenaires.

Serveur de download :

https://download.qelectrotech.org/qet/forum_img/2015_download.png

https://download.qelectrotech.org/qet/forum_img/2015_country.png



Serveur Web : forum, wiki, etc :

https://download.qelectrotech.org/qet/forum_img/2015_web.png

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

Re: Add new thickness properties for conductors and basic shapes

La révision svn 4306 ajoute l’épaisseur de trait sur les basic shapes de 0.2 pixel jusqu’à 50 pixel par pas de 0.2.

Mais elle casse les anciens types de traits des shapes sur vos schémas antérieurs, ils sont mis par défaut en trait normal.
La révision 4308 comptabilise maintenant les traits des anciennes shapes en traits tirés, ce qui est le plus couramment utilisé.

Des nouveaux paquets sont en cours de construction, pas la peine de reprendre vos vieux projets.

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

Re: Add new thickness properties for conductors and basic shapes

nuri wrote:

euh non, plutôt les hachures et les niveaux de gris. Si possible des dégradés, mais là, c'est vraiment du luxe...

Revision: 4315
Author:   blacksun
Date:     2016-01-12 15:02:34 +0100 (Tue, 12 Jan 2016)
Log Message:
-----------
QetShapeItem : shapes can be filled with some patterns and colors

400x223

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

Re: Add new thickness properties for conductors and basic shapes

Youpi ! nomicons/smile
Maintenant, pour le graphisme de base, il ne manque plus rien à QET.

merci beaucoup !

Re: Add new thickness properties for conductors and basic shapes

Top !

21 (edited by Nuri 2016-01-29 12:21:10)

Re: Add new thickness properties for conductors and basic shapes

Top ? Presque !

J'ai remarqué que l'épaisseur des traits des basic shapes influence aussi la longueur du motif choisi.
Par "longueur de motif" je désigne l'espacement et la longueur des traits pour les lignes de type "tiret", "pointillé"... C'est-à-dire tous les types de traits sauf ceux continus, évidemment.

La longueur de motif pour un trait de 2px est différente de celle d'un trait de 0,2 pixel. Ce qui a pour conséquence néfaste de rendre le motif quasiment invisble lorsque l'on choisi une épaisseur < 1. Aussi bien à l'écran qu'en édition pdf, d'ailleurs.

Est-ce qu'il serait possible d'ajouter un champ supplémentaire dans l'édition des propriétés des basic shapes pour pouvoir influencer ce paramètre ?
Est-ce facilement réalisable avec QPen, QPainter ou je sais pas quoi comme classe Qt ?

De plus, pour rester cohérent, il faudrait que les propriétés propres au "remplissage" soient grisées (non éditables) pour la basic shape "ligne", car le remplissage ne s'applique pas à une ligne.

Post's attachments

propriétés_basic_shapes.png, 57.58 kb, 1210 x 466
propriétés_basic_shapes.png 57.58 kb, 515 downloads since 2016-01-29 

Re: Add new thickness properties for conductors and basic shapes

Salut Nuri,


J'ai remarqué que l'épaisseur des traits des basic shapes influence aussi la longueur du motif choisi.
Par "longueur de motif" je désigne l'espacement et la longueur des traits pour les lignes de type "tiret", "pointillé"... C'est-à-dire tous les types de traits sauf ceux continus, évidemment.
La longueur de motif pour un trait de 2px est différente de celle d'un trait de 0,2 pixel. Ce qui a pour conséquence néfaste de rendre le motif quasiment invisble lorsque l'on choisi une épaisseur < 1. Aussi bien à l'écran qu'en édition pdf, d'ailleurs.
Est-ce qu'il serait possible d'ajouter un champ supplémentaire dans l'édition des propriétés des basic shapes pour pouvoir influencer ce paramètre ?

C'est tout a fait normal, la longueur des segments dépend de l’épaisseur de trait !
Pour ces types de traits je ne descend pas en dessous de 0.8 pixel sur ma Debian, sur MS Windows c'est une autre histoire : l'impression rendant ces traits < 1 px en traits pleins.

Pour pallier à ta demande il faudrait utiliser un Qt::CustomDashLine à la place, et donc rajouter des menus pour rentrer les variables :

qreal space = 4;
dashes << 1 << space << 3 << space << 9 << space
           << 27 << space << 9 << space;

Note that the dash pattern is specified in units of the pens width, e.g. a dash of length 5 in width 10 is 50 pixels long.


http://doc.qt.io/qt-4.8/qpen.html

Franchement : ça en vaut pas le coup.

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

Re: Add new thickness properties for conductors and basic shapes

et modifier ces paramètres en "hard coded" sans devoir changer de classe Qt, c'est faisable ?

Par exemple :

si 0,2 < épaisseur du trait =< 0,6
alors paramètres des segments = [un jeu de valeurs aux petits oignons]

si 0,7 < épaisseur du trait =< 1
alors paramètres des segments = [un autre jeu de valeurs aux petits oignons]

si 1 < épaisseur du trait =< 2
alors paramètres des segments = [encore un autre jeu de valeurs aux petits oignons]

etc...

En fait, moi ca m'est égal de pouvoir influencer directement ces paramètres. J'aimerais juste que ce soit bien visible et donc pouvoir exploiter tout le potentiel des nouvelles "fonctions coloriage" pour faire des jolis dessins nomicons/cheerful

Pour ces types de traits je ne descend pas en dessous de 0.8 pixel sur ma Debian, sur MS Windows c'est une autre histoire : l'impression rendant ces traits < 1 px en traits pleins.

J'ai le même problème sur Ubuntu en impression pdf. En dessous d'une certaine épaisseur, tous les motifs deviennent des lignes continues. D'où ma demande...

Re: Add new thickness properties for conductors and basic shapes

En fait, moi ca m'est égal de pouvoir influencer directement ces paramètres. J'aimerais juste que ce soit bien visible et donc pouvoir exploiter tout le potentiel des nouvelles "fonctions coloriage" pour faire des jolis dessins 

C'est juste un simple éditeur, tout ce qu'il a de plus basique, sans primitives arc, courbes de Béziers, etc.
Ce n'est pas prévu pour vraiment dessiner une machine complexe, comme dans l'exemple que tu m'as envoyé.
Pour cela il est préférable de travailler sur un vrai logiciel de CAO, et ensuite de les convertir en éléments avec le convertisseur "dxftoelmt" et de les importer dans Qet, ou simplement insérer une image.

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

Re: Add new thickness properties for conductors and basic shapes

Ouh la... j'ai jamais dit que je voulais faire de la CAO avec QElectroTech nomicons/wassat

En fait, j'ai besoin des "fonctions coloriage" pour agrémenter mes mises en armoire et faire des plans d'implantation. Les dessins compliqués, en effet, ils viennent de la conception mécanique et sont importés avec dxftoelmt.
Mais après, il faut encore que je décrive tous mes machins électrotechniques sur les dessins issus de la CAO.
Et ca, c'est pas le boulot de la conception mécanique, c'est le mien.

Pour séparer les différentes localisations sur un schéma, j'utilise un trait pointillé ou un trait-point-trait. J'aurais bien aimé les mettre en épaisseur 0,2 pour que l'oeil fasse automatiquement la différence entre conducteurs et lignes auxiliaires. Bref, améliorer la lisibilité.

Les fonctions que tu as implémentés sont vraiment très utiles, bien que tu aies été longtemps sceptique à leur sujet. Et je te félicite encore une fois d'avoir franchi le pas.
Le remplissage des shapes à l'air de fonctionner pile-poil (j'ai pas encore essayé dans tous les sens).
Mais avec les types de trait, ca coince...