Formatul XML al seturilor de feronerie

<< Click to Display Table of Contents >>

Navigation:  WinArhi > Fereastra principala > Oferte si Comenzi deschise > Meniu > Optiuni > Editare Feronerie > Import feronerie din XML – ghid pentru producători >

Formatul XML al seturilor de feronerie

Formatul XML al seturilor de feronerie

BrowseBlueLeft BrowseBlueRight

 

Acest subiect descrie fișierul XML prin care se transmit seturile de feronerie ale unei serii de profile, în formatul 2 al WinArhi: structura, fiecare element și atribut, valorile acceptate și ce face WinArhi cu ele. Se adresează producătorului de feronerie care generează fișierul din propriul sistem și utilizatorului WinArhi care îl importă din fereastra Editare Feronerie, fila Seturi, meniul Seturi > Importă seturi din format XML (vezi Seturi).

 

Pașii de lucru, regulile comune de scriere a valorilor (numere, bife, texte, rânduri noi), importul și verificarea fișierului sunt descrise în Import feronerie din XML – ghid pentru producători. Articolele de feronerie, adică catalogul la care se referă codurile din seturi, au formatul descris în Formatul XML al articolelor de feronerie.

 

Schema XML a fișierului: WinArhi-HardwareSets-v2.xsd; un exemplu valid: WinArhi-HardwareSets-example.xml, comentat la Exemplu comentat (de descărcat din arhiva WinArhi-HardwareXML-v2.zip, cu toate schemele și exemplele). Un fișier valid pentru schemă se importă fără erori, cu excepțiile descrise la Validarea cu schemele XSD: coloanele bazei de date în care se importă pot fi mai înguste sau de un tip mai vechi decât cele descrise de schemă, iar WinArhi refuză o declarație DOCTYPE, o secțiune CDATA într-un Set și un rând nou la sfârșitul lui Mark sau HardwareSet. Codurile care nu există încă în articole, mărcile noi și culorile necunoscute produc numai avertismente.

 

Fișierele în formatul 2 pot fi importate corect numai de WinArhi 2026.0.81 sau mai nou. Importați întâi fișierul de articole, apoi fișierul de seturi: rândurile seturilor își iau denumirea și culoarea din articole, iar un cod care nu există încă în articole este semnalat la import și sărit la folosirea setului.

 

       Ce este un set de feronerie și structura fișierului

 

Un set de feronerie este lista completă de articole (rânduri) care se montează pe o cercevea (canatul, partea mobilă a ferestrei sau a ușii). În WinArhi un set aparține unei serii de profile și este identificat prin patru valori, care formează cheia setului:

 - Opening – tipul de deschidere al cercevelei (de exemplu oscilo-batant);

 - WD – destinația: fereastră (Window) sau ușă (Door);

 - Mark – marca feroneriei;

 - HardwareSet – denumirea setului în cadrul mărcii.

Fișierul nu conține seria de profile. Utilizatorul WinArhi alege seria în fila Seturi a ferestrei Editare Feronerie, iar toate seturile din fișier intră în seria aleasă. Pentru mai multe sisteme de profile, fișierul (sau câte un fișier, dacă domeniile de falț diferă) se importă în fiecare serie. Atributul Series al rădăcinii este doar informativ.

 

Când setul este pus pe o cercevea, WinArhi alege rândurile după dimensiunile de falț ale cercevelei: X = lățimea de falț (FFB, Flügelfalzbreite), Y = înălțimea de falț (FFH, Flügelfalzhöhe), în milimetri întregi. Falțul este dimensiunea cercevelei măsurată pe linia pe care se montează feroneria. Toate limitele Min/Max sunt inclusive. În afară de dimensiuni, un rând poate depinde de mâna deschiderii (stânga/dreapta), de canatul inactiv, de greutatea umpluturii, de condiții (Functions) și de alte rânduri (ParentID/ChildParentsIDs).

 

Structura fișierului:

<?xml version="1.0" encoding="UTF-8"?>

<Base FormatVersion="2" Content="HardwareSets" Generator="...">

  <Set Opening="TTX" WD="Window" Mark="..." HardwareSet="...">

    <SetRecord ItemNo="1000" Code="XY" MinX="..." MaxX="..." MinY="..." MaxY="..." Qty=""/>

    <SetRecord ItemNo="10" Code="..." Qty="1" .../>

    <SetRecord ItemNo="20" Code="..." Qty="1" ...>

      <CamLocks>

        <CamLocksRecord DimensionIndex="0" Code="..."/>

      </CamLocks>

    </SetRecord>

  </Set>

  <Set ...>

    ...

  </Set>

</Base>

 

Element

Unde și de câte ori

Conținut

Base

Rădăcina, o dată.

Atributele obligatorii FormatVersion="2" și Content="HardwareSets"; opțional Series (seria din care provine fișierul, afișată în confirmarea importului când diferă de seria aleasă) și Generator (programul care a scris fișierul, afișat în raport). ClientColumns este scris numai de exportul WinArhi (coloanele proprii ale bazei de date sursă); un producător nu îl folosește. Copiii: elementele Set.

Set

În Base, de oricâte ori.

Un set: atributele cheii și MarkHidden (vezi Elementul Set). Copiii: cel puțin un SetRecord.

SetRecord

În Set, cel puțin o dată.

Un rând al setului: un articol (Code = codul articolului) sau un domeniu de dimensiuni (Code="XY"); vezi Elementul SetRecord. Poate conține un element CamLocks.

CamLocks

În SetRecord, cel mult o dată.

Fără atribute; conține blocatorii rândului (vezi Blocatori).

CamLocksRecord

În CamLocks, cel puțin o dată.

Un blocator; are numai atribute.

 

Numele elementelor și ale atributelor se scriu exact ca mai sus (literele mari și mici contează), fără prefix de spațiu de nume. Toate valorile sunt atribute: elementele nu conțin text. Comentariile XML, indentarea și rândurile noi dintre elemente sunt permise. Un fișier cu DOCTYPE este refuzat în întregime; un text, o secțiune CDATA sau un element necunoscut în interiorul unui set fac ca setul să fie refuzat. Un atribut necunoscut sau scris greșit pe Set, SetRecord sau CamLocksRecord (de exemplu Quantity în loc de Qty) face ca setul să fie refuzat, iar raportul propune numele corect (Poate "Qty"?). Pe Base, un atribut necunoscut produce numai un avertisment.

 

Cum se aplică fișierul:

 - un Set înlocuiește complet setul din serie cu aceeași cheie: toate rândurile și blocatorii lui sunt șterși și se scriu cei din fișier. De aceea un atribut omis înseamnă o valoare goală (nu „păstrează valoarea existentă”), un rând scos din fișier dispare din set, iar modificările făcute ulterior de utilizator în acel set se pierd la un nou import;

 - un set identic cu cel din serie nu este rescris (este numărat ca neschimbat);

 - un set nou este adăugat și primește un rând în Listă seturi, cu vizibilitatea implicită dedusă din WD;

 - seturile din serie care nu apar în fișier rămân neschimbate; fișierul nu poate șterge un set (un Set fără rânduri este refuzat);

 - rândurile de conținut ale opționalelor de feronerie și setările din Listă seturi nu fac parte din fișier și rămân neschimbate.

Unitatea de refuz este setul: un set cu o valoare pe care WinArhi nu o poate folosi este refuzat întreg, cu toate rândurile lui, iar celelalte seturi se importă. Valorile fără efect (de exemplu un rând care nu poate intra niciodată) sunt păstrate așa cum sunt și semnalate ca avertismente. Raportul, confirmarea și mesajele importului: Importul fișierelor. Ce nu se transmite prin fișier (setările din Listă seturi, mărcile, opționalele, culorile): Ce nu conțin fișierele.

 

       Elementul Set (cheia setului)

 

Atribut (coloana)

Tip și valori

Semnificație și reguli

Opening (Deschidere)

Obligatoriu. Unul dintre cele 13 coduri din tabelul Valorile Opening.

Tipul de deschidere al cercevelei pentru care este făcut setul. Seturile se fac pentru forma „X” a deschiderii: un singur set acoperă varianta pe stânga și pe cea pe dreapta, iar rândurile valabile numai pe o parte au Left-Right = L sau R. Același set se folosește la deschiderea spre interior și spre exterior.

WD (FU)

Obligatoriu. Window (stocat Fereastra) sau Door (stocat Usa).

Destinația setului: fereastră sau ușă. Ușile de balcon folosesc seturi de fereastră. Aceeași denumire de set poate exista și ca Window, și ca Door: sunt două seturi distincte.

La crearea cercevelei, WinArhi propune destinația ușă numai pentru un element de tip ușă cu cerceveaua montată direct în toc și cu deschiderea TTX, TX, TSX, LSX, SX, VSwlX sau FS; în rest propune fereastră. Utilizatorul poate schimba destinația în fereastra de selecție a cercevelei.

Un set nou primește în Listă seturi bifele VizibilLaFereastra și VizibilLaUsaBalcon (Window) sau VizibilLaUsa (Door). Utilizatorul le poate schimba; de exemplu, un set de fereastră folosit și la uși trebuie bifat de el la VizibilLaUsa.

Mark (Marca)

Obligatoriu. Text de 1–30 de caractere, nu numai spații; fără apostrof, tab sau rând nou; nu se termină cu *.

Marca feroneriei: producătorul și, de regulă, linia de produs (de exemplu Roto NX). La crearea cercevelei utilizatorul alege întâi marca, apoi setul.

Marca trebuie să existe în fila Furnizori cu Vizibil completat. O marcă inexistentă este adăugată de import numai dacă utilizatorul răspunde Da la întrebarea despre mărcile noi; altfel seturile se importă, dar nu sunt oferite până când marca este adăugată. O marcă existentă, dar ascunsă (Vizibil gol), rămâne ascunsă, cu avertisment. Comparația este exactă: Roto NX, ROTO NX și Roto NX urmat de un spațiu sunt mărci diferite; o variantă de scriere a unei mărci existente este adăugată ascunsă, cu avertisment. Dacă o subserie are completată lista Mărci de feronerie acceptate (vezi Setări implicite la creare), marca trebuie bifată acolo, altfel setul nu este oferit pe acea subserie; importul avertizează și numește subseriile care nu acceptă marca.

