l33tleboy

Użytkownik forum
  • Postów

    2
  • Dołączył

  • Ostatnia wizyta

Odpowiedzi opublikowane przez l33tleboy

  1. Witam serdecznie,

    jestem nowym użytkownikiem forum i zaznacza, iż nie znam się na programowaniu lisp. Chciałbym prosić Was o pomoc w dostosowaniu poniższego kodu źródłowego do środowiska ZWCAD + (posiadam wersję 2015). Dotychczas używałem autcada 2004 na którym lisp działał bez problemu.

    Po przesiadce na ZWCADa i wywołaniu komendy lispa wyskakuje błąd:

    ; błąd: no function definition:  DXF

    Posiadam jeszcze kilka innych drobnych lispów , w których problem z błędem "DXF" się powtarza.

    Bardzo proszę o pomoc w tej sprawie.

     

    obraca blok lub tekst równolegle do wskazanej lini

    (defun c:blr (/ linia blok pt1 pt2 kat kat_stary pkt_wst obiekt) 

      (setq linia nil)

      (while (= linia nil)

        (setq linia (car (entsel "\nWskaz linie: ")))

        (if       (and (/= linia nil) (/= (dxf 0 (entget linia)) "LINE"))

          (setq linia nil)

          );if

        );while

     

      (setq blok (car (entsel "\nWskaz blok lub tekst: ")))

      (if blok

        (progn

          (setq obiekt (dxf 0 (entget blok)))

          (if (or (= obiekt "TEXT") (= obiekt "INSERT"))

                    (progn

                      (setq pt1 (reverse (cdr (reverse (cdr (assoc 10 (entget linia))))))

                                   pt2 (reverse (cdr (reverse (cdr (assoc 11 (entget linia))))))

                                   kat (angle pt1 pt2)

                                   kat_stary (cdr (assoc 50 (entget blok)))

                                   pkt_wst (reverse (cdr (reverse (cdr (assoc 10 (entget blok))))))

                                   )

                      (if (AND (< (/ pi 2) kat)  (> (+ (/ pi 2) pi) kat ))

                        (setq kat (- kat pi))

                        )

                      (command "_rotate" blok "" pkt_wst "_r" (angtos kat_stary 0 4) (angtos kat 0 4))

                      ));if

          ));if blok

     

     

      );defun blr