2011.07.20 15:09, Laimis rašė:
> 'uzrso', 'licenzijais'. ;-)
Geriau nei krakobriazai vietoj Unicode simbolių. Prieš ~5 metus
AutoCAD'as normaliai priėmė NLS'us, o dabar nuo r2010 - 2011 kiek pagedo.
> Ar daug skiriasi nuo originalaus lisp'o?
> (ne visavertis atitikmuo, bet viskas kaip ant delno; galima persidaryti)
GETSTRINGD / GETDISTD atsirado :)
su kuom? Turiu ir daugiau VLX'ų, kuriu LSP dingę istorijos šiukšlėse.
(defun C:PT_ID
;; (_al-bind-alist '(ATT1 ATT2 ID:XVALUE ID:YVALUE ENT))
(setq PT (GETPOINT "\n Taskas: "))
(command ".-insert" ID:MARK PT ID:SCALE ID:SCALE "")
(PT_ID:ATTMOD (ENTLAST))
)
(defun PT_ID:ATTMOD (BLOCK)
;; kažkur ciklas dingęs. Atributų gali būti >2
(setq ENT BLOCK
ATT1 (ENTNEXT ENT)
ATT2 (ENTNEXT ATT1)
ATT1 (ENTGET ATT1)
ATT2 (ENTGET ATT2)
PT (CDR (ASSOC 10 (ENTGET ENT)))
PT (TRANS PT 0 1)
ID:XVALUE (STRCAT "X= " (RTOS (* ID:LSCALE (CADR PT))))
ID:YVALUE (STRCAT "Y= " (RTOS (* ID:LSCALE (CAR PT)))))
;; čia turi suktis ciklas, nes atributų reikšmės nebūtinai eina iš eilės
(setq ATT1 (SUBST (CONS 1 ID:XVALUE) (ASSOC 1 ATT1) ATT1))
(ENTMOD ATT1)
(setq ATT1 (SUBST (CONS 1 ID:YVALUE) (ASSOC 1 ATT1) ATT1))
(ENTMOD ATT1)
(setq ATT2 (SUBST (CONS 1 ID:XVALUE) (ASSOC 1 ATT2) ATT2))
(ENTMOD ATT2)
(setq ATT2 (SUBST (CONS 1 ID:YVALUE) (ASSOC 1 ATT2) ATT2)))
(ENTMOD ATT2) ;; bent jau
--
ejs