Newsgroup: it.comp.software.cad
Titolo: nascondere oggetti su autocad

Salve, esiste qualche lisp per nascondere gli oggetti come fa Rhino senza 
doverli spostare ogni volta su un altro layer?
Grazie
Nat 

 2D Parametric for 2000-2007 <
(strcat "I like " (substr (ver) 8 4) "!")
--

"Marco_AA" <Marco_AA@Marco_AA.com> ha scritto nel messaggio 
news:462cb9f6$0$36449$4faf...@reader5.news.tin.it...

-- 
Ti ringrazio ma essendo ignorante in materia dovresti spiegarmi una cosa. 
Dunque correggimi se sbaglio: io dovrei copiare il listato in blocco note e 
salvarlo con estensione lisp dopodichč dovrei caricarlo e digitare "hide" 
per richiamarlo, giusto? E se voglio associare il comando a un nuovo 
pulsante nella macro scrivo sempre "hide" o devo seguire qualche procedura 
piů complessa?
Un saluto
Nat 

 salvarlo con estensione lisp dopodichè dovrei caricarlo...
Fai tutto ciò che hai scritto sopra, i nuovi comandi che otterrai sono:
ALE_OBJ_HIDE   per nascondere
ALE_OBJ_SHOW   per visualizzare
ALE_OBJ_REVVIS per invertire la visualizzazione
quindi sono questi i camandi da usare ed associare ai pulsanti.


"Marco_AA" <Marco_AA@Marco_AA.com> ha scritto nel messaggio 
news:462d8fba$0$37204$4faf...@reader3.news.tin.it...
Fai tutto ciņ che hai scritto sopra, i nuovi comandi che otterrai sono:
ALE_OBJ_HIDE   per nascondere
ALE_OBJ_SHOW   per visualizzare
ALE_OBJ_REVVIS per invertire la visualizzazione
quindi sono questi i camandi da usare ed associare ai pulsanti.
Dimenticavo, come devo nominarlo? Con un nome qualsiasi non me lo salva come 
gli altri lisp ma in un formato che autocad non vede.

 gli altri lisp ma in un formato che autocad non vede.
Chiamalo Natale.lsp


 gli altri lisp ma in un formato che autocad non vede.
Chiamalo Natale.lsp
Davvero spiritoso. Se ho rivolto questa domanda evidentemente non capisco 
una mazza di programmazione ma si vede che per postare su questo NG bisogna 
essere dei guru. 

ti ha dato la risposta esatta
devi stare attento quando salvi con blocco note perchè di default aggiunge
l'estensione .TXT, quindi la devi togliere
altrimenti avresti come risultato Natale.lsp.txt
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 essere dei guru. 
Allora chiamalo come vuoi purchè abbia l'estensione ".lsp" 
(come dice anche arri).
In Windows attiva la visualizzazione delle estensioni dei files.
Prima di partire per la tangente fai una prova, non sempre le risposte
sono "spiritose".
In ogni caso se vuoi dilettarti con il Lisp, una mezza oretta di
lettura del manuale (F1) non fai mai male, sprechi meno tempo te
e coloro i quali ti vogliono aiutare.
Trovo che sia più giusto e utile postare cose non scritte o spiegazioni
di argomenti particolarmente difficili da capire che semplici regole
facilmente rintracciabili nella documentazione in meno di un minuto.


