TuttoCAD Forum

TuttoCAD Forum
[ Home | Registrati | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Album Fotografico | Download | | Cerca | FAQ ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 1 - TuttoCAD Software
 AutoCAD
 Hatch - unire o dividere

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Faccine
Felice [:)] Davvero Felice [:D] Caldo [8D] Imbarazzato [:I]
Goloso [:P] Diavoletto [):] Occhiolino [;)] Clown [:o)]
Occhio Nero [B)] Palla Otto [8] Infelice [:(] Compiaciuto [8)]
Scioccato [:0] Arrabbiato [:(!] Morto [xx(] Assonnato [|)]
Bacio [:X] Approvazione [^] Disapprovazione [V] Domanda [?]
Seleziona altre faccine

    
 
   

V I S U A L I Z Z A    D I S C U S S I O N E
cantacad Inserito il - 12 gennaio 2012 : 11:21:55
Salve, avrei bisogno di eseguire alcune operazioni su una serie di tratteggi.
I tratterggi in questione rappresentano delle aree dove succede qualcosa.
Praticamente so che i tratteggi si possono tagliare rispetto ad una linea...io invece vorrei, rispetto ad una linea, ottenere due tratteggio nel caso partissi da uno solo.
Inoltre vorrei unire più tratteggi per avere una sola entità.
Sono possibili queste due operazioni?
Saluti
7   U L T I M E    R I S P O S T E    (in alto le più recenti)
Giuseppe Mauro Inserito il - 14 gennaio 2012 : 18:54:10
Canta, il "giusto" o lo "sbagliato", con Autocad non esiste.
Esistono "infilate" di comandi piu veloci e meno veloci.
Comunque capisco la logica del chiedere e la approvo in toto.
Dopo 24 anni di Autocad, quanche giorno fa, chiedendo, ho imparato una cosa nuova, assolutamente inaspettata.
cantacad Inserito il - 14 gennaio 2012 : 14:27:56
Si in effetti ho sempre fatto così, ma dato che ogni domanda ha risvolti inaspettati, chiedo sempre quando mi pare di effettuare una procedura "barbara"...pensa te facevo giusto ha ha
Giuseppe Mauro Inserito il - 13 gennaio 2012 : 08:50:37
Beh ma per dividerlo, basta semplicemente copiare il tratteggio su se stesso e una volta tagli la parte a dex della linea e successivamente quella a sx della linea.

Cosa molto piu complessa se hai aree completamente integrate (tipo un rettangolo che vuoi scorporare), ma il metodo funziona uguale.
La cosa complicata e' farlo fare via lisp, credo
cantacad Inserito il - 13 gennaio 2012 : 07:36:22
uhm, mi sembra che abbia fatto quello che mi serviva fare...casomai andrò a leggermi gli effetti collaterali...
terrò d'occhio questa discussione per eventuali miracoli per la divisione degli hatch, intanto grazie
GP Inserito il - 12 gennaio 2012 : 15:22:55
Prego.

Però il lisp ha i suoi difettucci, vedi la discussione nel link al suo interno.

arri Inserito il - 12 gennaio 2012 : 14:50:03
bello !
grazie GP
GP Inserito il - 12 gennaio 2012 : 14:18:20
Per dividere i tratteggi non credo esista, appena ho tempo posso provare a mettere giù qualcosa, mentre per unire prova questo lisp:


;; © Juan Villarreal 11.20.2011 ;;
;; massoc (Jaysen Long) ;;
;; Minor Modification by Jvillarreal ;;
;; Extracts info from list by key ;;
;; Found @ http://www.theswamp.org/index.php?topic=40149.0
(defun massoc (key alist / x nlist)
(foreach x alist
(if
(eq key (car x))
(setq nlist (cons x nlist))
)
)
(reverse nlist)
);defun
(defun c:MergeHatch ( / hentinfo ss i ent ent# seedpt# entinfo entinfo2 ent# seedpt# seedpts MergedHatchList)
(while (/= (cdr (assoc 0 hentinfo)) "HATCH")
(setq hentinfo (car (entsel "\nSelect Hatch Pattern to use:")))
(If hentinfo (setq hentinfo (entget hentinfo)) (princ "\nMissed. Try again.")))
(while (not ss) (princ "\nSelect hatch entities to merge:")(setq ss (ssget '((0 . "HATCH")))))
(setq MergedHatchList
(list (cons 0 "HATCH")
(cons 100 "AcDbEntity")
(assoc 8 hentinfo)
(cons 100 "AcDbHatch")
(assoc 10 hentinfo)
(assoc 210 hentinfo)
(assoc 2 hentinfo)
(assoc 70 hentinfo)
(assoc 71 hentinfo)
(cons 91 (sslength ss))
) i -1 seedpt# 0 ent# 0)
(repeat (sslength ss)
(setq n -1
entinfo (entget (ssname ss (setq i (1+ i))))
entinfo2 (member (assoc 92 entinfo) entinfo)
entinfo2 (reverse (cdr (member (assoc 75 entinfo2)(reverse entinfo2))))
ent# (+ ent# (cdr (assoc 91 entinfo)))
seedpt# (+ seedpt# (cdr (assoc 98 entinfo)))
seedpts (append seedpts (cdr (member (assoc 98 entinfo) entinfo)))
MergedHatchList (append MergedHatchList entinfo2)
)
(entdel (ssname ss i))
)
(setq MergedHatchList (subst (cons 91 ent#)(assoc 91 MergedHatchList) MergedHatchList)
MergedHatchList
(append MergedHatchList
(append
(reverse (cdr (member (assoc 98 hentinfo)(reverse (member (assoc 75 hentinfo) hentinfo)))))
(cons (cons 98 seedpt#) seedpts))))
(if (= (cdr (assoc 71 hentinfo)) 1)(setq MergedHatchList (append MergedHatchList '((-3 ("ACAD" (1010 0.0 0.0 0.0)))))))
(entmake MergedHatchList)
(setq ent (entlast))
(if (= (cdr (assoc 71 hentinfo)) 1)
(mapcar
'(lambda (x / entlist)
(setq entlist (entget (cdr x)))
(entmod (subst (cons 330 ent) (assoc 330 entlist) entlist))
)
(massoc 330 MergedHatchList)
)
)
)
(defun c:MH () (c:MergeHatch))

TuttoCAD Forum © 2001-2010 CADLandia Torna all'inizio della Pagina
Pagina generata in 0,12 secondi.