Stabiliți textul mărcii împreună cu utilizatorul și folosiți-l neschimbat în toate seriile și în toate versiunile fișierului: ofertele memorează marca. Mark="" (marca goală) este importat cu avertisment, dar schema nu îl permite.

HardwareSet (SetF)

Obligatoriu. Text de 1–60 de caractere; fără apostrof, tab sau rând nou; nu se termină cu *.

Denumirea setului în cadrul mărcii (de exemplu Standard, RC2). Trebuie să fie unică pentru Opening + WD + Mark; de obicei aceeași denumire se folosește la toate deschiderile unei linii de produs.

Păstrați-o stabilă: ofertele memorează denumirea, iar un set redenumit este importat ca set nou, lângă cel vechi (utilizatorul șterge setul vechi și trece vechea denumire în SetFVechi, în Listă seturi).

Denumirea goală înseamnă în WinArhi „fără set ales”: importul o acceptă cu avertisment (setul se aplică atunci cercevelelor cu aceeași deschidere, destinație și marcă la care nu este ales niciun set), dar schema nu o permite.

MarkHidden (nu se stochează)

Opțional. Bifă: X sau gol.

Scris de exportul WinArhi pentru seturile a căror marcă este ascunsă sau lipsește în Furnizori la sursă. Contează numai când marca lipsește în baza de date care importă: dacă toate seturile acelei mărci din fișier au MarkHidden="X", marca este adăugată ascunsă. Un producător nu îl scrie.

 

Mark și HardwareSet se compară exact (majusculele și spațiile contează); Opening și WD se compară după citire, deci TTX, ttx și OBX sunt aceeași deschidere, iar Window și Fereastra aceeași destinație. O cheie trebuie să apară o singură dată în fișier: dacă apare de mai multe ori, toate aparițiile ei sunt refuzate, deci nu împărțiți un set în mai multe elemente Set. O cheie nouă care diferă de un set existent numai prin majuscule sau spații este importată ca set nou, cu avertisment. În Mark și HardwareSet apostroful este interzis (valorile sunt folosite între apostrofuri în filtrele interne), iar un * final ar însemna „începe cu” și ar amesteca seturi diferite.

 

       Valorile Opening (tipul de deschidere)

 

Opening

Stocat

Pe ecran (română / engleză)

Ce este

Mână

TTX

OBX

OBX – Oscilo-Batant Stânga+Dreapta / TTX – Turn-Tilt Left+Right

Cerceveaua se deschide batant, pe balamalele laterale, și basculant, pe latura de sus.

da

TX

OX

OX – Deschidere pe Stânga+Dreapta / TX – Open to the Left+Right

Deschidere batantă simplă, pe balamalele laterale; folosită și pentru canatul inactiv al ferestrelor cu ștulp.

da

TDown

BJOS

BJOS – Deschidere în Jos / TDOWN – Tilt Down

Cerceveaua se rabate în jurul laturii de jos (basculant).

nu

TUp

BSUS

BSUS – Deschidere în Sus / TUP – Tilt Up

Cerceveaua se rabate în jurul laturii de sus.

nu

TSX

CBX

CBX – Culisant Batant Stânga+Dreapta / TSX – Left-Right Tilt Slider

Oscilo-culisant: cerceveaua culisează lateral și poate fi basculată.

da

LSX

CRX

CRX – Culisant cu Ridicare Stânga+Dreapta / LSX – Sliding with right+left side lifting

Culisant cu ridicare (lift and slide).

da

SX

CX

CX – Culisant Stânga+Dreapta / SX – Right+Left Slider

Cerceveaua culisează pe orizontală.

da

FS

CF

CF – Cercevea Fixă / TC – Fixed Sash

Cercevea care nu se deschide, dar are profil de cercevea. Setul este opțional: fără set, WinArhi nu afișează niciun mesaj.

nu

Gltn

GLTN

GLTN – Deschidere Ghilotină / GLTN – Guillotine Opening

Cerceveaua culisează pe verticală, în sus.

nu

GltnD

GLTNJ

GLTNJ – Deschidere Ghilotină în Jos / GLTNJ – Slide Down Opening

Ghilotină care culisează în jos.

nu

Swl

PVT

PVT – Deschidere Pivotantă Orizontal / PVT – Horizontal Pivot Opening

Rotire în jurul unei axe orizontale.

nu

VSwlX

PVTVX

PVTVX – Deschidere Pivotantă Vertical Stânga+Dreapta / PVTVX – Vertical Right+Left Pivot Opening

Rotire în jurul unei axe verticale.

da

Prll

PRLL

PRLL – Deschidere Paralelă / PRLL – Parallel opening

Cerceveaua se depărtează paralel de toc.

nu

 

Scrieți codurile exact ca în prima coloană. Importul acceptă și codul stocat (de exemplu OBX), iar altă scriere a majusculelor o acceptă cu avertisment; codurile de pe ecranul în engleză TDOWN și TUP sunt citite ca TDown și TUp, dar TC nu este acceptat: pentru cerceveaua fixă scrieți FS.

 

Fac ca setul să fie refuzat: deschiderile cu mână (OBS, OBD, OS, OD, CBS, CBD, CRS, CRD, CS, CD, PVTVS, PVTVD), cu indicația codului X corespunzător (de exemplu Poate "TTX"?); Fixed sau Fix (un ochi fix – un câmp al ferestrei cu umplutura montată direct în toc – nu are cercevea, deci nu primește feronerie); orice alt text. În bazele de date vechi, în care coloana Deschidere are 4 caractere, sunt refuzate și VSwlX și GltnD (stocate PVTVX, GLTNJ).

 

Mâna. La o deschidere cu mână, WinArhi transformă deschiderea aleasă pe cercevea (de exemplu OBS, oscilo-batant stânga) în forma X (OBX) și păstrează din set rândurile cu Left-Right gol sau egal cu mâna cercevelei. La o deschidere fără mână, un rând cu Left-Right completat nu intră niciodată.

 

Deschiderea trebuie să fie permisă pe seria de profile (setarea Deschideri permise a subseriilor – variantele seriei de profile –, făcută de utilizatorul WinArhi în Setări implicite la creare; implicit toate sunt permise); importul avertizează când nu este permisă pe nicio subserie. Pentru marcă există o regulă asemănătoare: lista Mărci de feronerie acceptate a subseriei (vezi Mark la Elementul Set).

 

Ferestre și uși cu două canate cu ștulp (fără montant fix între canate): canatul activ (cu mâner) și canatul inactiv (care se deschide după cel activ) primesc fiecare setul lui; utilizatorul alege seturile implicite în Setări implicite la creare (tipurile Ștulp Activ și Ștulp Inactiv). Fiecare piesă a celor două canate se descrie o singură dată, în setul canatului activ:

 - setul canatului activ este un set separat de cel pentru cerceveaua simplă (de exemplu HardwareSet="Standard stulp" lângă HardwareSet="Standard"): conține rândurile canatului activ și, o singură dată, fiecare piesă montată pe canatul inactiv (mecanismul de ștulp, balamalele și închizătorii canatului inactiv), marcată cu InactiveOpening="X" (vezi InactiveOpening la Elementul SetRecord);

 - setul canatului inactiv (de regulă cu deschiderea TX, de exemplu HardwareSet="Standard canat 2") conține numai rândul sau rândurile XY cu domeniul canatului inactiv. El trebuie să existe (fără el, la crearea ferestrei apare mesajul Nu există feroneria: ...), dar nu repetă piesele din setul canatului activ: ar fi numărate de două ori în consum și în preț;

 - setul pentru cerceveaua simplă nu conține rânduri cu InactiveOpening: pe o fereastră fără canat inactiv ele nu sunt eliminate, ci se pun pe cercevea.

Dați seturilor denumiri clare și spuneți utilizatorului care set este pentru care canat. Exemplu (coduri inventate):

<Set Opening="TTX" WD="Window" Mark="ExampleHW" HardwareSet="Standard stulp">

  <SetRecord ItemNo="1000" Code="XY" MinX="400" MaxX="1200" MinY="500" MaxY="2400" Qty=""/>

  <SetRecord ItemNo="10" Code="EXA-H-100" Qty="1"/>

  <SetRecord ItemNo="20" Code="EXA-E-800" Qty="1" MinY="500" MaxY="1200"/>

  <SetRecord ItemNo="30" Code="EXA-HG-10" Qty="2"/>

  <SetRecord ItemNo="50" Code="EXA-RR-01" Qty="1" InactiveOpening="X"/>

  <SetRecord ItemNo="60" Code="EXA-HG-10" Qty="2" InactiveOpening="X"/>

</Set>

<Set Opening="TX" WD="Window" Mark="ExampleHW" HardwareSet="Standard canat 2">

  <SetRecord ItemNo="1000" Code="XY" MinX="300" MaxX="1200" MinY="500" MaxY="2400" Qty=""/>

</Set>

În setul Standard stulp, rândurile 10–30 sunt piesele canatului activ; rândurile 50 și 60 (mecanismul de ștulp EXA-RR-01 și balamalele canatului inactiv) se pun pe canatul inactiv, iar limitele lor se compară cu falțul acestuia. Setul Standard canat 2 conține numai domeniul canatului inactiv: dacă ar repeta mecanismul de ștulp și balamalele, ele ar apărea de două ori în consum.

 

       Elementul SetRecord (rândurile setului)

 

Fiecare SetRecord este un rând al setului. Există două feluri de rânduri:

 - rândul de domeniu, cu Code="XY": dimensiunile de falț pentru care setul este valabil (vezi Rânduri speciale);

 - rândul de articol, cu codul unui articol din catalog: ce articol intră în feroneria cercevelei, în ce cantitate și în ce condiții.

Când setul este pus pe o cercevea, WinArhi verifică întâi domeniul (rândurile XY): în afara domeniului cerceveaua nu se pune. Apoi un rând de articol intră în feroneria cercevelei (lista articolelor cercevelei, din care WinArhi calculează consumul de materiale al ofertei și prețul) dacă:

 1. Left-Right este gol sau egal cu mâna cercevelei;

 2. rândul trece de grupa de greutate (MaxWeight, vezi Greutate);

 3. codul există în catalogul de articole (altfel apare un mesaj, iar rândul este sărit);

 4. culoarea articolului din catalog este goală, egală cu culoarea de feronerie aleasă pentru cercevea sau cu culoarea fixă de feronerie;

 5. falțul se încadrează în MinX..MaxX și MinY..MaxY (o pereche goală înseamnă „fără condiție”);

 6. toate condițiile din Functions (ale articolului din catalog și ale rândului) sunt adevărate;

 7. diagrama de greutate se verifică, dacă este cerută (VerifyWeightChart).

