Scripturi in LISP AutoLISP

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

« precedentul - următorul »

John Doe


                  Inca unul, de conceptie proprie:

Code:

;;;utilitar pentru mutare rapida entitati


(defun C:QM ()
(setq ob (entsel))
(setq cord (assoc 10 (entget (car ob))))
(setq x (cadr cord))
(setq y (caddr cord))

(command "move" (car ob) "" (list x y) pause)

    )

(princ "Lansare cu comanda QM")

Il folosesc dupa ce am numerotat si facut tabel cu inventarul de coordonate la un contur, si trebuie mutate putin din loc numerele punctelor, ca nu se vad bine. Lucrez cu ENTER=repeat last command, si merge destul de repede. "QM" m-am gândit eu ca ar da bine ca vine de la Quick Move.



               

poescuTOPO


                  De curand am finalizat o aplicati in lsp care genereaza lucrarea de cadastru + anexele OCPI automat. Tot ce trebui facut este fisierul cpxml dupa care se incarca in aplicatie si si cu citeva klicuri gata lucrarea.

Aplicatie este limitata la 20 de utilizari. Pentru cine vrea sa o foloseasca in continuare percep un tarif de 200lei cred ca suma respectiva este modica la ce poate sa faca.


Pentru cei interesati interesati o puteti descarca de la


http://www.fileshare.ro/72672540661.1" target="_blank">http://www.fileshare.ro/72672540661.1


400/436px  27.7KB



               

oak


                  
poescuTOPO a scris:

De curand am finalizat o aplicati in lsp care genereaza lucrarea de cadastru + anexele OCPI automat. Tot ce trebui facut este fisierul cpxml dupa care se incarca in aplicatie si si cu citeva klicuri gata lucrarea.

Aplicatie este limitata la 20 de utilizari. Pentru cine vrea sa o foloseasca in continuare percep un tarif de 200lei cred ca suma respectiva este modica la ce poate sa faca.


Pentru cei interesati interesati o puteti descarca de la


http://www.fileshare.ro/72672540661.1" target="_blank">http://www.fileshare.ro/72672540661.1



Da multa minte mai ai. Cind iti mai fata mintea idei din astea trimite si noua cate un pui se le inmultim

Modificat de oak (10-07-2012 16:44:36)



               

John Doe


                  Nu incarcati in AutoCAD, este o gluma proasta.

@popescuTOPO: astept niste explicatii de la tine, daca vrei sa mai vizitezi forumul.



               

poescuTOPO


                  Scuze de gluma.
 http://www.3xforum.ro/img/smilies/razz.png">  http://www.3xforum.ro/img/smilies/razz.png"> aici e varianta buna   http://www.fileshare.ro/72696065165.1" target="_blank">http://www.fileshare.ro/72696065165.1



               

cadian


                  Pe bune??? Te-a deranjat cineva cu ceva?


               

zamfy


                  Bravo, Poescu_topo! Esti un geniu. Daca tot esti asa de "talentos" in LISP, ce-ar fi sa faci si ceva util, ca la "glume" ne pricepem si noi. L-ai facut de 1.3 MB ca sa para mai profesional, nu? Dar compilarea VLX lasa de dorit, ma dezamagesti. Un fisier TEAPA.fas, care arata cam asa:

Code:

