Scripturi in LISP AutoLISP

Creat de Admin, Iun 19, 2006, 12:16 AM

« precedentul - următorul »

zamfy


                  
diagodose2009 a scris:

Q: Ce  nu intelege zamfy?
A: zamfy  nu intelege  ca scriptuirile  (similare cu cea de mai mai jos)  sunt bataie de joc la adresa forumului topograf.3x.forum.ro

Code:

(defun c:nl ()
 (setq numelayer (getstring T "\nSpecifica numele noului layer: "))
 (prompt "\nAlege culoarea layerului: ")
 (princ)
 (command "-layer" "make" (strcat numelayer) "C" (acad_colordlg 1) "" "")
 (princ)
 )



Stimate domn, cu ajutorul acestor scripturi "milimetrice" am invatat si eu AutoLISP tot de pe acest forum. Nu cred ca daca ii dai unui incepator un program care are sute de linii de cod, va intelege ceva din el. Scriptul de mai sus poate ca pentru unii utilizatori este util, nu toti topografii se pricep la programare. Si daca dvs. credeti ca acest script este o bataie de joc, atunci programul de la aceasta adresa http://topograf.3xforum.ro/post/4228/1/Aplicatie_pentru_generarea_automata_a_lucrarilor_de_cadastru_2012/" target="_blank">http://topograf.3xforum.ro/post/4228/1/ ... stru_2012/ ce mai este? E mai bun pentru ca nu are 10 linii de cod, are 5000, dar nu face nimic?
Eu cred ca aici conteaza calitatea si nu cantitatea. Orice programator incearca pe cat posibil sa isi optimizeze codul sursa si sa scrie cat mai putine linii de cod. Daca acest forum nu va satisface, puteti sa vizitati http://www.theswamp.org/" target="_blank">http://www.theswamp.org/ si va asigur ca acolo veti gasi oameni care chiar se pricep la LISP si care cred ca se ridica la nivelul standardelor dvs.
Parerea mea este ca din utilizatorii acestui forum vreo 10% stiu programare cu adevarat, iar atat eu cat si multi altii nu facem parte din acestia.
Ati spus in multe randuri ca limbajul LISP este un limbaj fara viitor. Totusi, de la AutoCAD 2010 incoace, vad ca LISP sta bine mersi, dar VBA sau VB.net unde este? Spuneti ca ObjectARX sau C++ este viitorul. Insa ce merge pe AutoCAD 2010 nu merge pe 2011, ce merge pe AutoCAD 2012 nu merge pe 2013 s.a.m.d. In schimb, multe din scripturile LISP merg pe orice versiune de Autocad. Iar Lisp este un limbaj mult mai usor de invatat decat multe altele.
Si pe aceasta cale le multumesc unor utilizatori ca John Doe, TOPDAVLAD, advex s.a. care au avut "nesimtirea" de a posta "in bataie de joc" unele scripturi, din care m-am inspirat si fara de care nici in ziua de azi nu stiam LISP.



               

John Doe


                  Constat inca o data ca userul diagodose2009 nu a inteles spiritul in care se discuta aici, pe forum. Nu dau sfaturi, nu motivez constatarea, doar afirm ca daca toti sunt nemultumiti de unul singur sau unul de toti ceilalti, exista solutii pentru ambele chestiuni.


               

Anton Pann


                  Da, aici nu se apeleaza la  CCR . http://www.3xforum.ro/img/smilies/rotfl.png">


               

zamfy


                  
John Doe a scris:

@zamfy: daca imi spui ce anume nu ti-a iesit la PAD sau de ce nu seamana cu cel standard, poate am vreo idee care te ajuta. Pacat ca nu folosesti si DCL, e o interfata usor de construit si foarte prietenoasa.

Tipurile de PAD pe care le folosesc in mod curent arata cam asa:
http://www.fileshare.ro/77129305454.6" target="_blank">http://www.fileshare.ro/77129305454.6
Motivul pentru care nu folosesc modelul standard dat de ANCPI este ca in zonele montane loturile au o forma mult mai neregulata decat cele in zona de campie, iar in modelul standard ba nu venea caroiajul calumea, ba nu incapea inventarul de coordonate, asa ca am facut acest model, unde pot sa asez elementele cum imi vine mai bine. Iar OCPI-ul cu care lucrez de vreo 3 ani si jumatate accepta acest format, care in esenta are toate elementele modelului standard, numai ca asezate un pic altfel.
Ti-am ascultat sfatul si m-am pus un pic cu burta pe carte  si mi-am modificat aplicatia astfel incat sa lucreze si cu ferestre de dialog. Iata ceea ce a iesit pana acum:


504/581px  51.5KB

Modificat de zamfy (01-08-2012 13:43:59)



               

John Doe


                  Foarte bine pentru inceput, bravo. Pe masura ce lucrezi, ai sa fii tu insuti nemultumit de unele chestiuni, o sa-ti mai vina idei si ai sa-ti modifici aplicatia.