La final sunt eliminate rândurile copil al căror părinte nu a intrat (ChildParentsIDs). Fiecare rând admis devine o poziție separată (cantitățile nu se cumulează). Ordinea rândurilor în fișier și ItemNo nu schimbă ce intră: WinArhi prelucrează întâi cremoanele și broaștele, apoi mecanismele de ștulp, apoi restul, iar în fiecare grupă după MaxWeight crescător, cu rândurile marcate VerifyWeightChart înaintea celorlalte, apoi după DrawingOrder din set.

 

Cerceveaua întreagă este refuzată (nu se pune), nu doar un rând, când:

 - un rând admis are un articol cu AcceptedSashes sau AcceptedThresholdsFrames completat (vezi Formatul XML al articolelor de feronerie), iar profilul cercevelei, respectiv al tocului, nu este în listă: apare mesajul Articolul de Feronerie '...' nu este definit pentru cerceveaua '...' (respectiv ... nu este definit pentru tocul sau bandoul '...') și setul este golit, cu excepția cazului în care utilizatorul a bifat Permite folosirea feroneriei și dacă cercevelele sau tocurile acceptate nu corespund;

 - setul are rânduri cu MaxWeight, dar nicio grupă de greutate nu trece (vezi Greutate);

 - un rând XY cu Side nu este îndeplinit (vezi Rânduri speciale);

 - fereastra are culoare de feronerie, dar niciun articol admis nu are în catalog una dintre culorile de feronerie ale ferestrei (vezi Culori): apare mesajul Nu a fost găsit nici un articol de feronerie de culoarea "...", urmat de Cerceveaua nu poate fi pusă! Verificarea nu se face la canatul inactiv, la cerceveaua fixă (FS) și la seturile care au IgnoraLipsaArtCulImpl bifat în Listă seturi.

 

Moștenire din articol. Pentru Side, Reference, IntExt, Dimension, DimensionPercent, Length, PositioningOrder și DrawingOrder, un atribut gol sau omis înseamnă „valoarea articolului” (atributele cu același nume din fișierul de articole), iar o valoare scrisă în set o înlocuiește, inclusiv 0, care este o valoare, nu „gol”. Recomandare: definiți datele de desen și de poziționare o singură dată, pe articol, și scrieți-le în set numai unde setul diferă. Celelalte atribute numerice goale se citesc ca 0.

 

Obligatorii: Code pe fiecare rând și Qty pe fiecare rând de articol (pe rândul XY se scrie Qty=""). Toate celelalte atribute sunt opționale; deoarece setul înlocuiește complet setul existent, un atribut omis lasă coloana goală. Pe un rând de articol scrieți întotdeauna cantitatea: Qty="" este acceptat de schemă și de import fără avertisment și înseamnă 0. Bifele (InactiveOpening, InvDraw, VerifyWeightChart, precum și ForExtensions în CamLocksRecord și MarkHidden în Set) se scriu X sau gol: 0, N, n, F, f, -, ?, un text de mai multe caractere, numai spații sau un caracter non-ASCII fac ca setul să fie refuzat, iar orice alt caracter unic este păstrat și înseamnă tot „da” (de regulă cu avertisment). Scrierea numerelor, a bifelor și a textelor pe mai multe rânduri: Scrierea valorilor. Atributele rândului, cu coloana din tabelul setului în WinArhi în paranteză:

 

Atribut (coloana)

Tip și valori

Semnificație și reguli

ItemNo (NrCrt)

Întreg (de exemplu 1, 12), fără zecimale; în bazele de date vechi, numai de la -32768 la 32767.

Numărul curent al rândului: ordinea de afișare în editorul de seturi și numărul după care rândul este evidențiat pe desenul setului. Nu influențează ce articole intră. Nu trebuie să fie unic; importul nu renumerotează. Editorul WinArhi dă rândurilor XY numărul 1000, iar comanda Renumerotează readuce rândurile XY la 1000 și nu renumerotează celelalte rânduri cu numărul 1000 sau mai mare. Recomandat: ItemNo="1000" pe rândurile XY și numere unice, de la 1 la 999, pe rândurile de articol. Raportul unui set înlocuit identifică rândurile prin ItemNo și Code.

Code (Cod_Mag)

Obligatoriu. Text de 1–20 de caractere, fără apostrof, tab sau rând nou. XY pentru rândul de domeniu.

Codul articolului din catalog (atributul Code al fișierului de articole), scris identic: aceleași caractere, aceleași majuscule, fără spații la capete; codul se compară exact. Un cod care nu există în articole este importat cu avertisment (Articolul de Feronerie cu codul '...' nu există în tabelul de articole feronerie); când setul este pus pe o cercevea, WinArhi afișează același mesaj și sare rândul.

Coloana are 20 de caractere în aproape toate bazele de date, chiar și acolo unde articolele permit coduri mai lungi: un cod mai lung decât coloana face ca setul să fie refuzat. Folosiți coduri de cel mult 20 de caractere în tot fișierul (rânduri, blocatori, prelungiri).

XY marchează rândul de domeniu (scris cu alte majuscule este citit ca XY, cu avertisment); nu dați acest cod unui articol. Un rând care are date, dar nu are atributul Code, face ca setul să fie refuzat; un rând cu Code="" este păstrat, dar nu are efect (avertisment).

Description (Denumire)

Text liber, pe un singur rând; coloana are de regulă 50 de caractere (schema nu impune un maxim).

Denumirea articolului în editorul de seturi. Este informativă: în feroneria cercevelei, în rapoarte, consum și CNC, WinArhi folosește denumirea din catalogul de articole. Lăsată goală, importul o completează din catalog, dacă articolul există deja. Un text mai lung decât coloana bazei de date este scurtat, cu avertisment. Pe un rând XY, o denumire care începe cu HANDLE are un sens special (vezi Rânduri speciale).

Colour (Culoare)

Text, cel mult 25 de caractere, fără apostrof, virgulă, tab sau rând nou.

Culoarea articolului; trebuie să fie identică cu culoarea lui din catalog (Colour din fișierul de articole). Lăsată goală, importul o completează din catalog, dacă articolul există deja; o valoare diferită de cea din catalog este păstrată, cu avertisment. Articolele care nu depind de culoare (de exemplu cremoanele) au Colour gol. Variantele de culoare ale aceleiași piese sunt rânduri separate, fiecare cu codul ei.

Rolul ei: WinArhi alege culoarea de feronerie a cercevelei căutând culorile de feronerie ale ferestrei în culorile rândurilor setului, apoi admite fiecare rând după culoarea din catalog a articolului. Un set importat înaintea articolelor rămâne cu Colour gol la articolele colorate, culoarea nu mai este găsită, iar articolele colorate sunt respinse; dacă fereastra are culoare de feronerie, de regulă nici cerceveaua nu se mai pune (mesajul Nu a fost găsit nici un articol de feronerie de culoarea "..."). Remediu: Articole > Copiază denumirile și culorile în seturi. Numele culorilor se stabilesc cu utilizatorul WinArhi: se compară exact cu culorile de feronerie din tabelele lui de culori (vezi Culori), iar importul avertizează pentru o culoare care nu există acolo.

Qty (Cant)

Număr zecimal cu punct (1, 2, 0.5). Obligatoriu pe fiecare rând: un număr pe rândurile de articol, Qty="" pe rândul XY.

Cantitatea adăugată în feroneria cercevelei când rândul intră, în unitatea de măsură a articolului (MU). Un rând de articol fără atributul Qty face ca setul să fie refuzat, iar Qty="" pe un rând de articol este acceptat de schemă și de import fără avertisment și înseamnă 0 (articolul intră, dar nu se consumă): scrieți întotdeauna cantitatea. 0 = articolul apare în feroneria cercevelei, dar nu se consumă până când utilizatorul nu îi dă o cantitate (de exemplu un mâner oferit ca alternativă). Valorile negative sunt acceptate și scad din consum; nu le folosiți. Când cantitatea depinde de dimensiune (de exemplu numărul de balamale), scrieți mai multe rânduri cu același cod, cu domenii care nu se suprapun și cantități diferite.

MinX, MaxX (MinX, MaxX)

Întregi ≥ 0, milimetri (de exemplu 400), fără zecimale sau unitate.

Limitele inclusive ale lățimii de falț a cercevelei: rândul intră numai dacă MinX ≤ X ≤ MaxX. Pe un rând de articol: ambele goale (sau 0) = fără condiție pe lățime; MaxX fără MinX = de la 0 la MaxX; un MinX fără MaxX, sau mai mare decât MaxX, face ca rândul să nu intre niciodată (avertisment): pentru „de la ... în sus” scrieți un maxim mare, de exemplu 99999.

Domeniile succesive ale aceluiași articol se scriu fără suprapunere, de exemplu 400–599 și 600–799 (la o valoare comună ar intra ambele rânduri). Rândurile cu InactiveOpening se compară cu falțul canatului inactiv; pe o cercevea care nu este dreptunghiulară, un rând cu latură (Side) se compară cu lungimea de falț a acelei laturi.

Pe un rând XY de domeniu limitele dau domeniul setului și nu există „fără condiție”: gol înseamnă 0, deci completați MaxX și MaxY cu valori mai mari decât 0; pentru „orice lățime” scrieți MinX="0" MaxX="99999" (vezi Rânduri speciale).

MinY, MaxY (MinY, MaxY)

Întregi ≥ 0, milimetri.

Limitele inclusive ale înălțimii de falț a cercevelei, cu aceleași reguli ca MinX, MaxX (inclusiv regula rândului XY). La cremoane și broaște, domeniul MinY..MaxY servește și la alegerea mecanismului după înălțimea mânerului și la calculul prelungirilor (vezi Prelungiri de cremon).

Left-Right (StDr)

L, R sau gol.

