Replies: 3 comments
|
Phase 1 mechanism (the first of the two states described above — placed, unconfigured, placeholder) is built and up for review: #668. What it does:
What it deliberately does not do:
Separately, some classification tooling exists in the Docker harness repo ( |
|
First real data for #668's mechanism to read: qelectrotech/qelectrotech-elements#69 seeds Full methodology, thresholds, and one specific edge case worth a second pair of eyes are in that PR's description rather than repeated here. |
|
@ispyisail : see https://github.com/qelectrotech/qelectrotech-elements/blob/main/10_electric/qet_labels.xml and search on forum, sorry for my delay I don't have the time or the health for it at the moment. |
Uh oh!
There was an error while loading. Please reload this page.
Checked: is this already done?
No. #613/#648 and #649/#650/#652 built the structure half of an IEC 81346 reference designation — the
=plant+location-prefixpart. This is about the other half: the classification letter itself (theKin-K3, theQin-Q1) — and making it visible the moment an element is placed, before any numbering is even configured.The ask
Right now, getting
-K1on a relay means typing-K%sequ_1into that relay's numbering-context formula yourself (Project Properties → Numérotation auto → Éléments). QET has no idea a relay is a relay — the letter only ever appears because a person typed it.Two pieces:
K?,Q?,S?— so you can see at a glance what it will become, before you've set anything up.K1,K2— letter and number together, combining this with the existing auto-numbering system (%sequ_1etc.) rather than replacing it.Why this is genuinely hard — and I don't want to undersell it
QET has no concept of device classification anywhere today. Checked before writing this up, not assumed:
kindInformations()— the closest thing that sounds relevant — exists on very few elements, and where present it describes contact state (type=simple,state=NO), not device category.ElementData::typeToString()returnssimple/master/slave/terminal/etc. — the element's link role, orthogonal to what kind of device it physically is..elmtformat or theqet_directoryper-folder metadata carries anything like a designation letter.So this needs new classification data from scratch, and the collection is 1156 category folders, 8757 elements (counted directly). That's the real scope problem, and it's the same shape as translations: 1 person cannot classify all of it accurately in one PR, and a rushed, wrong classification is worse than an honest gap, especially for something claiming IEC compliance.
One more thing that needs a real answer before this goes far: IEC 81346-2's classification table is a paid, copyrighted ISO/IEC document. I don't know how much of "K = relay" is a protectable expression versus an uncopyrightable fact/correspondence, and I'm not the right one to decide that. Worth someone actually checking before this is built, not after.
Proposed scope — phased, not all-or-nothing
Phase 1 — mechanism + a handful of seed examples.
qet_directoryfile (same file that already carries translated category names — see the PR Never leave a collection folder without a name (replaces #622) #633 work onFileElementCollectionItem) — something like adesignation-letterattribute. Absent by default; nothing changes for a category that hasn't been classified.Element::actualLabel()/setUpFormula()(sources/qetgraphicsitem/element.cpp) gain a third state alongside "static label" and "formula-computed label": no formula configured, but the element's category has a letter → showLETTER?.Phase 2 — progressive, crowdsourced classification.
Same shape as translation coverage: track how many of the 1156 categories have a letter assigned, let it grow over time, don't gate the feature on 100% completion. A category folder is a much more tractable unit to hand out to volunteer contributors than 8757 individual elements would be.
Phase 3 — only if actually needed.
Per-element override, for the categories that turn out to mix classifications a single folder-level letter can't capture correctly.
Open questions I'm deliberately not answering here
K?placeholder be styled differently from a finished label, so nobody mistakes it for something ready to manufacture from? UI question for whoever picks this up.Relationship to #617
Not the same problem. #617 is about grouping several elements into one assembly with shared external terminals — connectivity. This is purely about what letter+number gets displayed on a single element's label. Same distinction #649 already drew for the same reason.
All reactions