(defun teapa ()
(alert "Se lanseaza cu comanda CP")
(alert "Mai aveti 20 de utilizari")
(alert "Mai aveti 19 utilizari")
(alert "Mai aveti 18 utilizari")
(alert "Mai aveti 17 utilizari")
(alert "Mai aveti 16 utilizari")
(alert "Mai aveti 15 utilizari")
(alert "Mai aveti 14 utilizari")
(alert "Mai aveti 13 utilizari")
(alert "Mai aveti 12 utilizari")
(alert "Mai aveti 11 utilizari")
(alert "Mai aveti 10 utilizari")
(alert "Mai aveti 9 utilizari")
(alert "Mai aveti 8 utilizari")
(alert "Mai aveti 7 utilizari")
(alert "Mai aveti 6 utilizari")
(alert "Mai aveti 5 utilizari")
(alert "Mai aveti 4 utilizari")
(alert "Mai aveti 3 utilizari")
(alert "Mai aveti 2 utilizari")
(alert "Mai aveti 1 utilizari")
(alert "Mai aveti 0 utilizari")
(alert "?????????????????????")
(alert "Inca nu s-a lansat?")
(alert "Nasol")
(alert "Acum sigur se va lansa")
(alert "Nu s-a lansat?")
(alert "Se pare ca nu")
(alert "Va rugam incercati din nou")
(alert "Merge?")
(alert "Se pare ca nu, e nasol!")
(alert "Gata cu gluma!")
(alert "Trecem la munca!")
(alert "Dar esti sigur ca ai chef de munca?")
(alert "Ajunge cu munca, fa o pauza")
(alert "Daca nu, te ajut eu")
(alert "Teapa, in programul respectiv se afla un virus")
(alert "Mai ai 10 secunde pana la busirea calculatorului")
(alert "10")
(alert "9")
(alert "8")
(alert "7")
(alert "6")
(alert "5")
(alert "4")
(alert "3")
(alert "2")
(alert "1")
(alert "0")
(alert "AHAAAAAAA!")
(alert "10")
(alert "9")
(alert "8")
(alert "7")
(alert "6")
(alert "5")
(alert "4")
(alert "3")
(alert "2")
(alert "1")
(alert "0")
;;chestia asta se repeta de vreo 200 de ori
)
(teapa)

Iar la faza cu virusul, aproape era sa fac infarct, noroc ca am avut o sticla cu apa langa mine. Sau ai profitat de faptul ca un virus in LISP chiar exista? (a se vedea aici: http://topograf.3xforum.ro/post/4187/1/Spyware_cu_Autolisp/" target="_blank">http://topograf.3xforum.ro/post/4187/1/ ... _Autolisp/).
Totusi, ca sa lasam gluma la o parte, postez mai jos 3 utilitare:



               

zamfy


                  

Code:

(defun c:dfd ()
 (command "start" (strcat "explorer " (getvar "dwgprefix")))
 (princ)
 )

Acest utilitar deschide in windows explorer folderul dwg-ului in care lucrati. Comanda este ->dfd.



               

zamfy


                  Deoarece layer managerul din AutoCAD 2007 nu prea fucntioneaza cum trebuie in Windows 7, acest utilitar creeaza rapid layere, fara a mai folosi managerul:

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)
 )

Ruleaza cu comanda -> nl. Comanda intr-un lisp o gasiti intotdeauna dupa sintagma "defun c:nume_comanda (argumente)".
P.S.: Mi-a fost lene sa scriu (princ "\n Se lanseaza cu comanda nl") la final.

Modificat de zamfy (10-07-2012 19:40:09)



               

zamfy


                  Si inca o comanda care combina paste to original coordinates cu zoom->object-> last. Colegii mei au devenit dependenti de ea.

Code:

(defun c:xx ()
(command "pasteorig")
(command "_zoom" "o" "l" "")
(prin1)
)

Se lanseaza cu comanda-> xx.
Mai revin maine cu cateva scripturi mici, dar foarte utile.

