_

Lisp w A2013 działa a w A2019 już nie - proszę o pomoc

Forum poświęcone flagowemu produktowi oraz aplikacjom pochodnym Autodesku. To jedyne forum mające w tytule nazwę programu, a to ze względu na jego olbrzymią popularność w Polsce. Można tutaj umieszczać również posty z ogólnie pojętej tematyki "Kreślarskie 2D".

Lisp w A2013 działa a w A2019 już nie - proszę o pomoc

Postprzez Tato » sie 05, 2019 14:02

Witam,
mam w A2013 taki prosty lisp hk.lsp, który wstawia kotę wysokościową (jako blok z atrybutem hk.dwg) z wartością y punktu wstawienia. Ale zmieniam wersję na A2019 i tu niemiła niespodzianka - nie działa. A dokładniej zgłasza się takie okno (plik: A2019 - okno HK błąd.JPG). W lispie jest kilka opcji (stan wykończony, surowy, z dodatkowym opisem) ale błąd zawsze ten sam. Niewiele znam się na lispach i w tym przypadku nie wiem, gdzie jest błąd. Będę wdzięczny za pomoc. Pozdrawiam
Załączniki
hn.dwg
(19.58 KiB) Pobrane 143 razy
hk.lsp
(3.04 KiB) Pobrane 139 razy
A2019 - okno HK błąd.JPG
Tato
 
Posty: 12
Dołączył(a): mar 11, 2013 13:26

Re: Lisp w A2013 działa a w A2019 już nie - proszę o pomoc

Postprzez kojacek » sie 05, 2019 22:14

Tato napisał(a):Witam,
mam w A2013 taki prosty lisp hk.lsp, który wstawia kotę wysokościową (jako blok z atrybutem hk.dwg) z wartością y punktu wstawienia. Ale zmieniam wersję na A2019 i tu niemiła niespodzianka - nie działa. A dokładniej zgłasza się takie okno (plik: A2019 - okno HK błąd.JPG). W lispie jest kilka opcji (stan wykończony, surowy, z dodatkowym opisem) ale błąd zawsze ten sam. Niewiele znam się na lispach i w tym przypadku nie wiem, gdzie jest błąd. Będę wdzięczny za pomoc. Pozdrawiam


<klik>
kota.gif


Dla polecenia HN (blok HN) działający kod mógłby wyglądać tak:

Kod: Zaznacz cały
;=================================================================
;hn - wstawia blok z atrybutem (z pliku hn.dwg) - stan wykończony:
(defun c:hn (/ a y s q d c)
  (setq a (getvar "dimzin")
        q (getvar "ATTREQ")
        d (getvar "ATTDIA")
        c (getvar "CMDECHO")
  )
  (setvar "CMDECHO" 0)
  (setvar "ATTREQ" 1)
  (setvar "ATTDIA" 0)
  (princ "\nPunkt wstawienia koty: ")
  (command "_-insert" "hn" "_s" (getvar "dimscale") "_r" "0" pause
    (progn
      (setvar "dimzin" 0)
      (setq y (cadr (getvar "lastpoint"))
            s (rtos (abs (/ y 100)) 2 3)
      )
      (setvar "dimzin" a)
      (if (= s "0.000") (strcat "%%p" s)
          (if (minusp y) (strcat "-" s)
              (strcat "+" s)
          )
      )
    )
  )
  (setvar "ATTREQ" q)
  (setvar "ATTDIA" d)
  (setvar "CMDECHO" c)
  (princ)
)
;koniec hn


Oczywiście ogólnie narzędzie mogłoby być zrobione również bardziej profesjonalnie - tu to tylko poprawienie starego kodu.
Avatar użytkownika
kojacek
 
Posty: 5553
Dołączył(a): paź 03, 2005 20:17

Re: Lisp w A2013 działa a w A2019 już nie - proszę o pomoc

Postprzez Tato » sie 08, 2019 11:09

Dziękuję - pomogło - działa. Pozostałe opcje odpowiednio dopasowałem. Pozdrawiam
Tato
 
Posty: 12
Dołączył(a): mar 11, 2013 13:26


Powrót do AutoCAD

Kto przegląda forum

Użytkownicy przeglądający ten dział: lucjanornik