Les vidéo d'écran de ton écran UHD ont un rendue pas top sur nos écran FullHD.
pis aussi, les vidéos 4K, ca fait ramer à mort le serveur TuxFamily qui a déjà bien du mal avec les FullHD habituelles.
You are not logged in. Please login or register.
QElectroTech → Posts by Nuri
Les vidéo d'écran de ton écran UHD ont un rendue pas top sur nos écran FullHD.
pis aussi, les vidéos 4K, ca fait ramer à mort le serveur TuxFamily qui a déjà bien du mal avec les FullHD habituelles.
Moi aussi j'ai la 0.5 qui s'installe à chaque fois qu'une nouvelle build de la 0.6 est publiée (mon Ubuntu 16.04 effectue ses mises à jour automatiquement en arrière plan).
Ce problème date maintenant. J'ai rien dit, je pensais que c'était inhérent à ma config, apparemment non.
Donc dès que je démarre QElectroTech et que c'est la 0.5 qui démarre, je sais d'emblée que Laurent a fait une nouvelle build
Evidemment j'ai le fichier de pinning avec ce contenu :
Package: qelectrotech*
Pin: version 0.60.*
Pin-Priority: 1001
Pour réinstaller la 0.6, il faut que j'ouvre Synaptic et fasse une réinstallation du paquet qelectrotech, après, ca marche, j'ai bien la 0.6.
@ Unalcalde:
yes, show a table to change the order of the terminals is a great idea
It is much more convenient for the user how can "take care" of the terminals strips when the drawing of the schematics is done and not every time a new terminal is created.
@ Joshua :
yes, adding special info fields for terminals is nice
I'm also thinking about the information "terminal number" which needs an extra field.
For example :
Label = -X1
Terminal number = 1
sympa, je vais peut-être commencer à les utiliser sérieusement ces symboles.
Hi Bob, look in this folder in your PC (I guess you are on Windows):
C:\Program Files\QElectroTech\examples
The example files are pretty old now. I don't know if it really suits to what you're searching for.
hi bobwiles
Bonjour Michel
l'équipe QElectroTech devrait bientôt mettre un nouveau site web en ligne.
La page "download" intégrera alors les instructions complètes pour installer depuis la ppa.
Amen
merci Joshua pour ces améliorations.
Ca faisait partie des petits trucs chiants, voire bien chiants, qui te gâche le plaisir d'utiliser QET.
je ne suis pas d'accord avec toi, perso je ne m'en sert pas, mais ça peut être utile pour d'autre personne, la preuve.
De plus au niveau du code c'est pas grand chose (j'aurais un autre avis si le truc étais hyper chiant à maintenir).
Dès le départ, je pensais que ce serait mieux de virer la fenêtre double-clic pour éviter les fonctions doublon. Mais bon... c'est pas moi qui bosse sur le code alors si c'est pas beaucoup de travail de maintenance...
Sinon, ce serait bien d'étudier l'insertion du retour chariot dans tous les textes. J'ai l'impression qu'il manque pas grand chose pour que ca puisse fonctionner facilement.
Je m'en sers déjà d'une manière détournée :
j'ouvre un éditeur de texte et j'écris un truc du genre :
a
b
je sélectionne le texte de a à b (comme ca, le retour à la ligne, invisible, est copié également), je copie et j'insère par exemple dans le champ "commentaire" d'un élément.
Dans "commentaire", j'écris avant "a" par exemple "ventilateur condensateur" puis, après "b", j'écris par exemple "n°1".
Ensuite j'efface "a" et "b" et mon texte est correctement formaté :
[center]ventilateur condensateur
n°1[/center]
Sous Eplan, le retour chariot est disponible avec le raccourci ctrl+Entrée.
Dans QET, on pourrait utiliser le même raccorci et en plus ajouter une entrée "insérer un retour chariot" dans le menu contextuel.
Et comme les textes dans les champs du widget de l'élément s'écrivent tous en une ligne (sans formatage) on pourrait utiliser la représentation habituelle du retour chariot :
Thanks Laurent!
And thanks to Joshua for all the improvements "behind the scenes".
Yes. it's a big work to write all the changes made in more than 2 years.
I have not abandonned the new web site. I'm only very busy.
I need 2 days free time to launch the new site and I can not find them at the moment.
You can already make a saving of the old (current) web site in the case we need to search for some eventually broken functionalities.
Like for every new release, I make a donation to the QET project.
Hallo Walter,
es gibt keine Rastereinstellung in QET.
Der Raster ist fest und dem Abstand zwischen zwei Punkten entspricht 10 Pixel, sowohl im Schaltplan- als auch im Bauteileditor.
Wenn du im Bauteileditor mit Strg+Maus nicht klar kommst, hast du noch die Möglichkeit, die Koordinaten deiner grafischen Formen direkt zu editieren (im rechten Panel).
Die Koordinatenangaben beziehen sich auf dem "Hotspot" (der rote Kreuz).
Es ist etwas lästig, Formen so zu editieren, aber es ist halt dann perfekt exakt.
Für komplexere Symbole würde ich dir eher empfehlen, den DXF Konverter zu benutzen, sonst wirst du wahnsinnig im Bauteileditor .
Ich nutze selber QCAD (quelloffen und gratis, Windows und Linux), um dxf Dateien zu kreieren.
Die Lernkurve ist ziemlich steil am Anfang aber dann kannst du alles zeichnen/importieren in QET.
Hallo Matthias,
du kannst deine Bauteile direkt online über die Bauteilablage (bzw. Element repository) verschicken.
Leider noch nicht auf deutsch aber wir arbeiten dran
Siehe hier:
https://qelectrotech.org/submit-element.php
Oder in einem Archive (zip oder Ähnliches) per Email an unseren Projektmanager:
scorpio@qelectrotech.org
Email bitte in englisch oder französisch.
Danke dir!
La moulinette existe déjà en fait, et vous l'utilisez depuis que les textes non taggé sont convertie en texte dynamique, les "ancien" textes taggé sont exactement les mêmes que les non taggé (en fait ils ont un tagg qui est à "none").
Ok, je pense piger.
Je pensais créer un dossier "element_text_pattern" dans le dossier de conf de qet avec dedans des fichiers xml, un par configuration, qui du coup est compatible avec ta demande.
Ok, donc en principe tu sais faire (quand je fais une demande ou une proposition, c'est pas toujours facile de cerner le niveau qu'il faut en C++ pour arriver à ses fins, donc parfois je propose des trucs faciles et parfois... quasi infaisables ).
Et super, tu vas stocker dans du xml, je pense que c'est un bon choix.
Par contre, je pense pas qu'il faille mettre le dossier "element_text-pattern" dans le .conf de l'OS car, du point de vue de l'OS, ce dossier n'a finalement pas de rapport avec la config du logiciel (à fortiori si ces configs sont aussi intégrées dans les projets).
Je voyais ca plutôt dans :
/home/nuri/.qet/user-settings
à côté de /elements et de /titleblocks.
Pourquoi faire comme ca ?
Parce qu'il y aura certainement à l'avenir d'autres petites configurations à stocker quelque part et ce dossier devrait préparer la route pour de nouveaux développements.
Par exemple, avec l'ajout d'une nomenclature dans le projet :
l'utilisateur configure l'apparence des formulaires, etc. et évidemment, il aimerait bien enregistrer cette config pour pouvoir la réutiliser ou pour l'envoyer à un tiers.
Pareil avec l'édition du sommaire, si on décide de le rendre configurable.
Ce serait bien d'avoir aussi l'avis de Laurent, vu qu'il fait quasiment tout le packaging pour quasiment tous les OS, il doit avoir une idée de ce qui est pratique à déployer sur différents OS et de ce qu'il l'est moins.
Ok...
Donc on aura un fichier xml qui stocke une configuration d'affichage pour les textes dynamiques.
Est-ce qu'il faut donner une extension particulière à ce fichier xml ? (comme pour le fichier xml du projet, renommé .qet alors que c'est un banal xml).
Par exemple :
pour les configs de textes dynamiques, on donne l'extension .qetdt (dt = dynamic texts)
pour les configs de nomenclature, on donne l'extension .qetpl (pl = parts list)
pour les configs de sommaire, on donne l'extension .qettc (tc = table of contents)
etc... en fonction des développements qui se feront...
et on place tous ces fichiers dans /home/[user]/.qet/user-settings.
Ensuite, les file pickers pourront filtrer les fichiers en fonction de leur extension.
Est-ce bonne idée ?
Est-ce lourdingue à coder ?
Concrètement, pour les projets existants, le bascule sera automatique (pensez quand même à faire une sauvegarde de votre .qet avant, on ne sait jamais).
Pour les nouveaux en revanche les choses vont changer.
En fin de compte, est-ce que t'as fait une petite moulinette de conversion pour que la structure et les tags xml des projets créés avec v0.6 soient identiques à ceux d'un projet créé avec v0.7 ?
Ou est-ce que des exceptions vont persister en fonction de la version avec laquelle le projet a été créé initialement ?
Le problème, c'est que cela sera très très lourd à l'usage (à mon avis) de devoir répéter encore et toujours la même action.
C'est aussi ce que je me disais
Poser un élément lambda, créer les textes comme dit plus haut, puis cliquer sur un bouton, "exporter la configuration des textes".
Ensuite, il suffira de cliquer sur un bouton "importer une configuration de textes" et tada tout est déjà fait.
C'est une idée que j'avais dans mes tirroirs et je me demandais si c'était facile à réaliser ou pas.
Tu viens donc de me couper l'herbe sous le pied !
Par quel format vas-tu passer pour faire cet import/export ?
Est-ce que tu vas passer par QSettings ?
L'idéal ce serait de rendre ces configurations indépendantes du projet et de l'application. C'est-à-dire qu'elles ne devraient pas être enregistrées seulement dans le projet ou seulement dans le qelectrotech.conf sinon ca va rendre le transport de ces configurations compliqué. Par exemple :
- je fais une config de textes dans un projet A
- quelques semaines plus tard, je crée un projet B de zéro et j'aimerais réutiliser les configs textes du projet A
Comment je fais ? J'importe un petit fichier dans projet B ou j'importe une config enregistrée dans qelectrotech.conf ?
L'inconvénient de passer par qelectrotech.conf, c'est que ca limite l'enregistrement et l'appel des configs à une seule machine. Si je veux envoyer les configs à mon client qui tourne sous Windows, je serais bloqué puisque QSettings enregistre chez lui dans la base de registre. Il faudrait donc utiliser un format lisible par tous les OS.
Une fois que les configs sont importées dans un projet, elles devraient AUSSI être enregistrées dans ce projet.
Les termes "import/export" ne sont peut-être pas les plus adaptés, mais c'est du détail.
C'est du détail mais les termes utilisés dans la GUI sont toujours importants car c'est aussi eux qui rendent l'appli intuitive ou pas. De plus, des termes bien choisis facilitent le travail des traducteurs (et pas qu'un peu...).
Pour le coup, "importer une configuration de texte" et "exporter une configuration de texte" me semblent tout-à-fait bien choisis.
Laisser uniquement ces messages en tool tip suffit. Je ferais des icônes pour tes boutons quand t'auras fini l'implémentation dans l'éditeur de schémas.
@ noir_desir :
c'est un développement qui a été réalisé l'année dernière (flèches direction pour se déplacer dans le folio).
Je suis moi aussi franchement pas un fan de cette "amélioration" qui provoque des bugs qui n'existait pas avant.
Par exemple :
quand je sélectionne un report de folio, je ne peux plus le bouger ni vers le haut, ni vers la gauche avec les flèches directionnelles. Par contre vers le bas et vers la droite oui...
J'ai pas encore compris pourquoi cela marche avec certains élémens mais pas avec d'autres.
Un petit revert de commit ne serait pas totalement inapproprié
Je pense que cette modif est restée dans le code plus pour des "raisons politiques" (ne pas blesser les nouveaux développeurs) que par pragmatisme.
@ Joshua :
merci pour le infos et les liens, ca me permettra de comprendre quelques notions suplémentaires au passage.
il m'affiche 2 fenêtres pour QET (l'appli principale et le dialogue) a chaque fois
Ben justement, c'est ca le hic, il devrait t'en afficher qu'une seule si le QColorDialog était vraiment modal par rapport à l'appli.
Maintenant, essaies le truc suivant :
- démarre QET et crée un projet vierge
- dépose un élément, crée un texte dynamique quelconque.
- enregistre
- clique sur le champ "Couleur" pour ouvrir le QColorDialog
- touche à rien (laisse le dialogue ouvert) et ferme QET
Alors ? Est-ce que le dialogue existe encore ou pas ?
EDIT :
autant pour moi... je constate 2 comportements différents avec le QColorDialog selon l'environnement de bureau utilisé.
Sous KDE, tout à l'air de se comporter normalement :
- quand le dialogue est ouvert, je ne peux pas fermer QET
- donc on a l'impression que le dialogue est modal (je pense plutôt que c'est KWin qui gère ca tout seul)
Sous Unity, je peux fermer QET et le dialogue reste ouvert, comme si c'était une appli à part entière.
Et le launcher de Unity me montre clairement 2 icones. Quand je clique le QColorDialog pour la couleur des conducteurs, le Launcher Unity me montre qu'une seule icône.
Sous KDE, la barre des tâches montre toujours 2 icônes. Que ce soit le QColorDialog des textes dynamiques out celui des conducteurs ne change rien.
Je pense que le Gnome Shell de Joshua doit se comporter à peu près comme Unity.
?
Chez moi, le QColorDialog s'ouvre au premier plan seulement à la première ouverture. Les fois d'après, il s'ouvre toujours derrière le fenêtre principale de QET
Sous KDE, le QColorDialog s'ouvre toujours en avant-plan (devant la fenêtre QET) mais l'OS considère que c'est une appli à part entière car, dans la barre des tâches, il m'affiche 2 fenêtres pour QET (l'appli principale et le dialogue).
Alors que si j'ouvre le QColorDialog pour choisir la couleur des conducteurs, par exemple, le dialogue est considéré comme une sous-fenêtre de l'appli et l'OS ne montre qu'une seule fenêtre dans la barre des tâches.
@ Laurent :
oui j'avais les mêmes warnings.
Mais je pense pas qu'ils soient en rapport avec le QColorDialog qui existe aussi en dehors de l'application.
Chouette
J'ai survolé le commit :
pour changer le comportement des QSpinBox, il fallait donc bricoler les QEvent qui y sont associés et pas chercher dans les paramètres de QAbstractItemView.
J'ai vu que t'as fait pareil aussi pour les QComboBox, c'est bien !
Ca n'avait pas l'air simple à régler, bravo .
Concernant le QColorDialog pour changer la couleur des textes, j'ai remarqué ceci :
- je démarre fraîchement QET
- sur le folio, j'insère un élément contenant un texte dynamique rouge avec source "texte utilisateur"
- je clique sur ce texte et clique sur le champ "couleur"
- le QColorDialog s'ouvre au premier plan
- je change rien et clique sur "annuler"
- le texte rouge devient noir --> anormal
Dès qu'on annule le QColorDialog, les textes redeviennent noir.
De plus, si on annule le QColorDialog, et qu'on re-clique sur le QPushButton pour changer la couleur, plus rien ne se passe (le dialogue ne s'ouvre pas).
Chez moi, le QColorDialog s'ouvre au premier plan seulement à la première ouverture. Les fois d'après, il s'ouvre toujours derrière le fenêtre principale de QET. Si je redémarre QET, même comportement : la première fois devant, et après toujours derrière.
J'ai regardé la doc de QColorDialog et il est explicitement écrit que :
"The static functions provide modal color dialogs."
Donc je pige pas pourquoi ce machin s'ouvre derrière la fenêtre QET, sauf au premier appel.
Une petite piste pour chercher l'erreur :
si je clique sur le QPushButton qui appelle le QColorDialog, le dialogue s'ouvre.
Je touche à rien d'autre et je ferme QET. Le QColorDialog existe toujours et n'a pas été détruit par QETapp.
Visiblement, il y a un problème de parenté avec ce dialogue.
@ stephan :
oui, nous sommes au courant de ce problème, qui n'embête pas que toi d'ailleurs
Cela vient du fait que les folios contenant le sommaire n'ont pas de réelle existence dans le fichier .qet.
Ils sont générés à chaque nouvelle ouverture et les modifs effectuées dans les variables du cartouche ne sont pas sauvegardées.
Pour contourner le problème, tu peux faire comme ceci (je fais pareil) :
dans le menu Projet --> Propriétés du projet, registre "Nouveau folio", onglet "folio". Ici se trouve la configuration par défaut qui sera aussi appliquée aux folios sommaire.
Inconvénient : à chaque fois que tu ajoutes un nouveau folio, il aura cette configuration.
A toi de voir si ca te convient. Y'a pas d'autre workaround à ma connaissance.
Je suis sûre à 99% que ce n'est pas possible surtout quand je regarde la doc ici
oui, effectivement y'a pas de méthode pour ǵérer ce comportement.
C'est peut-être pas plus mal d'ailleurs, car je viens d'y repenser :
étant donné que le QAbstractItemView possède lui-même une SrollArea, si on le fait défiler et que la QSpinBox choppe le focus au passage, tu changes la valeur de celle-ci sans t'en rendre compte .
Je connais ce comportement dans FreeCAD qui utilise un QAbstractWidget pour éditer les paramètres de ses objets 3D et parfois, en scrollant, tu changes des valeurs dans les QSpinBox. Faut toujours faire attention, c'est parfois pénible.
Pour le champ tagg, je l'avais mis afin que l'utilisateur puisse écrire un truc perso mais qui ne serais pas utilisé par QET, pour une potentiel utilisation future.
Mais t'est pas le premier à poser la question, et au vue de l'évolution des textes (je ne pensais pas aller aussi loin avec les nouveaux textes) et des utilisateurs "avancé" comme toi qui n'en trouve aucune utilité, je pense que je vais l'enlever.
Oui, pas besoin de "Tagg". Normalement, la valeur de "Source du texte" et de "Information" doivent suffire à définir l'information contenu dans "Texte".
2 infos (paramètres) pour définir un texte, c'est déjà pas mal !
Je vais regarder ça, mais je promet rien car chez moi, le dialogue s'affiche bien au premier plan, donc ça va pas être simple de savoir si oui ou non le problème est réglé.
Bizarre... : ce matin, la boîte de dialogue s'ouvre au premier plan (devant la fênetre QET). J'y comprends rien !
En tout cas, le dialogue doit être modal par rapport à l'appli, ca c'est sûr.
this->setWindowModality(Qt::ApplicationModal);
#ifdef Q_OS_MAC
setWindowFlags(Qt::Sheet);
#endif
(je sais bien que tu sais écrire ce code, c'est juste que je commence à confonter mes connaissances Qt à la réalité... )
Et pour finir... j'ai le droit de faire mon chieur ?!?
Dans le QAbstractItemView des textes dynamiques, est-ce bien nécessaire de faire un sous-niveau d'arborescence pour "Source du texte" ?
Je pense que le QAbstractItemView serait plus simple à manipuler et plus facile à comprendre du premier coup d'oeil si on avait tous les paramètres d'un texte dispo en un seul niveau d'arborescence.
Quand on a plusieurs textes ouverts, les yeux s'y perdent un peu dans toutes ces lignes...
Comme ca ?
@ Joshua :
super, ca avance bien !
Avec l'actualisation des valeurs dans les différents widgets, j'ai remarqué un truc un peu étrange :
si, par exemple, je tape "50" dans la QSpinBox de Position X, le texte bouge à la volée dans l'éditeur de schéma (pas besoin de taper entrée).
Par contre, si je fais incrémenter ou décrémenter la valeur de la QSpinBox avec la molette souris, le texte ne bouge pas à la volée, faut taper entrée.
De plus, pour pouvoir modifier la valeur de la QSpinBox avec la molette souris, il faut d'abord cliquer sur la QSpinBox (activer le widget). Si je ne fais pas le clic, la molette souris est sans effet au dessus du widget. Y'a pas moyen de rendre la QSpinBox tout de suite active ? Y'a plein d'endroits dans QET où ces widgets sont directement modifiables sans besoin de cliquer dessus et c'est très agréable .
Pareil avec la QComboBox "alignement" dans un groupe de texte : il faut d'abord sortir du widget (cliquer ailleurs) pour que la nouvelle valeur soit prise en compte.
Un truc que j'ai toujours pas compris : à quoi sert donc ce champ "tagg" ?
Dans le QTreeView des textes dynamiques, quand je clique sur "couleur", chez moi, la boîte de dialogue pour choisir la couleur s'ouvre toujours en arrière plan (sous la fenêtre QET). Ne faut-il pas rendre ce dialogue modal par rapport à l'application ?
Et enfin, j'aimerai avoir confirmation si, dans l'éditeur d'élément, ces 2 widgets sont encore inactifs car l'implémentation n'est pas encore terminée ?
@ scorpio810 :
Ah, cela n'agit que sur diagramitemfont .
Je croyais que tu voulais faire und QFontDialog pour diagramfont.
Pour avoir pas mal joué dans le qelectrotech.conf, je sais qu'il faut pas trop tripoter diagramfont sinon cela crée des décalages en fonction de la métrique de police utilisée.
Perso j'ai pas besoin de changer a police des champs de texte. Mais y'a sûrement quelqu'un à qui ce sera utile.
Pourquoi ne pas avoir mis le QFontDialog dans le dialog des "Propriétés des champs de textes" ? (quand on fait clic droit sur un champ de texte)
C'est parce que diagramitemfont est globale ?
@ Joshua :
je vais tester.
Plus tard on devrait mettre en place un widget pour sélectionner facilement la taille et police par défaut de ces textes.
Chouette !
Par contre, attention aux changement de police et de taille en cours de route.
Comme QET ne gère pas l'alignement des textes, si la métrique de la police change, tous les textes seront décalés, voire les uns sur les autres, et empièteront éventuellement aussi sur les symboles.
Le sommaire est consulté pour rechercher un n° de page concernant un titre de folio uniquement.
en principe, oui, et en littérature, oui.
Mais dans les documentations électrotechniques, non.
Quand plusieurs concepteurs travaillent sur un même projet, en général, on apprécie quand le nom de l'auteur du folio est dans le sommaire.
Quand la doc passe par moultes phases (conception initiale, conception finale, montage, mise en service qui marche pas, corrections de la mise en service, bricolage 1 pendant le montage, bricolage 2 pendant le montage... et enfin livraison chez le client final), on apprécie quand un numéro de version est dans le sommaire.
Quand on utilise la norme IEC 81346 et donc qu'on organise son projet en arborescence, il faut au minimum indiquer la localisation (+) et le groupe fonctionnel (=) de chaque folio.
Quand ceci et quand cela...
Enfin, tu vois le topo, les besoins divergent et je comprend tout à fait ceux qui ont besoin d'un sommaire très simple et le plus synthétique possible, mais cela cantonne QET à un petit groupe d'utilisateurs alors que son potentiel va déjà au delà de ca.
La nomenclature doit impérativement pouvoir être exportée en CSV pour son exploitation dans un tableur.
Cette fonctionalité marche super bien dans QET. Et elle est vitale, on tous d'accord là-dessus je pense.
Le reste est optionnel et relève du dossier technique.
Justement... QET était initalement uniquement un éditeur de schémas électrotechniques/électriques.
Pour entrer dans "la cour des grands" il faut être plus qu'un éditeur de schémas. Il faut devenir un éditeur de documentation électrotechnique. Il faut donc pouvoir éditer des schémas et aussi :
- générer/exporter une nomenclature dans la documention
- générer une table des matières (qui peut être réduite à un sommaire pour des documentations de quelques folios)
- générer des plans de borniers
- générer/exporter des listes de câbles
- générer/exporter des listes de fileries
- générer des apercus d'entrées/sorties d'API, carte par carte, CPU par CPU
- exporter des tables de mnémoniques en format natif pour des CPU Siemens, ABB, Schneider, Beckhoff, Allen Bradley...
- assister les mises en armoire et les plans d'implantation
- gérer une bibliothèque d'articles bien fournie (justement pour générer et exporter des nomenclatures rapidement)
Tout ce blabla pour dire qu'il faudra un jour créer un sommaire / une table des matières très configurable couvrant les besoins d'utilisateurs aussi diverses que :
- le bricolo du dimanche qui fait le plan de ses guitares sur 3 folios
- l'électricien du coin qui fait des projets de maximum 10 folios
- l'installateur pro qui fait des plans uniflilaires sur 20 folios maximum
- le concepteur pro occasionnel qui n'a pas envie de s'acheter un Eplan pour seulement faire des petites modifs de temps en temps dans des plans existants
- le concepteur pro qui fait tout le temps des petites machines qui tiennent sur 50 folios
- le concepteur pro qui fait des machines indus qui tiennent sur 500 folios
- le concepteur pro qui fait des installations indus qui tiennent sur 2000 folios
QElectroTech → Posts by Nuri
Powered by PunBB, supported by Informer Technologies, Inc.
Generated in 0.021 seconds (34% PHP - 66% DB) with 5 queries