Restrânge rândul la varianta pe stânga (L) sau pe dreapta (R) a deschiderii: WinArhi păstrează rândurile cu Left-Right gol sau egal cu mâna cercevelei (de exemplu OBS → L, OBD → R). Gol = ambele variante (piese simetrice). Are sens numai la deschiderile cu mână (TTX, TX, TSX, LSX, SX, VSwlX); la celelalte, un rând cu L sau R nu intră niciodată (avertisment). Se aplică și rândurilor XY. Se stochează ca S/D: S și D sunt acceptate ca atare, l, r, s, d cu avertisment; orice alt caracter unic este păstrat, dar rândul nu mai intră niciodată; un text mai lung (Left, Right) face ca setul să fie refuzat.

InactiveOpening (CanatInactiv)

Bifă: X sau gol.

Marchează rândurile ale căror piese se montează pe canatul inactiv al unei ferestre sau uși cu două canate cu ștulp. Rândurile stau în setul canatului activ (vezi Ferestre și uși cu două canate cu ștulp); pentru ele limitele se compară cu falțul canatului inactiv, laturile se determină după deschiderea în oglindă, iar piesa este atribuită canatului inactiv (consum, desen, CNC). Falțul canatului inactiv se măsoară până la falțul ștulpului sau, dacă setul canatului activ are bifa AreFaltSubStulp în Listă seturi, până la falțul cercevelei; fișierul nu poate transmite această bifă (vezi Ce nu conțin fișierele). Pe o fereastră fără canat inactiv aceste rânduri nu sunt eliminate, ci se compară cu falțul cercevelei și se pun pe ea: folosiți-le numai în seturile pentru ferestre cu ștulp. Orice valoare negoală înseamnă „da”; 0, N, n, F, f, -, ? sau un text de mai multe caractere fac ca setul să fie refuzat.

Functions (Functii)

Text pe mai multe rânduri: o condiție pe rând, rândurile separate cu &#10;.

Condiții suplimentare: rândul intră numai dacă toate sunt adevărate. Pe rândurile setului contează numai condițiile „+if...”; vezi Funcții mai jos.

MaxWeight (GreutateMax)

Număr zecimal ≥ 0, kilograme (de exemplu 130).

Greutatea maximă a umpluturii cercevelei suportată de varianta de feronerie portantă din care face parte rândul; rândurile cu aceeași valoare formează o grupă de greutate. Gol sau 0 = rândul nu depinde de greutate. Fără efect pe rândul XY. Vezi Greutate.

VerifyWeightChart (VerifDiagGreutate)

Bifă: X sau gol.

Cere verificarea diagramei de greutate a articolului (WeightChart din fișierul de articole). Are efect numai împreună cu MaxWeight > 0 pe același rând. Fără efect pe rândul XY. Vezi Greutate.

Side (Latura)

Una dintre valorile din tabelul Side; cel mult 12 caractere stocate.

Latura cercevelei (linia falțului) pe care se află articolul. Gol = latura articolului; None = fără latură (anulează latura articolului). De ea depind poziționarea și desenul, latura pentru care se evaluează funcțiile și lungimea consumată a articolelor la metru liniar; pe un rând XY restrânge verificarea domeniului la acea latură.

Reference (Referinta)

Una dintre valorile din tabelul Reference; cel mult 15 caractere stocate.

Punctul de pe latură de la care se măsoară poziția articolului: un capăt al laturii, capătul pieselor deja așezate sau axa mânerului. Gol = referința articolului.

Dimension (Cota)

Număr zecimal cu punct, milimetri; poate fi negativ.

Deplasarea, de-a lungul falțului, de la referință până la punctul de pornire al articolului; la ea se adaugă DimensionPercent. Gol = cota articolului; 0 înlocuiește cota articolului (cu o referință de colț face din articol o piesă de colț, deci nu scrieți 0 pentru „fără valoare”). La un cremon sau o broască cu Side="Handle" și Reference="DownRight" sau "DownRightJoined", o valoare mai mare decât 0,5 (rotunjită la mm) devine înălțimea fixă a mânerului, măsurată de la capătul de jos. Nu o confundați cu Dimension din CamLocksRecord.

DimensionPercent (CotaProcent)

Număr zecimal cu punct, procent, fără semnul %.

Procent din lungimea de falț a laturii articolului, adăugat la Dimension: deplasarea = lungimea falțului × DimensionPercent / 100 + Dimension. Gol = valoarea articolului; 0 o înlocuiește. Pentru n piese egal distanțate scrieți n rânduri cu Qty="1", Reference="UpLeft" și DimensionPercent = 100 × i / (n + 1), de exemplu 33.3 și 66.7.

Length (Lungime)

Număr zecimal ≥ 0, milimetri.

Lungimea articolului pe latura sa, folosită la poziționare și desen în acest set. Gol = lungimea articolului (recomandat); 0 este o valoare. Completați-o numai dacă în acest set piesa are altă lungime decât în catalog. La articolele cu unitatea de măsură ml sau m este lungimea maximă (de bară), iar lungimea consumată rezultă din desen. Length2 nu există în set; vine numai din articol.

InvDraw (DesenInvers)

Bifă: X sau gol.

Desen invers: punctul calculat din Reference și Dimension devine capătul piesei, iar piesa se întinde înapoi, spre referință; cotele blocatorilor și ale prelucrărilor CNC ale piesei își schimbă semnul. Există numai în set (nu se moștenește). Se scrie X sau gol, ca toate bifele (vezi regula bifelor de deasupra tabelului).

PositioningOrder (OrdinePozitionare)

Întreg, poate fi negativ.

Ordinea în care piesele sunt așezate pe falț: valorile mici întâi, iar la valori egale piesa mai lungă. Fiecare piesă vede lungimile ocupate de piesele așezate înaintea ei și se consideră tăiată când spațiul liber este mai mic decât Length. Gol = valoarea articolului; rândurile fără nicio valoare se așază după toate celelalte. Piesele de colț trebuie să aibă o valoare mai mică decât piesele ...Joined legate de ele. Lăsați goluri între valori: prelungirile de cremon adăugate automat primesc valoarea piesei minus 1, 2, ...

DrawingOrder (OrdineDesenare)

Întreg, poate fi negativ.

Ordinea de desenare: o valoare mai mare se desenează mai târziu, peste celelalte. Nu schimbă poziția. Gol = valoarea articolului. Valoarea din set este și ultimul criteriu de ordonare a rândurilor la introducerea setului (după tipul articolului, MaxWeight și VerifyWeightChart).

IntExt (IntExt)

I, E, IE, EI sau gol.

Din ce parte se vede articolul în desenul ferestrei: I = numai în vederea din interior, E = numai din exterior, IE = numai când vederea este pe aceeași parte cu deschiderea, EI = numai pe partea opusă. La mânere indică mânerul de interior (I) sau de exterior (E). Gol = valoarea articolului; dacă și aceea este goală, articolul se desenează mereu. Literele mici sunt citite ca majuscule (avertisment); alt caracter unic este păstrat, dar articolul nu mai apare în desenele de tip 1 și 4.

InvRAPID (InvRAPID)

Întreg (în practică 0 sau 1).

Valoare trecută neschimbată în câmpul „Einbaulage” (poziția de montaj) al liniei articolului din fișierul pentru centrul de prelucrare feronerie RAPID FBA2500. Nu este folosită altundeva; de regulă o completează utilizatorul care are acest centru.

EspagnoleteExtensions (PrelungiriCremon)

Listă de coduri de articole, câte unul pe rând, separate cu &#10;.

Prelungitoarele pe care WinArhi le adaugă automat mecanismului de pe rând, când acesta nu acoperă singur înălțimea de falț. Vezi Prelungiri de cremon.

EspagnoleteExtensionsUp (PrelungiriSusCremon)

Ca EspagnoleteExtensions.

Listă separată pentru prelungirile de deasupra mecanismului; goală = se folosește EspagnoleteExtensions. Este citită numai dacă EspagnoleteExtensions este completat.

MaxExtensionsLength (MaxPrelungire)

Întreg, milimetri.

Lungimea maximă de prelungire acceptată pe o parte a mecanismului, la căutarea mecanismului după înălțimea mânerului. Citit numai dacă EspagnoleteExtensions este completat. Vezi Prelungiri de cremon.

UseCamLocksDimensions2 (swCote2Blocatori)

Gol, 1, 2, X sau 1-2.

Alege lista de cote de blocatori a articolului (CamLockDimensions1 sau CamLockDimensions2) în care indexează DimensionIndex. Vezi Blocatori.

CamLocks (cdsBlocatori)

Element copil, cel mult unul.

Blocatorii rândului; vezi Blocatori. Exporturile mai vechi scriau pe rândurile fără blocatori un atribut gol CamLocks="": este ignorat; nu îl generați.

ParentID (ParentID)

Întreg ≥ 1 (recomandat 1–99).

Eticheta de familie a unui rând părinte. Vezi Părinte și copii.

ChildParentsIDs (ChildParentsIDs)

Listă de întregi ≥ 1 separați prin virgulă (de exemplu 1,2), cel mult 20 de caractere.

Rândul rămâne numai dacă a intrat un rând care are unul dintre aceste ParentID. Vezi Părinte și copii.

NrCrtRenum (NrCrtRenum)

–

Coloană internă de ordonare, recalculată de WinArhi. Exportul nu o scrie; dacă apare în fișier, este ignorată (avertisment). Nu o trimiteți.

 

Nu scrieți pe rânduri:

 - Opening, WD, Mark, HardwareSet: aparțin elementului Set; pe un rând fac ca setul să fie refuzat;

 - atributele blocatorilor (de exemplu DimensionIndex, ForExtensions): se scriu în CamLocksRecord; pe un rând fac ca setul să fie refuzat, cu indicația elementului corect;

 - coloanele retrase din bazele de date vechi: EchiSusSt, EchiJosDr (înlocuite de DimensionPercent), MinY_Balamale, MaxY_Balamale (MinY, MaxY), PrioritateMontaj (PositioningOrder), CotaOpusa (InvDraw), Coloana, TipCote (MinX), Linia (MinY), CodScriptFero, Legaturi, Legaturi2 (Functions): cu o valoare, fac ca setul să fie refuzat, cu indicația înlocuitorului; Inversare este ignorat, cu avertisment.

