Proszę o pomoc w przerobieniu pliku Lispa


Rekomendowane odpowiedzi

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

Edytowane przez maciejmar111
Odnośnik do komentarza
Udostępnij na innych stronach

Generalnie ZWcad bije na głowę Autocada

 

Teza oparta na jakichś przykładach?

Pod względem składni LISP do ZWCADa i do AutoCADa jest taki sam. Natomiast ze względu na ochronę praw autorskich programy LISP zwykle są kompilowane (AutoCAD) lub szyfrowane (ZWCAD).  Jeśli się nie mylę to zaszyfrowanego w ZWCAD plik LSP lub ZEL nie można wczytać w AutoCadzie.

 

Pliki lsp w AutoCAD są plikami tekstowymi. Edytor Visual LISP może kompilować pliki lsp do dwóch formatów: fas (fast lsp), oraz do vlx, gdzie oprócz tekstowego lsp, można dołączyć definicje okien dialogowych dcl. Kompilacja jako taka, chroni (ukrywa) kod przed nieautoryzowanym wykorzystaniem, właściwie "przy okazji". Celem kompilacji jest przede wszystkim zoptymalizowanie działania kodu,i w efekcie przyspieszenie działania. Różnice w szybkości między interpretowanym tekstowym lsp a skompilowanym vlx, mogą w skrajnych przypadkach być nawet 10-12 krotne.

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie