Software Pentru Optimizarea Utilizarii Materialelor In Tamplarie
Software pentru optimizarea utilizării materialelor in tâmplărie
Introducere – 1-2 pag
Obiective
Motivare alegere tema
Software pentru optimizarea utilizării materialelor in tâmplărie
Plasare tema in contextul actual/ viitor
Riscuri?
Bussiness logic 5-6 pag
Arhitectura soluției 10 pag
diagrama de clase/ de componente
o arhitectura ( componente: )
descriere componente.
Implementarea soluției 10 pag ( DEZVOLTAREA APLICATIEI)
cum am făcut/implementat soluția ( cod sursa secvențe mici, tehnologii folosite, diagrama bazei de date )
concluzii (1 pag- avantaje soluție/ dezv. viitoare/ dezavantaje?)
bibliografie(min 1 pag)
anexa (max 25%)
Introducere
Scurt istoric al domeniului
Înainte de anii '90 rar avea cineva posibilitatea să aibă în casa mobila executata pe comandă. După revoluție lucrurile s-au schimbat, oricine dorește acum, în funcție de preferințe coloristice, buget, poate să-și optimizeze la maxim spațiul. In decursul a 25 de ani, acest lucru a fost speculat de foarte multi întreprinzători, piața de desfacere fiind destul de aglomerată. Marea majoritate a producătorilor de mobilier folosesc PAL (placa de așchii de lemn) acoperită cu melamină –un plastic dur aplicat in grosimi de microni, la presiune și temperaturi ridicate. Mai nou au apărut și plăcile de MDF care este abrevierea pentru -medium density fiberboard (fibră de densitate medie), și este realizat din mai multe tipuri de prafuri de lemn lipite în condiții de căldură și înaltă presiune.
MDF-ul este un material ce se pretează foarte bine la frezare putându-se obține o gamă variată de forme și profile in relief. Devenind un standard pentru calitate, MDF-ul capătă variațiuni de culoare și forme fără limite. Începând de la MDF înfoliat termic pană la cel vopsit în câmp electrostatic, vorbim de clasă dar și de preț. MDF-ul poate fi brut, melaminat, vopsit , înfoliat și furniruit cel din urma putând sa imite cu brio mobila din lemn masiv.
Plăcile de pal au dimensiuni gabaritice diferite, în funcție de producător, astfel EGGER si KASTAMONU produc plăci cu dimensiuni de 280×207 cm, iar KRONOSPAN lucrează cu plăci de 275×207 cm. Plăcile de MDF sunt mai mici , datorita faptului că se lucrează cu presiuni mai înalte, iar suprafața lucioasă este mai pretențioasă, deoarece nu se acceptă defecte de suprafață. Dimensiunile diferă și aici, în funcție de producător: EGGER are plăcile de 240×122 cm iar KASTAMONU au plăci cu dimensiunea de 280×122 cm.
Motivare
Tatăl meu lucrează în domeniul mobilei de 18 ani. De mic m-am familiarizat cu execuția de mobilier. Am început timid, cu schițe chinuite ,desenate în spațiu, așa cum făcea tata, pe hârtie. M-a încurajat, mi-a și plăcut și ajunsesem să desenez mai bine și decât mama.
La începuturile anilor 2000 au început să apară și diverse programe de încadrare, motiv pentru care tata, care între timp a deschis un atelier, a încercat să caute ceva pe placul lui, un program care sa-i ușureze munca. Am observat că nu a achiziționat nici unul, demo-urile nu l-au convins, îmi spunea că este mai eficient să facă de mană calculația.
Acest lucru s-a întâmplat deoarece unele programe nu țineau cont de fibra plăcii, altele nu aveau stoc de materiale și resturi de material ramase . În plus de fiecare dată trebuia să introducă manual fiecare placă , ceea ce dura mai mult decât un calcul de mană. Nu mai spun că încadrările date de aceste programe nu ieșeau bine, nu erau eficiente, resturile de material rămase erau mai multe și mai mici la încadrarea pe calculator, decât la încadrarea manuala.
Din discuțiile cu tatăl meu am înțeles ca un program ideal , pentru care ar renunța la încadrarea scrisa ar trebui să știe să facă următoarele:
memorarea încadrărilor și a anumitor corpuri de bază ,de exemplu corp cu sertare la o bucătărie, în care modifici doar lungimea și restul pieselor se modifică instantaneu
modificarea facilă a unei piese și schimbarea ulterioară a vechii încadrări pe placa, fără a fii nevoie să reintroducă piesele necesare.
posibilitatea de a schimba dimensiunea plăcii de tăiat, atunci când se hotărăște clientul la alt material (PAL schimbat în MDF)
Obiective
Lucrarea de licență prezentată atinge un subiect fierbinte, încadrarea în placă a pieselor componente de mobilier, diferențiate pe dimensiune și culori în funcție de cererea clientului. Folosind acest program, se va optimiza utilizarea materialelor, ținându-se cont și de fibra, (flader-ul) plăcii de debitat.
Datorită diferențelor dimensionale și coloristice, este foarte important ca programul să permită schimbarea dimensiunilor de gabarit a plăcii de tăiat. Pentru obținerea unei oferte de preț, este normal ca la mobila executată la comandă să se calculeze necesarul de material, în cazul acesta PAL-ul sau MDF –ul . Calculul rapid al produselor finite, și transmiterea către client a prețului final este un lucru ce contează în prezentarea în fata clientului a seriozității executantului.
Încadrarea folosită pentru execuția comenzii unui client se poate salva și refolosi la alt client, chiar și pe altă culoare, atâta timp cât plăcile folosite la debitare au aceleași dimensiuni. După introducerea datelor constructive ale modulelor, acestea se vor putea salva și de asemenea refolosi la alt client, și, lucru important, modificarea dimensiunilor unui modul, duce automat la modificarea încadrării în placă. Deci, de exemplu dacă avem un corp de bucătărie de 80 cm lățime, putem calcula încadrarea și pentru un corp de 90 cm, schimbând doar lățimea
De asemenea alte funcționalități dorite la un astfel de software, ar fi permiterea gestionarii stocurilor de materiale și de asemenea posibilitatea salvării corpurilor de mobilier eliminând astfel o parte din timpul pierdut pentru introducerea datelor.
Pentru a ușura trecerea de la un software de acest tip la software-ul meu trebuie să iau în calcul și modul de reprezentare a datelor utilizatorului, generalizând interfața grafică astfel încât să conțină elementele cele mai comune în celelalte software-uri.
Aplicația în contextul actual
Stadiul pieței actuale
Cererea de programe de debitare pal este mare, mai ales in ultimii 6-7 ani, programe care sunt căutate atât de micii producători cât și de persoane care-si mobilează singuri casa.
Oricând este loc de mai bine, astfel încât programele apar din ce în ce mai sofisticate și bineînțeles mai scumpe. Majoritatea programelor au demo-uri, care dau voie să exersezi și să poți compara cu celelalte oferte de pe piață. Bineînțeles că aici clientul alege, dar mai toate programele beneficiază de update-uri gratuite sau după caz, contra cost.
Programe cunoscute
Cutting Optimization Pro
Programul Cutting Optimization Pro este un program polonez care este foarte bine vândut pe piață, datorită utilizării facile . Este disjuns din cel mai vândut (și piratat) program de debitare PAL, Optimik, apărut în 2004-2005 . Noul program vine cu următoarele facilitați:
capacitate de reglare a uneltei de debitare
debitare de precizie, reglare ușoară după dimensiunea plăcilor și ajustare
depozit de plăci (plăci speciale și de uz curent)
suporturi pentru diverse tehnologii de tăiere
gestionarea comenzilor și bază de date pentru produse standard
rapoarte detaliate (circumferință, suprafață și lungime canturi)
5 criterii de optimizare
imprimare de etichete autocolante
arhivă de comenzi și planuri
număr nelimitat de plăci și elemente
PaneCutter
Programul PaneCutter , este un program romanesc , util și bine vândut mai ales in zona vestică a tarii. Cu ajutorul PaneCutter poate să reducă sensibil costurile de debitare, economisind timp și obținând planul de debitare în câteva minute, și de asemenea făcând economie la materialul utilizat, reducând pierderile.
Utilizatorul poate seta lungimea și lățimea plăcii de debitat, și dimensiunile pieselor dorite. Aceste informații pot fi salvate și reluate ulterior pentru o eventuala revizuire. Programul pune la dispoziție alegerea unei soluții din cele oferite pentru vizualizare, putând la cerere să fie și tipărită.
Pro100
Programul Pro 100 este programul care a cucerit în ultimii ani respectul tuturor utilizatorilor. Singura problemă o reprezintă prețul mare, dar acesta se compensează prin posibilitatea de a achiziționa extensii de programe, inclusiv proiectare și design, interconectate între ele, la un preț acceptabil.
Caracteristici:
import lista de debitare panouri;
posibilitatea de optimizare a panourilor din același material cu proveniență din comenzi diferite;
actualizare automată / manuală a resturilor utilizabile;
tipărire de etichete autocolante pentru panouri de comandă și pentru resturi utilizabile
stoc nelimitat de panouri brute și panouri de comandă;
gestionarea comenzilor, arhivă de comenzi și diagrame.
Optimizarea se realizează în funcție de mai multe criterii: procentaj minim deșeuri, diagrame identice, lungimea de debitare, numărul de tăieri și numărul de colete.
Avantaje si dezavantaje
Pentru un utilizator neacomodat cu calculul încadrărilor, normal că orice program de acest fel ajută, condiția este ca totuși să te pricepi cât de cât la matematică și calculatoare. Aceștia nu sunt pretențioși și caută de obicei și ce este mai ieftin, ignorând pașii următori ce decurg într-un proces tehnologic asociat debitării plăcilor.
Un producător caută ajutor într-un asemenea program, să-i reducă timpul acordat calculației finale, și normal micșorarea perioadei de trimitere a ofertei pentru client. Aceste programe de tăiere-debitare sunt bune doar dacă se execută mobilier la comandă, in cazul unei producții de serie, atunci încadrările vor fi doar ciclice, iar necesitatea unui program devine nulă.
Cererea pieței
Este normal ca dezvoltarea și diversificarea gamei de programe să facă să apară și cereri din ce în ce mai exigente. Toți utilizatorii vor un program care să fie cât mai ușor și cât mai explicit de utilizat, astfel încât sa compenseze lipsa specialiștilor în prelucrări . Se cere un program care să poată calcula prețul cât mai rapid și să aibă pierderi cât mai mici la tăiere.
Dacă în primii ani programele nu țineau cont la încadrare de grosimea pânzei de tăiat, acum se ține cont atât de grosimea pânzei de debitat cât și de eventuala frezare de precăntuire. Sunt programe care pot să calculeze metrii de cant folosit și să țină gestiunea resturilor rămase.
Exista programe ieftine și implicit simple, care sunt în continuare folosite de utilizatori. Evident pentru mai multe facilități introduse în program, prețul de vânzare creste. Multe programe sunt în limba engleză sau maghiară, micșorând aria de vânzare. Un program în limba romană este mai vandabil la noi în țară.
Ce s-ar dori in viitor
Nu se știe dacă aceste programe vor mai fi utilizate în viitor, piața de desfacere va alege, dar în mod sigur programele vor evolua. Producătorii de mobilier vor să facă cât mai puține investiții, dar un program complet, în care se pleacă de la dimensionarea unui corp și se ajunge la calculul prețului final, nu va fi ieftin.
Clienții acestor programe vor vrea să aibă un program care prin simpla modificare a unei cote să redea încadrarea nouă în placă, resturile rămase –trecute în magazia de stocuri, calcularea cantului, a feroneriei folosite și, normal prețul final pentru client.
Arhitectura aplicației
Arhitectura software face referință la structurile de la un nivel înalt ale unui sistem software, disciplina creării acestor genuri de structuri, precum și la documentația aferentă structurilor. Orice sistem software are o arhitectură ce definește un set de structuri necesare. Fiecare structură trebuie să conțină elemente de software, relațiile dintre acestea și proprietățile elementelor cât și pe cele ale relațiilor.
Arhitectura software mai are rolul de a servii ca model atât sistemului cât și proiectului care îl dezvoltă, definind astfel unele sarcini de lucru pe care trebuie sa le efectueze cei care se ocupă de proiectare si implementare. Arhitectura este purtătorul principal al calității sistemului, a performantei acestuia, a gradului de modificabilitate și securitate, dintre care niciunul nu se poate realiza fără o structură arhitecturală unificatoare.
Structura arhitecturii software poate fi considerată un artefact pentru o analiză timpurie, asigurând că design-ul abordat va duce la realizarea unui sistem acceptabil. Prin construirea eficace a arhitecturii se pot identifica riscurile de proiectare și pot fi atenuate la începutul procesului de dezvoltare.
Componente
Componentele necesare pentru a putea realiza aplicația sunt următoarele:
Interfața cu utilizatorul ( GUI ) – se ocupă cu preluarea datelor introduse de utilizatorul aplicației și cu afișarea rezultatelor obținute.
Obiecte pentru accesul datelor ( DAO ) – au rolul de a gestiona tranzacțiile efectuate între aplicație si baza de date.
Driver-ul de conexiune la baza de date ( JDBC ) – se ocupă cu conectivitatea la baza de date, deschide sesiuni pentru transferul de date și transformă comenzile trimise într-un limbaj înțeles de baza de date.
Baza de date ( DB ) – are rolul de a stoca anumite informații utile pentru a putea fi folosite ulterior.
Algoritm – componenta care se ocupă de calcularea încadrării optime.
Figura 1 – Diagrama componentelor
Obiecte pentru accesul datelor – DAO
Un DAO este un obiect care expune o interfață abstractă pentru un anume tip de baza de date sau pentru un mecanism diferit de persistență, care oferă unele operațiuni specifice de date, fără a expune detalii ale bazei de date, prin aplicarea de cartografiere a apelurilor la nivelul de persistență.
Avantajul folosirii DAO este separarea relativ simplă dar în același timp și riguroasă între două părți importante ale unei aplicații care pot să știe unul de celălalt, dar nu trebuie, și care poate și este de așteptat să evolueze in mod frecvent și în mod independent.
Potențiale dezavantaje ale utilizării DAO ar putea fi duplicarea codului sau inversiunea abstractizării, în special abstractizarea DAO ca un obiect Java poate ascunde costul ridicat al fiecărui acces la baza de date, precum și forțarea dezvoltatorilor să declanșeze mai multe interogări pentru a prelua datele necesare, care altfel ar fi putut fi returnate într-o singură operație.
JDBC – Java Database Connectivity
JDBC este o tehnologie Java de la Oracle Corporation care asigură conectivitatea la baza de date. Este un API conceput pentru limbajul de programare Java care definește modul în care clientul poate accesa baza de date, oferind și metode pentru interogarea si actualizarea datelor. JDBC este orientat spre baze de date relaționale.
Conexiunile JDBC suportă crearea și executarea declarațiilor, care pot fi declarații de actualizare, precum CREATE, INSERT, UPDATE și DELETE din limbajul SQL, sau declarații de interogare având ca exemplu SELECT.
JDBC pune la dispoziție pentru interogarea și actualizarea bazei de date, următoarele clase:
Statement – declarația este trimisa bazei de date de fiecare dată;
PreparedStatement – declarația este memorată în cache și este posibilă o apelare multiplă într-o manieră eficientă;
CallableStatement – folosită pentru apelul procedurilor stocate în baza de date.
Diagrama de flux
Business Process Model Notation (BPMN) este o reprezentare grafică pentru specificarea proceselor de afaceri într-un model de proces de afaceri, bazat pe o reprezentare foarte asemănătoare cu diagramele de activitate din Unified Model Language (UML).
Obiectivul BPMN este de a aduce un sprijin managementului proceselor de afaceri, atât pentru utilizatorii tehnici cat și pentru utilizatorii afacerilor, prin asigurarea unei notații intuitive pentru utilizatorii afacerilor dar încă în măsură pentru a reprezenta complexitatea proceselor.
Modelele BPMN sunt reprezentate de diagrame simple, alcătuite dintr-un set limitat de elemente grafice grupate in patru categorii de bază :
Obiecte de flux – sunt principalele elemente descrise și folosite în BPMN, și constau în trei elemente de bază: evenimente, activități și porți;
Conectori – conectează obiectele de flux și sunt de trei tipuri: secvență, mesaj și asocieri.
Benzi de înot (Swim Lanes) – sunt elemente ce reprezintă un mecanism vizual de organizare si clasificare a activităților, fiind grupate pe două categorii: Pools și Lanes
Artefacte – permit dezvoltatorilor să aducă mai multe informații în model, devenind astfel mai ușor de citit. Exista trei artefacte predefinite : obiecte de date, grupuri și adnotări.
Analizând mai amănunțit procesele din cadrul unui atelier de mobilă, am realizat diagrama de flux utilizând și factori externi. Mai jos este reprezentat fluxul end-to-end grupând procesele în trei subprocese:
Capturare comandă – preluarea datelor necesare lansării unei comenzi; actori existenți: client, reprezentant vânzări și proiectant;
Executare comandă – introducerea și / sau preluarea componentelor din baza de date, generarea încadrării și executarea debitărilor aferente;
Predare comandă – mutarea comenzii executate în depozit, anunțarea clientului și predarea comenzii.
Figura 2 – Diagrama de flux end-to-end
Fluxul unde aplicația este utilizată se află în subprocesul „Executare comandă”. Acest proces este pornit de utilizatorul aplicației (proiectant) în momentul în care acesta deschide aplicația pentru a genera o încadrare.
Proiectantul este singurul actor care poate comunica cu ceilalți doi ramași; aplicația și debitorul comunică doar cu proiectantul.
In figura de mai jos este reprezentat subprocesul „Executare comandă”.
Figura 3 – Executare comanda
Procesul prezentat este unul mai simplist având in vedere ca multe acțiuni făcute înainte de proiectant au fost preluate acum de aplicație. Procesul de fata conține la rândul lui doua subprocese:
Definire componentă nouă – procesul unde proiectantul poate defini și salva în baza de date corpuri de mobilier noi;
Generează încadrare – procesul unde aplicația calculează încadrarea cu ajutorul algoritmului.
Diagrama bazei de date
O baza de date reprezintă o modalitate de a stoca informații, folosind un fișier sau mai multe pentru a le memora. Bazele de date sunt gestionate și manipulate cu ajutorul sistemelor de gestiune a bazelor de date (SGBD).
Un model de bază de date este un tip de model de date ce ajută la determinarea structurii logice a unei baze de date, determinând modul în care datele pot fi stocate, organizate și manipulate. Cel mai popular exemplu de model de baza de date este modelul relațional, care utilizează un format bazat pe tabele.
Modelele de baze de date logice includ modelul ierarhic, rețea, relațional, obiect-relațional, obiectual, bazat pe document, entitate-atribut-valoare sau stea.
În urma analizei am ajuns la concluzia că în baza de date ar trebui să fie salvate patru obiecte, fiecare cu tabelul său. Aceste obiecte sunt : corpuri de mobilier standard (Component) și generice (GeneralComponent), plăcile de debitare și resturile utilizabile (WoodBoardPice), iar separat se vor salva informații de bază ale plăcilor de debitare standard (WoodBoard).
Figura 4 – Diagrama bazei de date
Fiecare tabel în parte are ca și cheie primară coloana id care va fi gestionată de aplicație și coloana cod ce va putea fi gestionată de către utilizator. Singura legătură existentă se află intre tabelele WoodBoard și WoodBoardPice, cu o relație de unu la mai multi, pe când celelalte tabele sunt independente.
Diagrama claselor
Diagrama de clase este esențială in modelarea aplicațiilor orientate obiect. Se folosește la modelarea generală si conceptuală a sistematicii aplicației, precum si pentru modelarea detaliată ce ajută la transformarea modelului in cod sursă.
Elementele folosite in diagrama de clase pot fi grupare pe următoarele categorii:
Membri – elemente de reprezentare a membrilor unei clase, cum ar fi atributele sau metodele;
Relații – elemente ce reprezintă tipul relației dintre două clase, care pot fi relații la nivel de instanță, de clasa sau relații generale.
În figura de mai jos este reprezentată diagrama claselor simplificată pentru a arăta doar tipul relațiilor dintre clase.
Implementarea soluției
Tehnologii și limbaje folosite
Java
Java a fost lansat în 1995 fiind dezvoltat în cadrul companiei Sun Microsystems de James Gosling și este cel mai popular limbaj de programare, mai ales pentru aplicațiile web de tip client-server. Acest limbaj de programare este concurent, orientat obiect și bazat pe clase, fiind proiectat special pentru a utiliza cât mai puține dependințe pentru implementare, lăsând astfel posibilitatea programatorilor să ruleze codul scris o data pe orice mașină.
Probabil portabilitatea este cea mai importantă caracteristică a limbajului Java, care este în realizat compilând codul în Java bytecode, care la rândul lui este transmis spre interpretare unei mașini virtuale specifică pentru mașina gazdă.
Java folosește un sistem automat de colectare a resurselor nefolosite și administrează ciclul de viață al obiectelor. Programatorul poate determina momentul în care sunt create obiectele, iar Java runtime are responsabilitatea de a elibera memoria de obiectele care nu mai sunt folosite.
Hibernate
Hibernate ORM (Object Relational Mapping) este un framework de cartografiere a tabelelor dintr-o bază de date în obiecte Java, creându-se astfel o bază de date obiectuală. Permite translatarea modelului orientat obiect într-o baza de date relațională. Acest framework se preocupa de persistenta datelor în timpul efectuării unei tranzacții asupra unei baze de date.
În plus pe lângă API-ul nativ, Hibernate implementează specificațiile Java Persitence API (JPA). JPA este o specificații (interfață) care descrie managementul tranzacțiilor cu bazele de date relaționale dintr-o aplicație cu platformele Java SE sau Java EE. JPA fiind o specificație foarte bine standardizată trebuie implementă la rândul ei de tehnologii precum Hibernate.
Hibernate suporta modul de inițializare “leneșă” (lazy), multe strategii pentru citire și blocare cu versionare automată și time stamping. Nu necesită tabele speciale sau câmpuri, generând o mare parte din codul SQL la inițializare. Este bine cunoscut pentru stabilitatea excelentă oferită și calitatea sa, fapt ce a dus la acceptarea si utilizarea lui de către un număr mare de dezvoltatori Java.
SQLite
SQLite este un motor de baze de date care încorporează SQL. Diferă de majoritatea celorlalte baze de date SQL, prin faptul că nu necesită un server separat pentru procesare, citind și scriind direct în fișiere obișnuite de pe disc.
Este o bibliotecă compactă, cu toate caracteristicile incluse, putând fi mai mică de 500 KB, în funcție de setările platformei si optimizările compilatorului. Astfel este o alegere foarte populară pentru gadget-uri cu memoria “limitată” cum ar fi telefoanele mobile, tabletele sau mp3 playere. Tranzacțiile sunt de tipul ACID nefiind afectată de blocările de la nivelul sistemului sau a unei pene de curent.
SQLite nu impune constrângeri în funcție de tipul de date, dând posibilitatea de a introduce date de orice tip în orice coloană în majoritatea cazurilor.
Un mare criteriu care m-a dus la alegerea SQLite pentru baza de date o reprezintă numărul modest de clienți cunoscuți pe plan mondial, cum ar fi : Adobe, Apple, Bosch, DropBox, Mozilla, Google, Microsoft, Skype sau Toshiba
Eclipse
Eclipse este un mediu de dezvoltare integrat ( IDE ) construit în Java și lansat în anul 2004, pentru a facilita scrierea codului în mai multe limbaje de programare, cum ar fi Java, C, C++, Perl, PHP, Python.
Datorită faptului că este un IDE open source și poate rula pe Windows, Linux, Solaris și Mac OS, a crescut rapid în popularitate lăsându-i fiecărui dezvoltator posibilitatea de a crea plug-in-uri sau să ajute la îmbunătățirea soft-ului, ajungând astfel unul dintre cele mai folosite IDE-uri pentru dezvoltarea de aplicații in Java.
Platforma Eclipse folosește conceptul de “banc de lucru” comun pentru integrarea instrumentelor dorite de utilizatorul final. Platforma dă oportunitatea utilizatorilor să lucreze cu instrumente printr-o modalitate comună, asigurând totodată gestionarea integrată a resurselor folosite.
WindowBuilder
WindowBuilder este un plug-in dezvoltat pentru IDE-ul Eclipse, care aduce funcționalitatea unui designer de Java GUI , puternic și ușor de utilizat datorită modului său de funcționare bidirecțional. Plug-in-ul are o interfața grafica expusa către utilizator asemănătoare cu cea oferita de NetBeans.
Modalitatea ușoară prin care ajută dezvoltatorul să creeze o interfață grafica utilizând modul drag and drop si editarea mult mai prietenoasă a proprietăților fiecărei componente generând în spate o mare parte din cod, i-a adus o popularitate destul de mare printre designer-ele GUI folosite pentru Java.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Software Pentru Optimizarea Utilizarii Materialelor In Tamplarie (ID: 163695)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