Numele coloanelor din baza de date (de exemplu Cod_Mag, Culoare, Cant) sunt citite ca nume vechi ale atributelor, dar într-un fișier în formatul 2 produc un avertisment: folosiți numele din prima coloană a tabelului.

 

       Funcții (condiții +if)

 

Fiecare rând de text din Functions conține o singură condiție: o funcție predefinită „+if...” (de exemplu +ifCCV, +ifStulp, +ifToc, +ifSerie, +ifSubSerie, +ifSalesAreas, +ifOptFer) sau numele unei funcții de script marcate „+if” de utilizatorul WinArhi. Rândul intră numai dacă toate condițiile sunt adevărate; înaintea lor se evaluează funcțiile articolului din catalog. Lista completă: Funcții pentru feronerie.

 

Pe rândurile setului și pe blocatori contează numai aceste condiții: o funcție de alt tip (o funcție de consum, IfOption) sau o funcție de script nemarcată „+if” este ignorată, iar rândul intră ca și cum celula ar fi goală. Importul semnalează asemenea rânduri, parantezele neînchise și textul de după primul apel de pe un rând (numai primul apel contează). Rândurile care încep cu // sunt comentarii, iar rândurile goale se ignoră. Pe un rând XY, condițiile decid dacă domeniul (sau marcajul HANDLE) se aplică.

 

Importul nu verifică numele care încep cu +: un nume scris greșit (de exemplu +ifCVV în loc de +ifCCV) nu este semnalat, iar la fiecare introducere a setului apare mesajul ... - Nu există funcția: +ifCVV și rândul intră ca și cum condiția ar fi adevărată. Pe rândurile XY cu Side se evaluează numai funcțiile +if predefinite: o funcție de script marcată „+if” este ignorată acolo.

 

De regulă producătorul lasă Functions gol: condițiile depind aproape mereu de codurile de profile, de serii, de zonele de ofertare și de opționalele din baza de date a utilizatorului, care le completează după import. Un nou import al setului înlocuiește și condițiile adăugate de utilizator; pentru un set înlocuit, raportul importului arată rândurile care dispar. După import rulați Seturi > Verifică funcții de legătură. Exemplu:

Functions="+ifCCV(103229,103340)&#10;+ifToc(Jos,Prag)"

 

       Rânduri speciale: domeniul (XY) și marcajul HANDLE

 

Un rând cu Code="XY" nu este un articol: MinX..MaxX și MinY..MaxY dau domeniul de falț în care setul poate fi folosit. Pe un asemenea rând scrieți Qty=""; MaxWeight, VerifyWeightChart, ParentID și ChildParentsIDs nu au efect (importul avertizează), Colour nu are efect și este păstrat fără avertisment, iar Left-Right și Functions se aplică și lui.

 

Cum se combină rândurile XY:

 - rândurile XY cu Side gol (și cu Functions adevărate) formează domeniul setului: setul este acceptat dacă lățimea maximă și înălțimea maximă de falț ale cercevelei se încadrează în cel puțin unul dintre ele. Mai multe rânduri XY descriu deci un domeniu care nu este dreptunghiular (de exemplu cercevele late și joase sau înguste și înalte);

 - dacă există asemenea rânduri, dar niciunul nu se potrivește, apare mesajul Feroneria la ochiul ... este în afara domeniului! (ochiul este câmpul ferestrei în care se află cerceveaua) și cerceveaua nu se pune, cu excepția cazului în care utilizatorul a bifat Permite folosirea feroneriei în afara domeniului de valabilitate (atunci se folosește domeniul cel mai apropiat);

 - dacă setul nu are niciun rând XY valabil, la fiecare introducere apare avertismentul Feroneria la ochiul ... nu are definit domeniu!, iar setul se folosește la orice dimensiune. Importul nu cere rând XY la seturile FS (cerceveaua fixă poate rămâne fără set), dar un set FS care are rânduri și niciun rând XY produce și el acest avertisment;

 - rândurile XY cu Side completat se verifică separat, la final, fiecare pe latura lui: pe o latură verticală MinY..MaxY cu lungimea de falț a laturii, pe una orizontală MinX..MaxX. Toate trebuie să fie îndeplinite: un rând neîndeplinit înseamnă „în afara domeniului”, iar cerceveaua nu se pune. Completați ambele limite ale laturii. Cu InactiveOpening="X", latura se determină după deschiderea canatului inactiv.

Rândul HANDLE. Un rând XY a cărui Description începe cu HANDLE (exact așa, cu majuscule) marchează setul ca având mâner: în lista de debitare, profilul de pe latura mânerului primește marcajul și înălțimea mânerului. Este necesar numai dacă mânerul nu este în set ca articol de tip mâner (FittingType="Handle", vezi Tipul articolului); marcajul contează numai cu Side gol și cu Functions adevărate. Rândul HANDLE face parte tot din domeniu: fără limite nu se potrivește niciodată, deci nu poate fi singurul rând XY al setului. În editorul WinArhi, butonul Mâner-> adaugă un asemenea rând.

 

Ce verifică importul. Fiecare set, cu excepția celor FS, trebuie să aibă cel puțin un rând XY cu Side gol, care nu este HANDLE, cu MaxX > 0 și MaxY > 0; altfel importul avertizează. Un rând XY de domeniu cu MaxX sau MaxY gol sau 0, sau cu Min mai mare decât Max, nu poate fi îndeplinit niciodată (avertisment).

 

Intervale deschise și perechi incomplete (rânduri de articol). O pereche goală (MinX și MaxX goale) înseamnă „fără condiție”. O limită de jos fără limită de sus (MinX="1200" fără MaxX) sau Min mai mare decât Max înseamnă un rând care nu intră niciodată: importul îl păstrează așa cum este (unele baze de date folosesc intenționat această formă ca să dezactiveze un rând), îl semnalează și îl numără în confirmare. Pentru un interval deschis în sus scrieți un maxim mare, de exemplu MinX="1200" MaxX="99999".

 

<SetRecord ItemNo="1000" Code="XY" MinX="400" MaxX="1200" MinY="500" MaxY="2400" Description="Domeniu" Qty=""/>

<SetRecord ItemNo="1000" Code="XY" MinX="1201" MaxX="1600" MinY="500" MaxY="1800" Description="Domeniu late" Qty=""/>

<SetRecord ItemNo="1000" Code="XY" Description="HANDLE" Qty=""/>

<SetRecord ItemNo="40" Code="EXA-LK-01" MinX="400" MaxX="799" Qty="1"/>

<SetRecord ItemNo="41" Code="EXA-LK-01" MinX="800" MaxX="99999" Qty="2"/>

Primele două rânduri acceptă cercevelele cu falțul de 400–1200 × 500–2400 mm și pe cele de 1201–1600 × 500–1800 mm; rândul HANDLE marchează mânerul. Închizătorul (cod inventat) intră într-o bucată până la 799 mm lățime de falț și în două bucăți de la 800 mm în sus.

 

       Valorile Side (latura)

 

Side

Stocat (pe ecran)

Latura

Handle

Maner

Latura mânerului. La introducerea setului (domenii, funcții) este latura opusă balamalelor după deschidere; la desen, consum și CNC, dacă cremonul sau broasca din set are Side = Left, Right, Up, Down, Hinge sau OppositeHinge, latura mânerului este aceea.

OppositeHandle

OpusManer

Latura opusă mânerului.

Hinge

Balamale

Latura balamalelor, după deschidere: stânga sau dreapta (după mână) la TTX, TX, TSX, LSX, SX, VSwlX; jos la TDown; sus la TUp și Swl. Nu există la FS, Gltn, GltnD, Prll.

OppositeHinge

OpusBalamale

Latura opusă balamalelor.

UpLeft

SusSt

Latura perpendiculară pe latura balamalelor aflată sus (balamale stânga/dreapta) sau în stânga (balamale sus/jos).

DownRight

JosDr

Latura perpendiculară pe latura balamalelor aflată jos (balamale stânga/dreapta) sau în dreapta (balamale sus/jos).

Left

St

Latura stângă, indiferent de deschidere.

Right

Dr

Latura dreaptă, indiferent de deschidere.

Up

Sus

Latura de sus, indiferent de deschidere.

Down

Jos

Latura de jos, indiferent de deschidere.

None

---

Fără latură: anulează latura articolului; rândul nu se poziționează și nu se desenează, iar la un articol la metru liniar consumul devine 0.

gol

–

Se folosește latura articolului.

 

Valorile relative (Handle, OppositeHandle, Hinge, OppositeHinge, UpLeft, DownRight) urmează automat tipul și mâna deschiderii; pe canatul inactiv (InactiveOpening="X") se determină după deschiderea în oglindă. La deschiderile fără latură de balamale (FS, Gltn, GltnD, Prll) folosiți Left, Right, Up, Down. La un cremon sau o broască, calculul după înălțimea mânerului și prelungirile se aplică numai dacă latura este stânga sau dreapta ori deschiderea este TTX, TX, TSX, LSX sau SX.

 

Importul acceptă codul englezesc sau valoarea stocată, cu orice majuscule și fără spațiile din interior (cu avertisment când nu sunt scrise exact); orice alt text face ca setul să fie refuzat. În bazele de date vechi, coloana Latura are 10 caractere: acolo OppositeHinge (stocat OpusBalamale, 12 caractere) este refuzat.

 

Un rând care are latură, dar nu are referință (nici în set, nici în articol) nu se poziționează: nu primește poziție pentru CNC, iar un articol la metru liniar are consum 0. Pentru un articol cu unitatea de măsură ml sau m și cu latură, cantitatea consumată este Qty × lungimea rezultată din desen / 1000; fără latură, Qty este direct în metri. Desenul articolelor și sistemul de referință: Desen din Set.

 

       Valorile Reference (referința)

 

Reference

Stocat (pe ecran)

Punctul de la care se măsoară

UpLeft

SusSt

Capătul de sus (latură verticală) sau din stânga (latură orizontală); piesa se întinde spre celălalt capăt. Cu deplasare 0 este piesă de colț.

DownRight

JosDr

Capătul de jos sau din dreapta; cu deplasare 0 este piesă de colț.

UpLeftJoined

SusStLeg

În continuarea pieselor deja așezate la capătul de sus/stânga: poziția = lungimea deja ocupată la acel capăt + Dimension.