Cateva sugestii, asa la prima vedere:
1. La rubrica pentru acte, n-ar fi mai bine sa faci o lista derulanta cu tipul actelor exact din fisierul CP? si mai scrii data, numarul si autoritatea emitenta.
2. Nu e chiar totuna daca e BI sau CI; ar merge si aici o lista derulanta, de unde sa se aleaga ce trebuie.
3. La CNP exista un algoritm de verificare, l-ai implementat? Se poate verifica automat, si eventual care ar trebui sa fie cifra de control ca sa iasa bine. Ca se mai greseste, iar fisierul CP nu-ti spune daca e gresit CNP-ul când dai "validare" , doar daca deschizi exact fereastra cu numarul, si poti introduce linistit CNP-uri gresite fara sa stii. Algoritmul l-am gasit cu Google, daca crezi ca te ajuta pot incerca sa-ti dau codul scris in LISP.
4. La adresa, eu am liste derulante care se completeaza singure, partial; alegi judetul si se formeaza lista cu UAT-urile, alegi UAT-ul si se formeaza lista cu localitatile din UAT-ul respectiv, si asa nu mai pot gresi daca scriu aiurea vreun nume de localitate sa nu-mi gaseasca codurile SIRUES pe urma.

Si per total, poate ar fi mai bine sa fie pentru un numar nedefinit de proprietari, nu neaparat numai pentru unul sau doi. Eu am caseta pentru un singur proprietar, dar si un buton "adauga" care memoreaza ce am scris in caseta, sterge tot si asteapta alte date pentru urmatorul.

PAD-urile tale difera putin de cele standard dar contin toate informatiile necesare. Si eu lucrez pe formate mai mari, dar tot cam asa le fac - sa aiba toate informatiile.

Nu vorbesc ca sa ma aflu in treaba. Si mie mi-au facut observatii (pertinente sau nu) alti utilizatori si mi-au fost de folos. Sper sa-ti fie si tie.



               

zamfy


                  Multumesc pentru sugestii. Acesta este doar inceputul si mai am destul de mult de lucru pana o finalizez cum trebuie. Mai am de lucru la modulul care incarca fotografiile, deoarece mai da rateuri uneori. Din intamplare, am mai descoperit la modulul care genereaza CP-ul ca daca o localitate nu are in componenta sa un sat cu acelasi nume, fisierul CP nu este generat corect, asa ca trebuie sa schimb iarasi algoritmul.
1.Programul detecteaza automat data si nr. actului din stringul respectiv, iar autoritatea emitenta era generata in functie de tipul actului. Totusi, "forteaza" utilizatorul sa introduca datele intr-un anumit format, ceea ce nici eu nu imi doresc prea tare. Cred ca voi lua in considerare varianta propusa de tine, ceea ce va duce la o standardizare mult mai puternica a programului.
2.La mine in program, utilizatorul, printr-un prompt, alegea daca e BI sau CI. Totusi, e mai bine sa setezi de la inceput chestia asta.
3.Am vazut mai demult chestia cu CNP-ul intr-un filmulet facut de tine si mi-a placut. Nu am implementat un algoritm de verificare. M-ar ajuta enorm daca mi-ai putea trimite acest algoritm scris in LISP. Adresa de e-mail este aceeasi. Daca nu o mai gasesti, iti trimit eu un mail.
4.Este o idee foarte buna sa "constrangi" utilizatorul sa nu bage aiurea vreun nume de localitate, dar sa "bagi" vreo 2500 de UAT-uri e o munca migaloasa, insa realizabila.



               

John Doe


                  Nu e deloc migalos, poti genera automat lista su UAT-urile dintr-un judet. Pur si simplu le selectezi pe cele care au acelasi SIRUTA (sau SIRSP, nu mai retin acuma din cap), iar cel mai mic o sa fie al resedintei de comuna. Pun pariu ca nu stiai; ai fi observat si tu pana la urma, dar cine stie dupa cat timp. Acuma stii de la inceput.

Algoritmul s-ar putea sa il mai am listat pe o foaie; as prefera sa ti-l faci tu pe al tau exact asa cum vrei. Daca nu mai gasesc foaia, iti trimit codul sursa dar e scris cam imbricat, trebuie sa-l raschirez putin ca sa fie mai usor de inteles. Nu ca esti tu tare de cap, dar am observat ca algoritmii scrisi de altii se pricep mai greu.

O sa folosesc adresa de mail declarata de tine pe forum. Daca cumva folsesti alta, trimite-o pe privat dar cumva sa nu o recunoasca site-ul, ca o transforma si nu pot pune atasamente.



               

Atopor


                  Mai, oameni buni, nu puteti folosi alt site de sharing, pentru ca pe asta sunt virusi si nu pot descarca nimic. Si as vrea sa vad si eu ce faceti voi si, de ce nu, sa va ajut, daca pot.
Va multumesc.



               