@PoescuTOPO, poate pana la urma ne arati si noua programul real, ca avem nevoie de concurenta.
Am si eu un program asemanator, care face anexele, CP-ul si ce mai trebuie (am facut vreo 10 lucrari pana acum cu el si au trecut toate), dar deocamdata e doar pentru prima inscriere si doar pentru persoane fizice.
E facut doar in Lisp, fara DCl, nu are handling de erori, nu este profesional, PAD-urile pe care le genereaza sunt putin diferite fata de modelul din ordin (la OCPI le accepta), nu are ferestre de dialog, ci foloseste un bloc cu atribute pentru a completa datele, nu face CP multiplu (nu am facut niciodata unul, nici nu stiu sa-l fac), iar datele completate trebuie sa respecte un anumit format, pentru ca programul sa recunoasca corect adresele, numele proprietarilor, actele, tipul constructiilor etc.
In schimb, merge atat la intravilan, cat si la extravilan, suporta 2 proprietari, pana la 5 parcele, pana la 5 constructii, detecteaza automat scara planului, detecteaza automat codurile SIRSUP si SIRUTA (daca adresa este completata corect). Este separat in 3 module:
-cel care face doar PAD-ul;
-cel care genereaza anexele
-cel care face fisierul CP. Acestea se pot folosi individual sau laolalta, deoarece folosesc acelasi set de variabile.Pentru un incepator ca mine, eu zic ca a iesit destul de bine, am muncit destul de mult la el (are aproape 5000 de linii de cod.).
Daca vrea cineva, o sa fac un filmulet in care voi arata cum functioneaza. Dupa ce il mai finisez putin (deja e la versiunea 2.9.1), o sa il pun aici si va fi gratis (asta ca sa nu fiu tras la raspundere ca nu merge, e naspa, o porcarie etc.).

Modificat de zamfy (10-07-2012 20:04:13)



               

John Doe


                  @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.

@popescuTOPO: linkul cu varianta corecta a programului duce la un fisier care nu exista. E alta gluma?



               

diagodose2009


                  Draga zamfy,programele tale sunt jucarii pe langa sursele de autolisp incluse deja
in programul VlaxCompiler.
======>>>>>>>>>>Deci te rog , tu nu mai posta  scripturile milimetrice
De exemplu :  programul lisp contine o  librarie cu  1200de functii  care  in total
pe disk sursele au dimensiunea de 1MB surse LISP..
Aceasta librarie de surse LISP  este ousa gratuit pentru toti utilizatori..programului vlaxcompiler
Daca vrei surse de programe LISP puternic modularizate pe functii de dimensiuni mari
http://lisp2arx.3xforum.ro/userlist.php" target="_blank">http://lisp2arx.3xforum.ro/userlist.php
Deci  tu iti poti construi propriile programe LISP pe baza acestei librarii
Mai jos vezi lista functiilor  in autolisp:
http://www.puiubrat.3x.ro/lisp2arx/ccpp2lsp/lisp_topoglist.txt" target="_blank">http://www.puiubrat.3x.ro/lisp2arx/ccpp ... oglist.txt
Ruleaza cu comanda -> nl. Comanda intr-un lisp o gasiti intotdeauna dupa sintagma "defun c:nume_comanda (argumente)".

Modificat de diagodose2009 (13-07-2012 14:48:41)


_______________________________________
http://we.tl/D8HOKFyTJ7" target="_blank">http://we.tl/D8HOKFyTJ7


               

Atopor


                  Poate ne spui si noua ce e cu pomelnicul acela!


               

advex


                  
diagodose2009 a scris:


Daca vrei surse de programe LISP puternic modularizate pe functii de dimensiuni mari
http://lisp2arx.3xforum.ro/userlist.php" target="_blank">http://lisp2arx.3xforum.ro/userlist.php


La ce serveste lista de useri de la adresa indicata?
De la lansarea din 02.02.2011 s-a ajuns astazi la performanta: 44 useri inregistrati, 23 subiecte si 38 mesaje
Ceva nu functioneaza: sunt multi nepriceputi in lucrul cu programe autolisp sau tu nu transmiti corect informatiile...
Lasa agresivitatea si remarcile ironice privind programele milimetrice si lanseaza teme de discutie serioase, provocari pentru userii de pe acest forum!


_______________________________________
http://info-topograf.blogspot.ro/" target="_blank">http://info-topograf.blogspot.ro/


               

diagodose2009


                  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)
 )



_______________________________________
http://we.tl/D8HOKFyTJ7" target="_blank">http://we.tl/D8HOKFyTJ7