DownRightJoined

JosDrLeg

În continuarea pieselor deja așezate la capătul de jos/dreapta.

HandleUpLeft

CotaManerSusSt

Axa mânerului; piesa se întinde spre capătul de sus/stânga, iar Dimension mută punctul de pornire în aceeași direcție, cu excepția laturii de sus (de exemplu la TDown), unde îl mută în sens invers: acolo scrieți Dimension="0" (sau lăsați atributul gol, dacă nici articolul nu are cotă).

HandleDownRight

CotaManerJosDr

Axa mânerului; piesa se întinde spre capătul de jos/dreapta, iar Dimension mută punctul de pornire în aceeași direcție, cu excepția laturii de sus (de exemplu la TDown), unde îl mută în sens invers: acolo scrieți Dimension="0" (sau lăsați atributul gol, dacă nici articolul nu are cotă).

HandleSide

LatManer

Capătul laturii articolului care atinge latura mânerului (numai pe laturile perpendiculare pe latura mânerului); cu deplasare 0 este piesă de colț.

OppositeHandleSide

LatOpusManer

Capătul care atinge latura opusă mânerului.

HingeSide

LatBal

Capătul care atinge latura balamalelor.

OppositeHingeSide

LatOpusBal

Capătul care atinge latura opusă balamalelor.

HandleSideJoined

LatManerLeg

Ca HandleSide, în continuarea pieselor deja așezate la acel capăt.

OppositeHandleSideJoined

LatOpusManerLeg

Ca OppositeHandleSide, în continuarea pieselor deja așezate.

HingeSideJoined

LatBalLeg

Ca HingeSide, în continuarea pieselor deja așezate.

OppositeHingeSideJoined

LatOpusBalLeg

Ca OppositeHingeSide, în continuarea pieselor deja așezate.

gol

–

Se folosește referința articolului.

 

Referința trebuie să numească un capăt al laturii articolului: pe o latură verticală UpLeft = sus și DownRight = jos, pe una orizontală UpLeft = stânga și DownRight = dreapta. HandleSide, HingeSide și variantele lor sunt valabile numai dacă latura mânerului, respectiv a balamalelor, este perpendiculară pe latura articolului; altfel articolul rămâne nepoziționat, fără mesaj la introducerea setului. Importul avertizează pentru un rând cu latură, dar fără referință (nici în set, nici în articol), și pentru perechile Side/Reference care nu se pot rezolva niciodată (de exemplu Side="Handle" cu Reference="HandleSide" sau Side="Hinge" cu Reference="HingeSide").

 

Piesă de colț. Cu o referință fără Joined, alta decât HandleUpLeft și HandleDownRight, și cu o deplasare totală (Dimension + lungimea falțului × DimensionPercent / 100) de cel mult 0,1 mm, piesa ocupă ambele laturi ale colțului: Length pe latura sa și Length2 al articolului pe latura vecină.

 

Lungimi ocupate. O referință fără Joined se măsoară de la colț și ridică lungimea ocupată la acel colț la cel puțin Dimension + Length; o referință ...Joined pornește de la capătul lungimii ocupate și o mărește cu Dimension + Length; referințele de mâner nu o modifică. De aceea piesele de care se leagă sau pe care le taie alte piese trebuie să aibă PositioningOrder mai mic.

 

Axa mânerului (HandleUpLeft, HandleDownRight) este înălțimea mânerului pe falț, măsurată de la capătul de jos/dreapta dacă cremonul sau broasca din set are referința HandleDownRight, DownRight sau DownRightJoined, altfel de la capătul de sus/stânga. Aceste referințe sunt pentru piesele de pe latura mânerului (cremon, tije, prelungiri). La articolul de tip mâner cu Reference HandleUpLeft sau HandleDownRight, Dimension este ignorată (DimensionPercent nu).

 

Valori vechi. Fracțiile 1/2, 1/3, 2/3, 1/4, 3/4 sunt păstrate de import, dar nu au efect (avertisment); Echidistant face ca setul să fie refuzat: pentru piese egal distanțate folosiți DimensionPercent. Importul acceptă codul englezesc sau valoarea stocată, cu orice majuscule și fără spațiile din interior.

 

       Greutate: MaxWeight și VerifyWeightChart

 

MaxWeight este greutatea maximă, în kilograme, a umpluturii cercevelei (geam termopan sau panou) pe care o suportă varianta de feronerie portantă din care face parte rândul (balamale, foarfecă, lagăr de colț). WinArhi calculează greutatea umpluturii din suprafața geamului și greutatea pe m² a tipului de umplutură; greutatea profilelor cercevelei și a feroneriei nu este inclusă. Cataloagele de feronerie dau de regulă greutatea maximă a cercevelei întregi: stabiliți cu utilizatorul WinArhi ce valoare introduceți.

 

Rândurile cu aceeași valoare MaxWeight formează o grupă de greutate, adică o variantă portantă (de exemplu balamale de 100 kg sau de 130 kg). 130 și 130.0 sunt aceeași valoare, dar 130 și 130.5 sunt grupe diferite: toate piesele unei variante trebuie să aibă exact aceeași valoare. Rândurile fără MaxWeight (mâner, cremon, închizători) intră indiferent de grupă. La introducerea setului:

 1. grupele se încearcă în ordinea crescătoare a valorii MaxWeight;

 2. un rând cu MaxWeight > 0 intră numai dacă greutatea umpluturii este cel mult MaxWeight și, când are VerifyWeightChart="X", dacă punctul (lățimea de falț, înălțimea de falț) se află în poligonul curbei din diagramă cu cel mai mic KgPerMP care este cel puțin greutatea medie pe m² a umpluturii;

 3. când un rând al grupei nu trece, restul grupei este sărit și se încearcă grupa următoare; un rând exclus din alt motiv (dimensiuni, culoare, Functions) nu declanșează saltul;

 4. după ce un rând al unei grupe a intrat, celelalte grupe sunt ignorate;

 5. dacă nicio grupă nu trece, apare mesajul Feroneria "..." are piese care verifică greutatea cercevelei, dar toate au fost excluse din set și cerceveaua nu se creează, cu excepția cazului în care utilizatorul a bifat Permite folosirea feroneriei în afara diagramei de greutate: atunci se folosește o piesă din grupa cea mai grea, cu un mesaj;

 6. dacă umplutura nu are greutate, apare avertismentul Termopanul nu are greutate. Va fi selectată feroneria pentru cele mai ușoare cercevele!, se alege grupa cea mai ușoară, iar diagramele nu se verifică.

Modelare recomandată. Câte o grupă pentru fiecare clasă de sarcină, cu MaxWeight distinct, conținând toate piesele portante ale clasei. În fiecare grupă, pentru fiecare culoare și fiecare canat, marcați cu VerifyWeightChart="X" de regulă un singur rând: cel al piesei care poartă diagrama (de regulă balamaua de jos sau lagărul de colț, un articol al cărui FittingType nu este Espagnolete, Lock-bolt sau RebateReverserEspagnolete). Articolul acelui rând are în fișierul de articole diagrama clasei lui (WeightChart); pentru clase diferite se folosesc articole diferite. Dacă marcați mai multe rânduri ale aceleiași grupe (de exemplu balamaua de sus și cea de jos, ca în Exemplu comentat), ele trebuie să dea același rezultat: același articol, aceleași limite și aceleași condiții. Altfel, când un rând marcat nu trece după ce altul al grupei a intrat, rândurile nemarcate ale grupei sunt sărite, iar cerceveaua rămâne cu o variantă portantă incompletă. Nu puneți MaxWeight pe rândurile de cremon, broască sau mecanism de ștulp: ele sunt prelucrate înaintea celorlalte și ar fixa grupa înainte de verificarea balamalelor. Pentru o variantă de rezervă „fără limită” se poate da o valoare foarte mare (de exemplu 100000).

 

VerifyWeightChart are efect numai împreună cu MaxWeight > 0 pe același rând. Dacă articolul nu are diagramă, importul avertizează (Diagrama de greutate la articolul de feronerie ... nu este definită!), iar la introducerea setului rândul marcat este lăsat deoparte, cu același avertisment. Nu restrângeți rândul marcat prin culoare, dimensiuni sau Functions mai mult decât restul grupei: dacă el este exclus, diagrama nu se mai verifică. Nu confundați MaxWeight cu Weight al articolului (greutatea proprie a articolului, în grame).

 

       Prelungiri de cremon: EspagnoleteExtensions, EspagnoleteExtensionsUp, MaxExtensionsLength

 

EspagnoleteExtensions este lista codurilor de prelungitoare (prelungiri de cremon, închideri suplimentare cuplabile) pe care WinArhi le adaugă automat în continuarea mecanismului de pe rând, atunci când mecanismul singur nu acoperă înălțimea de falț. Programul alege singur câte prelungitoare pune, care anume și dacă le pune sus, jos sau în ambele părți. Lista are efect numai dacă:

 - articolul rândului are FittingType Espagnolete (cremon), Lock-bolt (broască) sau RebateReverserEspagnolete (mecanism de ștulp), vezi Tipul articolului;

 - mecanismul este pe o latură verticală sau deschiderea este TTX, TX, TSX, LSX sau SX;

 - înălțimea mânerului determinată pentru rând este mai mare decât 0: la un mecanism cu înălțime fixă a mânerului (FixedHandleHeight="X") este HandleHeight al articolului; la un mecanism variabil este înălțimea cerută pentru cercevea (de utilizator sau automat, la jumătatea înălțimii de falț; vezi MaxExtensionsLength mai jos), iar fără o înălțime cerută, HandleHeight al articolului.

Necesarul de prelungire se calculează separat sus și jos. MinY/MaxY sunt MinRabbet/MaxRabbet ale articolului mecanism, dacă sunt completate și mecanismul este pe o latură stânga/dreapta, altfel MinY/MaxY ale rândului; FFH = înălțimea de falț a laturii mecanismului, H = înălțimea mânerului măsurată de la falțul de jos, div = împărțire întreagă:

 - mecanism cu înălțime fixă a mânerului: sus, minim FFH − MaxY și maxim FFH − MinY; jos, nimic;

 - mecanism variabil: sus, minim (FFH − H) − (MaxY div 2) și maxim (FFH − H) − (MinY div 2); jos, minim H − (MaxY div 2) și maxim H − (MinY div 2).

