;;;***************************************************** ;;;*** FUNZIONI DI OSCURAMENTO DI ENTITA'NEL DISEGNO *** ;;;***************************************************** (Defun C:OSCURA (/ str tipo) (setq str "S") (setq str "\nOSCURA [Blocchi/Linee/Polilinee/Retini/Testi/Wipeout/Quote/Selezione/Entitą] : " ) ;_ end of setq (setq tipo (strcase (GETSTRING str))) (IF (= tipo "") (setq tipo "S") ) ;_ fine IF ;;; Richiamo le funzioni di OSCURAmento (IF (or (= tipo "B") (= tipo "BLOCCHI")) (-BBB) ) ;_ fine IF (IF (or (= tipo "L") (= tipo "LINEE")) (-LLL) ) ;_ fine IF (IF (or (= tipo "P") (= tipo "POLILINEE")) (-PPP) ) ;_ fine IF (IF (or (= tipo "R") (= tipo "RETINI")) (-RRR) ) ;_ fine IF (IF (or (= tipo "T") (= tipo "TESTI")) (-TTT) ) ;_ fine IF (IF (or (= tipo "W") (= tipo "WIPEOUT")) (-WWW) ) ;_ fine IF (IF (or (= tipo "Q") (= tipo "QUOTE")) (-QQQ) ) ;_ fine IF (IF (or (= tipo "S") (= tipo "SELEZIONE")) (-SSS) ) ;_ fine IF (IF (or (= tipo "E") (= tipo "ENTITĄ")) (-EEE) ) ;_ fine IF (princ "\nTerminato oscuramento!") (prin1) ) ;_ fine Defun ;;;*** OSCURA TUTTI BLOCCHI *** (DEFUN -BBB (/ zgru zgrunum i obj blkname) (setq blkname (getstring "\nStringa nome da ricercare (invio per tutti i blocchi): " ) ;_ end of getstring ) ;_ end of setq (if (= blkname "") (setq zgru (SSGET "_X" '((0 . "INSERT"))) zgrunum (SSLENGTH zgru) i 0 ) ;_ fine setq (setq zgru (SSGET "_X" (list (cons 0 "INSERT") (cons 2 (strcat "*" blkname "*")) ) ;_ end of list ) ;_ end of SSGET zgrunum (SSLENGTH zgru) i 0 ) ;_ fine setq ) ;_ fine if (WHILE (< i zgrunum) (setq obj (SSNAME zgru i)) (redraw obj 2) (setq i (1+ i)) ) ;_ fine WHILE ) ;_ fine DEFUN ;;; *** OSCURA LINEE, ARCHI, CERCHI E SIMILI *** (defun -LLL (/ zgru zgrunum i obj) (setq zgru (SSGET "_X" '((-4 . "") ) ) ;_ fine SSGET zgrunum (SSLENGTH zgru) i 0 ) ;_ fine setq (WHILE (< i zgrunum) (setq obj (SSNAME zgru i)) (redraw obj 2) (setq i (1+ i)) ) ;_ fine WHILE ) ;_ fine defun ;;;*** OSCURA TUTTE LE POLILINEE *** (DEFUN -PPP (/ zgru zgrunum i obj) (setq zgru (SSGET "_X" '((0 . "LWPOLYLINE"))) zgrunum (SSLENGTH zgru) i 0 ) ;_ fine setq (WHILE (< i zgrunum) (setq obj (SSNAME zgru i)) (redraw obj 2) (setq i (1+ i)) (PRIN1) ) ;_ fine WHILE ) ;_ fine DEFUN ;;;*** OSCURA TUTTI I RETINI (HATCH) *** (DEFUN -RRR (/ zgru zgrunum i obj) (setq zgru (SSGET "_X" '((-4 . "")) ) ;_ end of SSGET zgrunum (SSLENGTH zgru) i 0 ) ;_ fine setq (WHILE (< i zgrunum) (setq obj (SSNAME zgru i)) (redraw obj 2) (setq i (1+ i)) ) ;_ fine WHILE ) ;_ fine DEFUN ;;;*** OSCURA TUTTI I TESTI E LEADER *** (DEFUN -TTT (/ zgru zgrunum i obj) (setq zgru (SSGET "_X" '((-4 . "") ) ) ;_ end of SSGET zgrunum (SSLENGTH zgru) i 0 ) ;_ fine setq (WHILE (< i zgrunum) (setq obj (SSNAME zgru i)) (redraw obj 2) (setq i (1+ i)) ) ;_ fine WHILE ) ;_ fine DEFUN ;;;*** OSCURA TUTTE LE WIPEOUT *** (DEFUN -WWW (/ zgru zgrunum i obj) (setq zgru (SSGET "_X" '((0 . "WIPEOUT"))) zgrunum (SSLENGTH zgru) i 0 ) ;_ fine setq (WHILE (< i zgrunum) (setq obj (SSNAME zgru i)) (redraw obj 2) (setq i (1+ i)) (PRIN1) ) ;_ fine WHILE ) ;_ fine DEFUN ;;;*** OSCURA TUTTE LE QUOTE *** (DEFUN -QQQ (/ zgru zgrunum i obj) (setq zgru (SSGET "_X" '((0 . "DIMENSION"))) zgrunum (SSLENGTH zgru) i 0 ) ;_ fine setq (WHILE (< i zgrunum) (setq obj (SSNAME zgru i)) (redraw obj 2) (setq i (1+ i)) (PRIN1) ) ;_ fine WHILE ) ;_ fine DEFUN ;;;*** OSCURA LE ENTITA' SELEZIONATE *** (DEFUN -SSS (/ zgru zgrunum i obj) (princ "\nSeleziona le entitą da OSCURAre: ") (setq zgru (SSGET) zgrunum (SSLENGTH zgru) i 0 ) ;_ fine setq (WHILE (< i zgrunum) (setq obj (SSNAME zgru i)) (redraw obj 2) (setq i (1+ i)) (prin1) ) ;_ fine WHILE ) ;_ fine DEFUN ;;;*** OSCURA LE ENTITA' SELEZIONATE PER CLASSE *** (DEFUN -EEE (/ zgru zgrunum i obj lista) (setq obj (car (entsel "\nSeleziona tipo di entitą (nel caso di blocchi/retini discrimina per nome): " ) ;_ end of entsel ) ;_ end of car ) ;_ end of setq (setq lista nil listablk nil ) ;_ end of setq (if (not obj) (quit) ) ;_ end of if (while obj (IF (or (= (cdr (assoc 0 (entget obj))) "INSERT") (= (cdr (assoc 0 (entget obj))) "HATCH")) (setq lista (list (assoc 0 (entget obj)) (assoc 2 (entget obj)))) (setq lista (list (assoc 0 (entget obj)))) ) ;_ fine IF (setq zgru (SSGET "_X" lista) zgrunum (SSLENGTH zgru) i 0 ) ;_ fine setq (WHILE (< i zgrunum) (setq obj (SSNAME zgru i)) (redraw obj 2) (setq i (1+ i)) (prin1) ) ;_ fine WHILE (setq obj (car (entsel "\nSeleziona altro tipo di entitą (blocchi discriminati per nome) : " ) ;_ end of entsel ) ;_ end of car ) ;_ end of setq ) ;_ end of while ) ;_ fine DEFUN ;;;***************************************************** ;;;*** FUNZIONI DI ISOLAMENTO DI ENTITA' NEL DISEGNO *** ;;;***************************************************** (Defun C:ISOLA (/ str tipo) (setq str "S") (setq str "\nISOLA [Blocchi/Linee/Polilinee/Retini/Testi/Wipeout/Quote/Selezione/Entitą] : " ) ;_ end of setq (setq tipo (strcase (GETSTRING str))) (IF (= tipo "") (setq tipo "S") ) ;_ fine IF ;;; Richiamo le funzioni di OSCURAmento (IF (or (= tipo "B") (= tipo "BLOCCHI")) (+BBB) ) ;_ fine IF (IF (or (= tipo "L") (= tipo "LINEE")) (+LLL) ) ;_ fine IF (IF (or (= tipo "P") (= tipo "POLILINEE")) (+PPP) ) ;_ fine IF (IF (or (= tipo "R") (= tipo "RETINI")) (+RRR) ) ;_ fine IF (IF (or (= tipo "T") (= tipo "TESTI")) (+TTT) ) ;_ fine IF (IF (or (= tipo "W") (= tipo "WIPEOUT")) (+WWW) ) ;_ fine IF (IF (or (= tipo "Q") (= tipo "QUOTE")) (+QQQ) ) ;_ fine IF (IF (or (= tipo "S") (= tipo "SELEZIONE")) (+SSS) ) ;_ fine IF (IF (or (= tipo "E") (= tipo "ENTITĄ")) (+EEE) ) ;_ fine IF (princ "\nTerminato isolamento!") (prin1) ) ;_ fine Defun ;;;*** ISOLA TUTTI BLOCCHI *** (DEFUN +BBB (/ zgru zgrunum i obj blkname) (setq blkname (getstring "\nStringa nome da ricercare (invio per tutti i blocchi): " ) ;_ end of getstring ) ;_ end of setq (if (= blkname "") (setq zgru (SSGET "_X" (list (cons -4 "") ) ;_ end of list ) ;_ end of SSGET zgrunum (SSLENGTH zgru) i 0 ) ;_ fine setq (setq zgru (SSGET "_X" (list (cons -4 "") (cons -4 "NOT>") ) ;_ end of list ) ;_ fine SSGET zgrunum (SSLENGTH zgru) i 0 ) ;_ fine setq ) ;_ fine if (WHILE (< i zgrunum) (setq obj (SSNAME zgru i)) (redraw obj 2) (setq i (1+ i)) ) ;_ fine WHILE ) ;_ fine DEFUN ;;;*** ISOLA LINEE, ARCHI, CERCHI E SIMILI *** (defun +LLL (/ zgru zgrunum i obj) (setq zgru (SSGET "_X" '((-4 . "") (-4 . "NOT>") ) ) ;_ fine SSGET zgrunum (SSLENGTH zgru) i 0 ) ;_ fine setq (WHILE (< i zgrunum) (setq obj (SSNAME zgru i)) (redraw obj 2) (setq i (1+ i)) ) ;_ fine WHILE ) ;_ fine defun ;;;*** ISOLA TUTTE LE POLILINEE *** (DEFUN +PPP (/ zgru zgrunum i obj) (setq zgru (SSGET "_X" '((-4 . "")) ) ;_ end of SSGET zgrunum (SSLENGTH zgru) i 0 ) ;_ fine setq (WHILE (< i zgrunum) (setq obj (SSNAME zgru i)) (redraw obj 2) (setq i (1+ i)) (PRIN1) ) ;_ fine WHILE ) ;_ fine DEFUN ;;;*** ISOLA TUTTI I RETINI (HATCH) E SOLIDI *** (DEFUN +RRR (/ zgru zgrunum i obj) (setq zgru (SSGET "_X" '((-4 . "") (-4 . "NOT>") ) ) ;_ end of SSGET zgrunum (SSLENGTH zgru) i 0 ) ;_ fine setq (WHILE (< i zgrunum) (setq obj (SSNAME zgru i)) (redraw obj 2) (setq i (1+ i)) ) ;_ fine WHILE ) ;_ fine DEFUN ;;;*** ISOLA TUTTI I TESTI E LEADER *** (DEFUN +TTT (/ zgru zgrunum i obj) (setq zgru (SSGET "_X" '((-4 . "") (-4 . "NOT>") ) ) ;_ fine SSGET zgrunum (SSLENGTH zgru) i 0 ) ;_ fine setq (WHILE (< i zgrunum) (setq obj (SSNAME zgru i)) (redraw obj 2) (setq i (1+ i)) ) ;_ fine WHILE ) ;_ fine DEFUN ;;;*** ISOLA TUTTE LE WIPEOUT *** (DEFUN +WWW (/ zgru zgrunum i obj) (setq zgru (SSGET "_X" '((-4 . "")) ) ;_ end of SSGET zgrunum (SSLENGTH zgru) i 0 ) ;_ fine setq (WHILE (< i zgrunum) (setq obj (SSNAME zgru i)) (redraw obj 2) (setq i (1+ i)) (PRIN1) ) ;_ fine WHILE ) ;_ fine DEFUN ;;;*** ISOLA TUTTE LE QUOTE *** (DEFUN +QQQ (/ zgru zgrunum i obj) (setq zgru (SSGET "_X" '((-4 . "")) ) ;_ end of SSGET zgrunum (SSLENGTH zgru) i 0 ) ;_ fine setq (WHILE (< i zgrunum) (setq obj (SSNAME zgru i)) (redraw obj 2) (setq i (1+ i)) (PRIN1) ) ;_ fine WHILE ) ;_ fine DEFUN ;;;*** ISOLA LE ENTITA' SELEZIONATE *** (DEFUN +SSS (/ zgru_totnum zgru_tot i obj) (princ "\nSeleziona le entitą da Isolare: ") (setq zgru (SSGET)) (setq zgru_tot (SSGET "_X") zgru_totnum (SSLENGTH zgru_tot) i 0 ) ;_ fine setq (WHILE (< i zgru_totnum) (setq obj (SSNAME zgru_tot i)) (IF (= (SSMEMB obj zgru) nil) (redraw obj 2) ) ;_ fine IF (setq i (1+ i)) ) ;_ fine WHILE ) ;_ fine DEFUN ;;;*** ISOLA LE ENTITA' SELEZIONATE PER CLASSE *** (DEFUN +EEE (/ zgru zgrunum i obj lista listablk listaobj) (setq obj (car (entsel "\nSeleziona tipo di entitą (nel caso di blocchi discrimina per nome): " ) ;_ end of entsel ) ;_ end of car ) ;_ end of setq (setq lista nil listablk nil listaobj nil ) ;_ end of setq (if (not obj) (quit) ) ;_ end of if (while obj (redraw obj 3) (setq listaobj (append listaobj (list obj))) (IF (or (= (cdr (assoc 0 (entget obj))) "INSERT") (= (cdr (assoc 0 (entget obj))) "HATCH")) (setq listablk (append listablk (list (cons -4 "") ) ;_ end of list ) ;_ end of append ) ;_ end of setq (setq lista (append lista (list (cons -4 "") ) ;_ end of list ) ;_ end of append ) ;_ end of setq ) ;_ fine IF (setq obj (car (entsel "\nSeleziona altro tipo di entitą (blocchi discriminati per nome) : " ) ;_ end of entsel ) ;_ end of car ) ;_ end of setq ) ;_ end of while (foreach obj listaobj (redraw obj 4)) (setq lista (append (list (cons -4 "") (cons -4 "NOT>")) ) ;_ end of append ) ;_ end of setq (setq zgru (SSGET "_X" lista) zgrunum (SSLENGTH zgru) i 0 ) ;_ fine setq (WHILE (< i zgrunum) (setq obj (SSNAME zgru i)) (redraw obj 2) (setq i (1+ i)) (prin1) ) ;_ fine WHILE ) ;_ fine DEFUN ;|«Visual LISP© Format Options» (72 2 40 2 T "end of " 60 9 0 0 nil T T nil T) ;*** DO NOT add text below the comment! ***|;