LISP reperire entità appena create
Von: pincopalla (pincopalla@tin.it) [Profil]
Datum: 11.06.2008 08:32
Message-ID: <484f7198$0$41657$4fafbaef@reader4.news.tin.it>
Newsgroup: it.comp.software.cad
Datum: 11.06.2008 08:32
Message-ID: <484f7198$0$41657$4fafbaef@reader4.news.tin.it>
Newsgroup: it.comp.software.cad
Ciao a tutti ho trovato in rete il seguente lisp che permette di eseguire un'intersezione tra più regioni. Il problema è che poi vorrei salvare in un gruppo di selezione le regioni risultanti. Ho già provato con (ssget "_P") e (entlast) Ho anche provato con l'utilissima funzione "ALE_Ss-After" del gentile Marco_AA ma anche questa che di solito funziona bene in questo caso non riesce. Avete qualche suggerimento? Grazie (defun c:test () (setq sel1 (ssget)) (setq sel2 (ssget)) (setq marker (ALE_LASTENT)) (soustrac sel1 sel2) (setq regrisultati (ALE_SS-AFTER marker)) ) (defun soustrac (ss1 ss2 / n lst nn) (vl-load-com) (or *acdoc* (setq *acdoc* (vla-get-activeDocument (vlax-get-acad-object))) ) (if ss1 (if ss2 (progn (vla-StartUndoMark *acdoc*) (repeat (setq n (sslength ss2)) (setq lst (cons (vlax-ename->vla-object (ssname ss2 (setq n (1- n)))) lst ) ) ) (repeat (setq n (sslength ss1)) (setq obj (vlax-ename->vla-object (ssname ss1 (setq n (1- n))))) (foreach o lst (and (= (vla-get-ObjectName obj) (vla-get-ObjectName o)) (vla-Boolean obj acIntersection (vla-copy o)) ) ) ) (mapcar 'vla-delete lst) (vla-EndUndoMark *acdoc*) ) ) ) (princ) )[ Auf dieses Posting antworten ]
Antworten
- pincopalla (11.06.2008 08:45)
- Marco (11.06.2008 11:13)
- pincopalla (11.06.2008 13:14)