Pe o parte se adaugă prelungitoare numai dacă minimul este mai mare decât 0. Suma lungimilor alese trebuie să fie între minim și maxim; același cod poate fi folosit de mai multe ori, iar un prelungitor mai scurt care ajunge este preferat unuia mai lung. Dacă nicio combinație nu se încadrează, se încearcă tăierea prelungitoarelor care au MinLength; dacă tot nu se poate, se pune cel mai scurt și apare mesajul Lungimea prelungirii (... mm) la mecanismul ... a ieșit în afara domeniului permis (...).

 

Fiecare prelungitor ales devine un rând separat în feroneria cercevelei, cu cantitatea (Qty), latura, ParentID și ChildParentsIDs ale rândului mecanismului, așezat în continuarea lui (UpLeftJoined deasupra, DownRightJoined dedesubt) și poziționat imediat înaintea lui; intră în consum și în preț. Pentru prelungitor nu se evaluează Functions și nici AcceptedSashes/AcceptedThresholdsFrames ale articolului lui. Nu adăugați prelungitoarele și ca rânduri separate în set: ar fi numărate de două ori. Blocatorii montați pe prelungitoare se descriu în CamLocks, cu ForExtensions="X".

 

Fiecare cod trebuie să existe în articole și să aibă Length > 0 (lungimea prelungitorului); MinLength (opțional) este lungimea minimă până la care prelungitorul poate fi tăiat. Scrieți câte un cod pe rând, cu &#10; între ele, fără virgule, punct și virgulă sau funcții; ordinea nu contează. Importul avertizează pentru un rând de listă care conține o virgulă, un punct și virgulă sau o paranteză ori începe cu +, pentru un cod care nu există în articole sau nu are lungime, pentru EspagnoleteExtensionsUp fără EspagnoleteExtensions și pentru o listă pe un articol care nu este mecanism.

 

EspagnoleteExtensionsUp este o listă separată, folosită numai pentru prelungirile de deasupra mecanismului (când mânerul coboară față de mecanism; la mecanismele cu înălțime fixă a mânerului toate prelungirile sunt deasupra). Goală = și sus se folosesc prelungitoarele din EspagnoleteExtensions; prelungitoarele de jos se aleg întotdeauna din EspagnoleteExtensions.

 

MaxExtensionsLength este folosit numai când WinArhi caută mecanismul după înălțimea mânerului: la o înălțime a mânerului cerută de utilizator, sau automat, cu mânerul la jumătatea înălțimii de falț, când prima introducere a setului nu a pus niciun cremon sau broască (de exemplu cerceveaua este mai înaltă decât domeniile tuturor rândurilor de mecanism). În această căutare participă numai rândurile de cremon și de broască, iar un rând care are nevoie de prelungitoare este acceptat numai dacă MaxExtensionsLength este cel puțin cel mai mare dintre necesarele minime (sus, jos). Gol = 0: căutarea nu alege niciodată acest rând când are nevoie de prelungitoare. Nu limitează prelungitoarele puse la introducerea obișnuită. Fără EspagnoleteExtensions nu are efect (avertisment). Exemplu (coduri inventate; prelungitoare de 200, 400 și 600 mm):

<SetRecord ItemNo="20" Code="EXA-E-VAR" Qty="1" MinY="500" MaxY="1200"

  EspagnoleteExtensions="EXA-EXT-200&#10;EXA-EXT-400&#10;EXA-EXT-600" MaxExtensionsLength="2800"/>

 

       Blocatori: CamLocks și CamLocksRecord

 

Blocatorii sunt piesele de închidere (de regulă montate pe toc, în dreptul punctelor de închidere ale feroneriei) legate de articolul rândului (cremon, colțar, închidere suplimentară) sau de prelungitoarele lui. Pentru fiecare blocator care trece de condițiile lui, WinArhi calculează cota la care se montează, îl desenează, îl transmite exportului pentru centrul de prelucrare (care îl prelucrează numai dacă utilizatorul WinArhi a configurat codul blocatorului în tabelele centrului de prelucrare; altfel nu apare niciun mesaj) și îl adaugă în consum și în preț, cu cantitatea rândului căruia îi aparține. Nu listați blocatorii și ca rânduri separate în set: ar fi numărați de două ori.

 

Cota blocatorului se ia dintr-o listă a articolului rândului, nu a articolului blocator: CamLockDimensions1 sau CamLockDimensions2 din fișierul de articole (vezi Formatul XML al articolelor de feronerie), câte o cotă pe rând, măsurată de la originea piesei. Blocatorii primesc poziție (desen, CNC) numai dacă piesa rândului este poziționată, adică are latură și referință; în consum intră oricum. DimensionIndex indică linia (0 = prima), iar UseCamLocksDimensions2 al rândului alege lista. Pentru blocatorii cu ForExtensions="X", lista este a fiecărui prelungitor adăugat. CamLockDimensions2 este a doua listă a articolului, cu același format și măsurată la fel ca CamLockDimensions1. Atributele unui CamLocksRecord:

 

Atribut (coloana)

Tip și valori

Semnificație și reguli

DimensionIndex (IndexCota)

Obligatoriu, nevid. Întreg de la −1 la 32767.

Linia din lista de cote la care se montează blocatorul: 0 = prima, 1 = a doua etc.; -1 = cota din Dimension. Lipsa atributului pe un blocator cu cod face ca setul să fie refuzat; DimensionIndex="" este citit ca 0 (avertisment). Un index mai mare decât ultima linie a listei, sau un articol fără listă, face ca blocatorul să fie omis fără mesaj (importul avertizează). Dacă linia indicată nu este un număr, apare mesajul Cota blocatorului ... la piesa ... nu este număr. Pentru ForExtensions="X" se folosește de regulă 0 (prima cotă a prelungitorului).

Dimension (Cota)

Număr zecimal cu punct, milimetri.

Cota explicită, folosită numai cu DimensionIndex="-1": distanța față de punctul de poziționare al articolului, cu același înțeles ca o linie din CamLockDimensions1/2. Ignorată la orice alt index (avertisment); cu -1 și fără Dimension, blocatorul se pune la 0 mm. Cu InvDraw="X" pe rând, semnul se inversează.

Code (Cod)

Text, cel mult 30 de caractere (folosiți cel mult 20), fără apostrof, tab sau rând nou.

Codul articolului blocator (de regulă un articol cu FittingType="CamLock"), exact ca în catalog; un singur cod (o virgulă nu separă coduri). Un blocator fără Code este o înregistrare de rezervă și este ignorat. Un cod care nu există în articole produce un avertisment la import; blocatorul primește cota, dar nu are desen, iar la calculul consumului apare mesajul de articol inexistent. Funcțiile articolului blocator din catalog se adaugă la condițiile blocatorului.

Left-Right (StDr)

L, R sau gol.

Limitează blocatorul la deschiderile pe stânga (L) sau pe dreapta (R); gol = ambele. La deschiderile fără mână se folosesc numai blocatorii cu Left-Right gol. Aceleași reguli de scriere ca la rândul setului.

MinX, MaxX, MinY, MaxY (MinX, MaxX, MinY, MaxY)

Întregi de la 0 la 32767, milimetri. Pentru „de la ... în sus” scrieți 32767, nu 99999 (o valoare peste 32767 face ca setul să fie refuzat).

Limitele inclusive ale lățimii și înălțimii de falț ale cercevelei (ale canatului inactiv, pentru rândurile canatului inactiv) între care se folosește blocatorul. Perechea goală = fără condiție; Min fără Max, sau mai mare decât Max, = niciodată (avertisment). La blocatorii prelungitoarelor se compară tot dimensiunile cercevelei, nu lungimea prelungitorului.

Functions (Functii)

Text pe mai multe rânduri.

Condiții „+if...” ale blocatorului, evaluate pentru cercevea și pentru latura rândului; la ele se adaugă funcțiile articolului blocator din catalog. Aceleași reguli ca la Funcții.

ForExtensions (PtPrelungiri)

Bifă: X sau gol.

Blocator al prelungitoarelor: se aplică fiecărui prelungitor adăugat automat din EspagnoleteExtensions sau EspagnoleteExtensionsUp (de două ori, dacă același prelungitor este folosit de două ori), iar DimensionIndex indică lista prelungitorului. Fără EspagnoleteExtensions pe rând nu are efect (avertisment). Se scrie X sau gol; alte valori: ca la bifele rândului (vezi Elementul SetRecord).

 

CodScriptFero (coloană retrasă din bazele de date vechi) nu se scrie în CamLocksRecord: cu o valoare face ca setul să fie refuzat, cu indicația Functions.

 

Lista aleasă de UseCamLocksDimensions2 (atributul rândului):

UseCamLocksDimensions2

Lista de cote folosită

gol

CamLockDimensions1, pentru articolul rândului și pentru toate prelungitoarele.

1

La fel ca gol: CamLockDimensions1, pentru articolul rândului și pentru toate prelungitoarele.

X (sau x)

CamLockDimensions2, pentru articolul rândului și pentru toate prelungitoarele.

2

La fel ca X: CamLockDimensions2, pentru articolul rândului și pentru toate prelungitoarele.

1-2

Articolul rândului și prelungitoarele de sus: CamLockDimensions1; prelungitoarele de jos: CamLockDimensions2 (util când același prelungitor se montează întors jos față de sus).

 

Articolele au numai două liste: orice alt număr întreg decât 1 și 2 (de exemplu 0, 3, 10 sau -1) face ca setul să fie refuzat (WinArhi ar căuta o listă care nu există, iar cerceveaua nu s-ar mai crea). Alt text este citit ca lista 2 și salvat ca X (de exemplu un spațiu sau S), iar un număr scris altfel (de exemplu 01 sau 02) este salvat ca 1, respectiv X; în ambele cazuri importul avertizează. În bazele de date vechi, în care coloana are un singur caracter, 1-2 este refuzat.

 

Ordinea blocatorilor în fișier nu contează (sunt ordonați după DimensionIndex); mai mulți blocatori pot avea aceeași cotă (variante pe stânga și pe dreapta, pe lățimi diferite sau în condiții diferite). Un rând are cel mult un element CamLocks; un rând fără blocatori nu are element CamLocks (nu scrieți unul gol).

 