Tieni anche presente che le funzioni che ti ho "postato" provengono
da mie funzioni standard che sono leggermente diverse (c'è un po' di
roba in più) e che ho appositamente modificato per darti un aiuto.
Quindi, pensa anche che coloro che "perdono" 5-10 minuti per aiutarti
non sempre lo fanno per essere "spiritosi".
Nota: quando fai un copia-incolla in Blocco Note stai anche attento
ai ritorni a capo di ogni riga che, se errati, protrebbero compromettere
il funzionamento dei programmi.
Questa (sotto) è una versione modificata, su suggerimento di arri, per
considerare eventuali oggetti su layers bloccati.
Marco
; Marc'Antonio Alessi - 
http://xoomer.alice.it/alessi
;
; Version 2.00 - 01/02/2003
; Version 2.01 - 24/04/2004
;
; TrueFl > :vlax-true = UnHide  -  :vlax-false = Hide
(defun ALE_PutVisible (SelSet TrueFl / VlaObj Countr Count2)
; (vl-load-com)
  (setq Count2 0)
  (repeat (setq Countr (sslength SelSet))
    (setq
      Countr (1- Countr)
      VlaObj (vlax-ename->vla-object (ssname SelSet Countr))
    )
    (and
      (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-visible (list VlaObj TrueFl)))
      (setq Count2 (1+ Count2))
    )
  )
  Count2
)
(defun C:ALE_OBJ_HIDE ( / SelSet NumLck)
  (princ "\nSeleziona gli oggetti da nascondere: ")
  (if (setq SelSet (ssget '((60 . 0)(0 . "~VIEWPORT"))))
    (progn
      (princ (strcat "\n" (itoa (sslength SelSet)) " oggetti sono stati nascosti.  "))
      (or
        (zerop (setq NumLck (ALE_PutVisible SelSet :vlax-false)))
        (alert (strcat "Attenzione " (itoa NumLck) " oggetti su layers bloccati."))
      )
    )
    (alert "Nessun oggetto selezionato, comando annullato. ")
  )
  (princ)
)
(defun C:ALE_OBJ_SHOW ( / SelSet NumLck)
  (if (setq SelSet (ssget "_X" '((60 . 1))))
    (progn
      (princ (strcat "\n" (itoa (sslength SelSet)) " oggetti resi visibili.  "))
      (or
        (zerop (setq NumLck (ALE_PutVisible SelSet :vlax-true)))
        (alert (strcat "Attenzione " (itoa NumLck) " oggetti su layers bloccati."))
      )
    )
    (princ "\nNessun oggetto invisibile nel disegno. ")
  )
  (princ)
)
(defun C:ALE_OBJ_REVVIS ( / SelSet SelSt2 NumLck)
  (setq SelSet (ssget "_X" '((60 . 1)))  SelSt2 (ssget "_X" '((60 . 0)(0 . "~VIEWPORT"))))
  (if SelSet
    (progn
      (princ (strcat "\n" (itoa (sslength SelSet)) " oggetti resi visibili.  "))
      (or
        (zerop (setq NumLck (ALE_PutVisible SelSet :vlax-true)))
        (alert (strcat "Attenzione " (itoa NumLck) " oggetti su layers bloccati."))
      )
    )
    (princ "\nNessun oggetto precedentemente invisibile")
  )
  (if SelSt2
    (progn
      (princ (strcat "\n" (itoa (sslength SelSt2)) " oggetti sono stati nascosti.  "))
      (or
        (zerop (setq NumLck (ALE_PutVisible SelSt2 :vlax-false)))
        (alert (strcat "Attenzione " (itoa NumLck) " oggetti su layers bloccati."))
      )
    )
    (princ ", nessun oggetto precedentemente visibile. ")
  )
  (princ)
)


Chiedo scusa, avevo frainteso. Ovviamente quando lo salvo sto attento 
all'estensione, il problema è che questa mi crea un file.lisp ma con 
un'icona sconosciuta che autocad non può caricare. Comunque grazie lo 
stesso.
Ciao
Nat


Non vorrei sbagliare, ma sembra che tu abbia salvato un file di nome
FILE.LISP invece di FILE.LSP (in genere le estensioni sono di 3 e non 4
caratteri)
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Inviato via 
http://arianna.libero.it/usenet/
è quello sicuramente, però l'estensione .lsp era specificato 3 volte nei
messaggi precedenti 


> caratteri)
Porca miseria č proprio cosě; la prossima volta mi mordo la lingua.
Ciao e grazie