Scripturi in LISP AutoLISP

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

« precedentul - următorul »

Corvinus


                  ms mult doru pt lamuriri si advex pt informatii, o sa ma documentez sa incerc si eu sa fiu mai eficient. Ms mult inca odata.


               

klu_naravas


                  nu se baga nimeni sa ajute si un sarman topometrist....


               

John Doe


                  Pentru Corvinus:

Hai sa-ti dau o idee cu profilurile: fa-ti terenul o retea tip "mesh", pe urma expodeaz-o, iti va rezulta o colectie de entitati "3dface", cu care te poti descurca mult mai usor in materie de profile, curbe de nivel, interpolari.

Mai este un utilitar la care-i spune PROFIL sau PROFILE, merge sub DOS, îi dai fisierul de coordonate [nume punct  X  Y  Z], pe urma îi spui aproximativ numele punctelor cele mai apropiate de profilul tau si scarile pe lungime si inaltime si-ti scoate un DXF destul de misto.

Bafta !



               

diagodose2009


                  BRAVO topodavlad, chiar dacă şi eu calculez automat suprafeţele cu un program lisp adaptat pentru formatul propriu de releveu - şi scuteşte de mult timp întocmirea unui releveu. Încercările de programe lisp ale user-ului topodvlad mi se par benefice, [ furăciuni de autolisp sunt în tot INTERNET-ul ].
.............
Aşa că este legal, poate nu extrage din TopoLT subprograme lisp,
dar găseşti şi pe GOOGLE.com fisiere sursă lisp.
 Limbajul lisp are o deficienţă mare, nu există opţiunea de compilare
a programelor lisp acceptată  de intellicad şi zwcad, (excepţie vlx-ul din internă autocad).

Modificat de diagodose2009 (04-12-2009 21:18:10)


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


               

viozel


                  cine ma poate ajuta cu un lisp pt generare taluz, sau un dume ceva


               

John Doe


                  De ce Lisp pt. generare taluz ? Ai fisierul de definitii de linii, acolo sunt mai multe tipuri de linii pentru taluzuri. Daca chiar nu gasesti, cauta alt fisier cu extensia LIN si vezi pe-acolo ce gasesti (parca este topo.lin).
Nu stiu ce sunt alea dume (daca vorbim serios), cu asta nu te pot ajuta.



               

advex


                  viozel:
La http://www.glamsen.se/CadTools.htm" target="_blank">http://www.glamsen.se/CadTools.htm gasesti o aplicatie utila care te va ajuta in generarea liniilor dorite de tine + alte solutii bune pentru topografi.

Spor!

Modificat de advex (10-03-2009 16:49:54)


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


               

viozel


                  scz de "dume", ma interesau de fapt NUME de aplicatii ce ma pot ajuta http://www.3xforum.ro/img/smilies/smile.png">


               

John Doe


                  Da, advex, dar stii ce e interesant ? Este FOARTE greu de apasat F1 daca nu stii ceva, si, se pare, mult mai usor de postat aici. Ca cineva tot "musca". Iar stilul asta ma enerveaza.
Scuze pentru exprimare, nu m-am adresat nimanui direct... dar  exista si chestiuni pe care nu le înghit. Fiecare cu defectele lui...



               

viozel


                  stiam de existenta unui LISP pt asa ceva si cautam in special pe acesta, cat despre utilizarea acadului mai am multe de invatat, folosesc si f1, experiente de tot felul, dar depinde si de timpul avut la dispozitie. sincer la a cata postare a fost (prima)  nici nu ma asteptam la ceva in timp relativ scurt, dar se vede ca m-am inselat si multam celor care au sarit in ajutor.




P.S. oricum parerea fiecaruia trebuie respectata http://www.3xforum.ro/img/smilies/smile.png">



               

advex


                  Daca tot vorbim de taluz, de rampe... credeti ca la constructia din foto a participat si vreun topograf la trasare?


450/356px  27.5KB


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


               

John Doe


                  viozel:

Spune-mi (daca vrei) ce adresa de mail ai, si-ti trimit eu un fisier de definitii de linii care are si vreo 3-4 linii de tip taluz. Daca nu stii ce sa faci cu el, zi-mi si-ti spun - nu ma apuc acum fiindca poate deja stii. Ar trebui sa mai stiu daca desenele tale le mai dai si altora, care poate nu au fisierul respectiv - se rezolva si asta.

De LISP-ul ala n-am auzit.... probabil foloseste comanda "divide" sau "measure" si-ti insereasa un block din loc in loc.... daca e asa, nu te-as sfatui sa-l folosesti, mai mult te incurci. Foloseste pur si simplu linia de tip TALUZ, vezi la ce scara iti convine si gata.



               

John Doe


                  Probabil o sa incep sa postez diferite utilitare LISP; daca veti fi interesati, voi continua. Primul este:

;;;Cere inaltimea dorita a textelor de modificat si le aduce la aceasta marime pe toate cele selectate,
;;; , si se pot muta daca se doreste. Se repeta cu CR sau click-dreapta.

(setq htext (getreal "\nMarimea textului: " ))
(defun C:HT()
(setq a (entget(car(entsel "\nSelectati textul de modificat: " ))))    ;;;selectam textul = a
   (progn
    (setq a (subst (cons 40 htext) (assoc 40 a) a))
        (entmod a)
    );;;de la PROGN

(command "move"  (cdr (car a)) "" )    ;;;de obicei trebuie si mutate dupa rotire
        );;;DEFUN

(princ "\nLansare cu comanda HT" )



               

John Doe


                  Si al doilea:

;;;SCRIE IN FISIERUL "PUNCTE.XYZ" X, Y, SI Z DE LA PUNCTELE SELECTATE ; cere numele punctului
;;;FISIERUL ARE FORMA:  PCT  Y  X  Z
;;;Pentru extragere coordonate si numerotare puncte

(defun c:zx()
(while
    (setq fis (open "c:\\puncte.xyz" "a" ))
    (setq pct (getpoint "\nSelectati punctul:" ))
    (setq x (rtos (car pct) 2 3)
          y (rtos (cadr pct) 2 3)
          z (rtos (caddr pct) 2 3))
    (setq nume (getstring T "\nNume punct?" ))
    ;;;(command "text" (list (+ 1.2 (car pct)) (+ 1.2 (cadr pct))) "0" nume)
    (setq linie (strcat nume " " y " " x " " z))
    (write-line linie fis)
    (close fis)
        );;;WHILE pentru selectie nula
            );;;DEFUN
(princ "\nLansare cu ZX" )
(princ "\nSuspendare cu ENTER" )



               

John Doe


                  Uneori, am avut de adus la unghiul zero (directia = East) mai multe texte de pe o plansa, pe care le scrisese altcineva la tot felul de unghiuri. Mi-a fost mai usor cu lispul de mai jos:

;;;ADUCE TEXTELE SELECTATE  LA UNGHIUL 0  (ASSOC 50)
;;;se poate introduce comanda de mai jos pt. setare unitati
;;;(command "units" "2" "3" "3" "4" "0.0000" "Y" ) (graphscr)

(defun C:RT()

(setq a (entget(car(entsel "\nSelectati textul de rotit: " ))))    ;;;selectam textul
   (progn
    (setq a (subst (cons 50 0) (assoc 50 a) a))
        (entmod a))
(command "move"  (cdr (car a)) "" )    ;;;de obicei trebuie si mutate dupa rotire
        )    ;;;DEFUN

(princ "\nLansare cu comanda RT" )