na końcu posta pokazałem program działa bardzo fajnie
( klikasz punkty pojedynczo ) pojawia się numer
na rysunku przy klikniętym punkcie o wybranym rozmiarze tekstu opisu
a później wszystkie punkty wskazane są eksportowane (X,Y,Z ) do pliku txt wraz z numerem punktu
chciałbym wprowadzić dwie litery a...z jako indeks do numeru pokazującym się na rysunku
chciałbym by program zaznaczał punkty
1aa , 2aa .........
1ab.....2ab......
lub 1bb..2bb
lub ... dowolna kombinacja dwóch znaków
BARDZO WAŻNY BY NIE WYBIERAĆ PUNKTÓW POJEDYNCZYM KLIKNIĘCIEM
a ZAZNACZYĆ WIELE PUNKTÓW OBSZAREM WSKAZANIA
prosta zamieniona na kropki w autocadzie
. . . . . . . . . . . . . . .
po uruchomieniu Lispa
. . . . . . . . . . . . . . .
1 15
a a
a a
chciałbym aby to wszystko nabierało koloru który wybiorę
;;; ---------------------------------------------------------------------------------- ;;; (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 © Dariusz Ptaszkiewicz" " [e-mail:dp@cad.pl]" "\nPolecenie: nxyz " ) ) ;;; ---------------------------------------------------------------------------------- ;;; ;;;
BARDZO BYM PROSIŁ O TAKI SAM PROGRAM KTÓRY
PRACOWAŁBY NA OKRĘGACH a nie na punktach
Zaznaczam obszar z okręgami NIE POSZCZEGÓLNE OKRĘGI !
a one zostają opisane na rysunku indexem i róznymi kolorami
( otwory fi 10.5 indeks 1aa....2bb ) kolor dowolny inny niż biały
( otwory fi 15.00 indeks 1zc ....2zc ) kolor inny niż fi10.50 i tak dalej
współrzędne środków otworów/ średnice chciałbym mieć w pliku tekstowym
wygenerowanym po zaznaczeniu otworów
PROBLEM KTÓRY MI ROZWIĄŻE POWYŻSZY LISP ?
NAKŁADKI DLA GEODEZJI
MOGĄ SPOKOJNIE SZUKAĆ KLIENTÓW NA RYNKU OBRÓBKI CNC
( tej nawet bardzo zaawansowanej wielo osiowej !!! )
bardzo łatwo można sterować ruchem narzędzia w autocadzie
wklejam model blachy którą frezuje jest to kostka metalu
( program może tą kostke widzieć jako chmurę punktów o różnej gęstości w zależności od precyzji )
później jeżdżę po tej kostce narzędziem
a narzędzie rusza się tak jak mu to narysowano ( analogia do drogi i projektanta trasy )
Budując program CNC mówię maszynie jakie ma założyć narzędzie
Później wybieram prędkość posuwu / prędkość obrotów/ kierunek obrotów i rodzaj chłodziwa nadmuch/ ciecz