Temat: Jak wczytać koordonaty do AutoCAD ??
no tak ale civil to drogość znaczna. Szczerze powiedziawszy właśnie o lispie myślałem - wydaje mi się to najsensowniejsze wyjście bo można określić jak to ma wyglądać
Możliwe że należałoby w pewnym sensie "odwrócić" lispa który eksportuje punkty z cada do pliku zewn.
ten poniżej eksportując klikane punkty dodaje do nich liczbę porządkowa z narysowanym punktem (np krzyżyk) - u mnie odwrotnie: trzeba żeby te punkty które wczytujemy tak właśnie się numerowały
Ale tutaj już musiałbym zdać sie na uprzejmość Pana lub kogoś i wytłumaczenie jak to zrobić metodą z blokami (poprzedni post) lub jako lisp (niestety nie znam jezyka lisp-owego) - moze ktoś umiałby przerobić poniższego lub miałby coś odpowiadającego założeniom :)
z góry dziękuje
treść lispa autorstwa Pana Dariusza Ptaszkiewicza poniżej:
;;; ---------------------------------------------------------------------------------- ;;;
(defun c:nxyz(/ NR NP ZN PD B old_cmdecho)
(setq old_cmdecho (getvar "cmdecho"))
(setvar "cmdecho" 0)
(initget (+ 1 2 4))
(setq NR (getint "\nPodaj numer pierwszego punktu:"))
(setq B (getreal "\Podaj wysokosc textu:"))
(setq NP (getfiled "Wpisz nazwe pliku" "" "txt;csv;xls" 1))
(setq ZN (getstring "\Czy wstawiac znacznik punktu [T/N]:"))
(SETQ PD (open NP "W"))
(WRITE-line (strcat "Nr" "Y" ";" "X" ) PD)
(while
(setq WSKAZ_PUNKT (getpoint "\nWskaz punkt"))
(setq WSPÓŁRZEDNA_Y (RTOS (cadr WSKAZ_PUNKT) 2 4))
(setq WSPÓŁRZEDNA_X (RTOS (car WSKAZ_PUNKT) 2 4))
(setq LINIA
(strcat (rtos NR) WSPÓŁRZEDNA_Y ";" WSPÓŁRZEDNA_X );strcat
)
(WRITE-line LINIA PD)
(if (or (= ZN "t")(= ZN "t"))
(progn
(DRAW_PUNKT)
(DRAW_TEXT)
)
(DRAW_TEXT)
)
(setq NR (1+ NR))
);WHILE
(close PD)
(setvar "cmdecho" old_cmdecho)
(princ "\nKoniec")
(princ)
);defun
;;; ---------------------------------------------------------------------------------- ;;;
(defun DRAW_TEXT (/)
(command "_layer" "_m" "nxyz-nr" "_c" "7" "" "")
(command "_text" WSKAZ_PUNKT B "0" NR)
);defun
;;; ---------------------------------------------------------------------------------- ;;;
(defun DRAW_PUNKT (/ d kat_90 kat_270 p1 p2 p3 p4)
(command "_layer" "_m" "nxyz-pk" "_c" "7" "" "")
(setq d (/ B 2))
(setq kat_90 (/ pi 2))
(setq kat_270 (* 3 kat_90))
(setq p1 (polar WSKAZ_PUNKT kat_90 d))
(setq p2 (polar WSKAZ_PUNKT kat_270 d))
(setq p3 (polar WSKAZ_PUNKT 0 d))
(setq p4 (polar WSKAZ_PUNKT pi d))
(command "_osmode" "0" "")
(command "_line" p1 p2 "")
(command "_line" p3 p4 "")
);defun
;;; ---------------------------------------------------------------------------------- ;;;
(princ
(strcat
"NXYZ.Lsp (C) Dariusz Ptaszkiewicz"
" [e-mail:dp@cad.pl]"
"\nPolecenie: nxyz "
)
)
;;; ---------------------------------------------------------------------------------- ;;;
;;; ---------------------------------------------------------------------------------- ;;;
;;; ---------------------------------------------------------------------------------- ;;;