ciprian333


                  Ma scuzati ca poate repet ceea ce sa mai scris pe forum, dar am nevoie rapid de un lisp care sa imi deseneze 3D in autocad punctele din ridicarea topo. Mentionez ca punctele sunt in fisier text pe care il atasaz mesajului.Daca se poate punctele sa fie si numerotate.  Multumesc anticipat.


               

ciprian333


                  Ma scuzati ca poate repet ceea ce sa mai scris pe forum, dar am nevoie rapid de un lisp care sa imi deseneze 3D in autocad punctele din ridicarea topo. Mentionez ca punctele sunt in fisier text pe care il atasaz mesajului.Daca se poate punctele sa fie si numerotate.  Multumesc anticipat. fisierul are extensia jpg trebuie schimbata txt deoarece nu pot ulpoad-a fisier text


               

ciprian333


                  Ma scuzati ca poate repet ceea ce sa mai scris pe forum, dar am nevoie rapid de un lisp care sa imi deseneze 3D in autocad punctele din ridicarea topo. Mentionez ca punctele sunt in fisier text in formatul de mai jos.Daca se poate punctele sa fie si numerotate.  Multumesc anticipat.

1,716694.9346,367035.1215,152.5281,1687811.1303,3934389.9862,4712197.0190,47.560824846095,23.130772899802,LIM,CEP:0.053,SEP:0.085,STATUS:FIXED,SATS:11,PDOP:2.627,HDOP:1.334,VDOP:2.263,DATE:09-28-2011,TIME:17:45:45
2,716710.6582,367035.1554,153.3037,1687806.4374,3934379.8670,4712208.1257,47.560875737362,23.130771341525,CC,CEP:0.062,SEP:0.089,STATUS:FIXED,SATS:8,PDOP:2.355,HDOP:1.327,VDOP:1.946,DATE:09-28-2011,TIME:17:49:01
3,716692.0329,367047.1204,151.7333,1687822.7732,3934386.5351,4712194.6682,47.560816337188,23.130831006688,LIM,CEP:0.017,SEP:0.042,STATUS:FIXED,SATS:13,PDOP:1.521,HDOP:0.917,VDOP:1.213,DATE:09-28-2011,TIME:17:50:08
4,716697.4999,367047.7086,151.7783,1687821.6077,3934382.6423,4712198.3719,47.560834074005,23.130833240682,SAP,CEP:0.015,SEP:0.033,STATUS:FIXED,SATS:13,PDOP:1.808,HDOP:1.062,VDOP:1.464,DATE:09-28-2011,TIME:17:50:56
5,716716.7013,367068.0191,151.7647,1687834.1088,3934361.3913,4712211.5303,47.560897711994,23.130928958466,LIM,CEP:0.016,SEP:0.042,STATUS:FIXED,SATS:12,PDOP:1.576,HDOP:1.001,VDOP:1.218,DATE:09-28-2011,TIME:17:53:43
6,716715.5570,367074.4061,152.1100,1687840.3836,3934359.7580,4712211.1175,47.560894478267,23.130959844440,LIM,CEP:0.016,SEP:0.045,STATUS:FIXED,SATS:11,PDOP:2.102,HDOP:1.153,VDOP:1.757,DATE:09-28-2011,TIME:17:54:24



               

John Doe


                  Pune punctele intr-un fisier cu extensia CSV, deschide-le cu Excel, filtreaza-le ca sa iese ca un fisier de coordonate si le poti raporta cu orice program obisnuit de raportare, de exemplu TopoLT.
Daca Excel nu-ti separa textul pe coloane dupa virgulele in fisierul CSV, inseamna ca nu-ti recunoaste virgula ca "list sepaator" - setarea asta o rezolvi din Control Panel. Si gata, nu ai nevoie de nici un LISP.
Sau, daca ti se pare prea complicat trimite-mi mie fisierul tau si in 5 minute iti raportez punctele si iti trimit inapoi desenul. Te costa o bere cand treci prin Sibiu.
Si... bun venit pe forum !



               

Atopor


                  Sau in word converteste textul in tabel cu delimitator virgula si elimina coloanele ce nu trebuiesc, iar apoi transforma tabelul in text cu ce delimitator vrei. Pentru raportare gasesti si pe forum mai multe exemple. Unul e topolt.


               

raptor


                  ciprian333 din ce vad ei modelul de fisier care l-ai prezentat se aseamana cu caietul de teren scos din padul unui aparat GPS SOUTH - daca e corect ai in pad la meniul import / export obtiunea de a exporta un fisier text in care sunt prezentate pe coloane numele punctului - coordonata X - coordonata Y - cota punctului - Z si descrierea punctului (cod ) -

asta e varianta cea mai scurta ca timp - daca nu  ar trebui sa urmezi sfatul lui John Doe care te va costa cateva minute  in plus la fiecare job separat 

 http://www.3xforum.ro/img/smilies/smile.png">



               

bianca.cad


                  Buna.
are cineva lispuri care ruleaza in Progecad?


_______________________________________
http://www.facebook.com/dMine.poezii/" target="_blank">www.facebook.com/dMine.poezii/