<SetRecord ItemNo="20" Code="EXA-E-800" Qty="1" MinY="500" MaxY="1200">

  <CamLocks>

    <CamLocksRecord DimensionIndex="0" Code="EXA-CL-01"/>

    <CamLocksRecord DimensionIndex="1" Code="EXA-CL-01" Left-Right="L"/>

    <CamLocksRecord DimensionIndex="1" Code="EXA-CL-02" Left-Right="R"/>

    <CamLocksRecord DimensionIndex="-1" Dimension="54" Code="EXA-CL-01" MinX="800" MaxX="1600"/>

  </CamLocks>

</SetRecord>

Cu CamLockDimensions1="150&#10;650" la articolul EXA-E-800, primul blocator se pune la 150 mm, al doilea la 650 mm (cu un cod pe stânga și altul pe dreapta), iar ultimul la 54 mm, numai la cercevelele cu lățimea de falț de 800–1600 mm.

 

       Părinte și copii: ParentID și ChildParentsIDs

 

ParentID și ChildParentsIDs condiționează rânduri de alte rânduri ale aceluiași set: rândurile se evaluează normal, iar după ce toate au fost evaluate, un rând cu ChildParentsIDs este eliminat dacă niciun rând care a intrat în aceeași cercevea nu are ca ParentID unul dintre numerele din listă. Mecanismul este opțional; același efect se poate obține și prin Functions.

 

ParentID este o etichetă de familie, nu o cheie unică: dați același număr tuturor rândurilor alternative ale aceluiași mecanism (de exemplu tuturor cremoanelor variabile ale setului, câte unul pe fiecare domeniu de înălțime); pentru copii ajunge ca unul singur dintre ele să intre. Un rând părinte contează numai dacă a intrat efectiv (a trecut de dimensiuni, Left-Right, culoare, Functions, greutate).

 

ChildParentsIDs este lista numerelor de care depinde rândul, separate prin virgulă (logică SAU: ajunge unul). Condiția se adaugă la condițiile proprii ale rândului. Nu există logică ȘI (doi părinți în același timp): scrieți-o în Functions. Reguli:

 - numai întregi mai mari sau egali cu 1, scriși cu cifre (0 și numerele negative fac ca setul să fie refuzat); folosiți numere mici (1–99), ca listele să încapă în 20 de caractere (1,2,3,4,5,6,7,8,9,10 are exact 20); separatorul este virgula; spațiile din jurul ei sunt acceptate, dar ocupă din cele 20 de caractere, așa că scrieți lista fără spații;

 - numerele sunt valabile într-un set pus pe o cercevea: rândurile canatului inactiv, rândurile de conținut ale opționalelor de feronerie care se aplică setului și prelungirile de cremon adăugate automat (care moștenesc ParentID și ChildParentsIDs de la cremon) fac parte din el; același număr în alt set nu are nicio legătură;

 - un număr pe care nu îl are niciun rând al setului (și niciun rând de opțional aplicabil) nu este îndeplinit niciodată: dacă toate numerele listei sunt astfel, rândul copil nu intră niciodată; propriul ParentID în listă face ca rândul să rămână întotdeauna; importul avertizează pentru o listă care conține un asemenea număr și pentru propriul ParentID în listă;

 - pe rândurile XY, ParentID și ChildParentsIDs nu au efect: un rând XY nu intră în feroneria cercevelei;

 - folosiți un singur nivel de dependență și faceți mecanismele principale (cremon, broască, mecanism de ștulp) părinți, nu copii: ele sunt prelucrate primele, iar înălțimea mânerului calculată dintr-un copil eliminat ulterior rămâne folosită;

 - nu condiționați prin ChildParentsIDs rândurile cu MaxWeight decât dacă fiecare familie are aceleași grupe de greutate, și nici rândurile ale căror articole au AcceptedSashes sau AcceptedThresholdsFrames restrictive: aceste verificări se fac înainte de eliminarea copiilor.

În editorul de seturi, bifa Doar Parent-Child arată numai rândurile cu ParentID sau ChildParentsIDs. După import, verificați setul pe o fereastră de probă. Exemplu (coduri inventate):

<SetRecord ItemNo="31" Code="EXA-E-800" MinY="500" MaxY="1200" Qty="1" ParentID="1"/>

<SetRecord ItemNo="32" Code="EXA-E-1400" MinY="1201" MaxY="2400" Qty="1" ParentID="1"/>

<SetRecord ItemNo="36" Code="EXA-K-01" Qty="1" ChildParentsIDs="1"/>

Cele două cremoane formează familia 1; închizătorul EXA-K-01 intră numai dacă a intrat unul dintre ele.

 

       Exemplu comentat

 

Fișierul WinArhi-HardwareSets-example.xml este valid pentru schemă; codurile și marca sunt inventate. Conține un set pentru o fereastră oscilo-batantă. Importați întâi WinArhi-HardwareArticles-example.xml, care definește articolele folosite.

 

<?xml version="1.0" encoding="UTF-8"?>

<!--

  Example of a WinArhi hardware sets file, format 2, valid for WinArhi-HardwareSets-v2.xsd: one tilt-and-turn

  window set. Import WinArhi-HardwareArticles-example.xml first (the rows take their descriptions and colours from

  the articles), then this file into a profile series.

  Every code and brand is invented; dimensions in millimetres.

-->

<Base FormatVersion="2" Content="HardwareSets" Generator="WinArhi example">

  <Set Opening="TTX" WD="Window" Mark="ExampleHW" HardwareSet="Standard">

    <!-- the sash sizes the set applies to: width MinX..MaxX, height MinY..MaxY -->

    <SetRecord ItemNo="1" Code="XY" MinX="400" MaxX="1600" MinY="500" MaxY="2400" Description="Sash size range" Qty=""/>

    <!-- the handle -->

    <SetRecord ItemNo="10" Code="EXA-H-100" Qty="1"/>

    <!-- the espagnolette of sashes up to 1200 high, with a cam lock at each line of its CamLockDimensions1 -->

    <SetRecord ItemNo="20" Code="EXA-E-800" Qty="1" MinY="500" MaxY="1200">

      <CamLocks>

        <CamLocksRecord DimensionIndex="0" Code="EXA-CL-01"/>

        <CamLocksRecord DimensionIndex="1" Code="EXA-CL-01"/>

      </CamLocks>

    </SetRecord>

    <!-- the hinges, 150 from the top and from the bottom; the sash is checked against the hinge's weight chart -->

    <SetRecord ItemNo="30" Code="EXA-HG-01" Qty="1" Side="Hinge" Reference="UpLeft" Dimension="150" VerifyWeightChart="X" MaxWeight="130"/>

    <SetRecord ItemNo="40" Code="EXA-HG-01" Qty="1" Side="Hinge" Reference="DownRight" Dimension="150" VerifyWeightChart="X" MaxWeight="130"/>

  </Set>

</Base>

 

 - Base: formatul 2, conținut HardwareSets; Generator este informativ. Fișierul nu numește seria: utilizatorul îl importă în seria aleasă.

 - Set: deschiderea TTX (oscilo-batant, stocat OBX, pentru ambele mâini), fereastră, marca ExampleHW, setul Standard. Dacă marca nu există în Furnizori, importul întreabă dacă o adaugă.

 - ItemNo="1", Code="XY": domeniul setului, lățimi de falț de 400–1600 mm și înălțimi de 500–2400 mm; Qty="", pentru că rândul nu este un articol. Exemplul numerotează rândul XY cu 1; recomandat este ItemNo="1000", numărul pe care îl dă editorul WinArhi (comanda Renumerotează îl face oricum 1000).

 - EXA-H-100: mânerul, o bucată, fără limite, deci la orice dimensiune; Description și Colour lipsesc și sunt completate din articole (culoarea Alb).

 - EXA-E-800: cremonul, numai pentru înălțimi de falț de 500–1200 mm (pentru cercevele mai înalte ar trebui un alt rând, cu alt cremon). Blocatorii: câte un EXA-CL-01 la liniile 0 și 1 ale listei CamLockDimensions1 a cremonului (150 și 650 mm de la originea cremonului), pentru că UseCamLocksDimensions2 este gol. Cremonul nu are latură și referință, nici în articol, nici în set: el și blocatorii lui intră în consum și în preț, dar nu se poziționează (nu sunt desenați și nu primesc poziție pentru CNC). Pentru desen, dați articolului Side="Handle" și o referință (vezi Valorile Side și Valorile Reference).

 - EXA-HG-01 de două ori: balamalele, pe latura balamalelor (Side="Hinge"), la 150 mm de capătul de sus (Reference="UpLeft") și de capătul de jos (Reference="DownRight"). MaxWeight="130" le pune în aceeași grupă de greutate (umplutură de cel mult 130 kg), iar VerifyWeightChart="X" cere verificarea diagramei articolului EXA-HG-01 (cele trei curbe din fișierul de articole). Ambele rânduri sunt marcate; fiindcă au același articol, aceleași limite și aceleași condiții, verificarea dă același rezultat. De regulă ajunge un singur rând marcat pe grupă (vezi Greutate).

Rezultatul: pe o fereastră oscilo-batantă cu această marcă și acest set, cu falțul în domeniu, cu Alb printre culorile de feronerie ale ferestrei, cu umplutura de cel mult 130 kg și cu punctul (lățimea de falț, înălțimea de falț) în curba diagramei, WinArhi pune mânerul, cremonul cu cei doi blocatori (dacă înălțimea de falț este de cel mult 1200 mm) și cele două balamale. Balamalele sunt singura grupă de greutate a setului: dacă umplutura depășește 130 kg sau punctul iese din curbă (de exemplu la 1600 × 2400 mm, un colț tăiat de toate cele trei curbe), nicio grupă nu trece și cerceveaua nu se creează (vezi Greutate).

 

Culoarea. Mânerul și balamaua au în fișierul de articole Colour="Alb": importul avertizează dacă Alb nu este o culoare de feronerie a seriei, iar pe o fereastră fără culoarea de feronerie Alb mânerul și balamalele sunt respinse, deci cerceveaua nu se creează. Pentru probă folosiți o fereastră cu culoarea de feronerie Alb sau înlocuiți, înainte de import, Alb din fișierul de articole cu o culoare de feronerie din baza de date.