Gentilissimi,
chiedo a chi è esperto del programma se c'è la possibilità di attivare lo snap su un punto baricentro rispetto ad un retino.
Dettaglioun po': dopo aver tracciato un retino, cliccandoci sopra si evidenziano in blu i vertici del retino e, sempre in blu, un cerchio che credo individui il baricentro del retino stesso. Mi chiedo se è possibile associare a quest'ultimo punto uno snap in modo che si possa tracciare una linea la cui origine coincida col baricentro del retino.
Uso autocad versione 2011.
Grazie a tutti!
morbo : [post n° 310385]
SNAP "BARICENTRO RETINO" AUTOCAD
Il grip a forma di cerchio non individua il baricentro del tratteggio. Volendo si potrebbe "marcare" il baricentro mediante l'inserimento di un punto (tramite LISP).
- Con un editor di testo, tipo blocco note, incolla il codice che allego in un nuovo file;
- salvacome: baricentro_tratteggio.LSP (o un nome di file qualunque, basta che abbia estensione LSP) e posizionalo nella cartella che vuoi;
- comando APPLOAD, cerca e carica il lisp appena salvato;
- da riga di comando digita BT
;;; Disegna un punto nel baricentro del tratteggio selezionato.
;;;
;;; 11/03/2013 - Gian Paolo Cattaneo
(defun c:bt (/ H EL *B*)
(if
(and
(princ "\Selezionare il Tratteggio")
(setq H (ssget ":S:E" '((0 . "HATCH"))))
)
(progn
(setq EL (entlast))
(setq H (ssname H 0))
(command "_-hatchedit" H "_B" "_R" "_N" )
(if (and
(/= EL (setq *B* (entlast)))
(= (cdr (assoc 0 (entget *B*))) "REGION")
)
(progn
(entmake
(list
(cons 0 "POINT")
(cons 10 (trans (vlax-get (vlax-ename->vla-object *B*) 'centroid) 1 0))
)
)
(entdel *B*)
(redraw H 4)
(if (= (getvar 'pdmode) 0)
(alert "Suggerimento: modificare lo \"Stile Punto\" per renderlo più visibile nel disegno.")
)
)
)
)
(alert "Nessun tratteggio selezionato.")
)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(vl-load-com)
(prompt "\n ") (prompt "\n ") (prompt "\n ")
(princ "\nDigitare \"BT\" per lanciare il Lisp.")
(princ)
- salvacome: baricentro_tratteggio.LSP (o un nome di file qualunque, basta che abbia estensione LSP) e posizionalo nella cartella che vuoi;
- comando APPLOAD, cerca e carica il lisp appena salvato;
- da riga di comando digita BT
;;; Disegna un punto nel baricentro del tratteggio selezionato.
;;;
;;; 11/03/2013 - Gian Paolo Cattaneo
(defun c:bt (/ H EL *B*)
(if
(and
(princ "\Selezionare il Tratteggio")
(setq H (ssget ":S:E" '((0 . "HATCH"))))
)
(progn
(setq EL (entlast))
(setq H (ssname H 0))
(command "_-hatchedit" H "_B" "_R" "_N" )
(if (and
(/= EL (setq *B* (entlast)))
(= (cdr (assoc 0 (entget *B*))) "REGION")
)
(progn
(entmake
(list
(cons 0 "POINT")
(cons 10 (trans (vlax-get (vlax-ename->vla-object *B*) 'centroid) 1 0))
)
)
(entdel *B*)
(redraw H 4)
(if (= (getvar 'pdmode) 0)
(alert "Suggerimento: modificare lo \"Stile Punto\" per renderlo più visibile nel disegno.")
)
)
)
)
(alert "Nessun tratteggio selezionato.")
)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(vl-load-com)
(prompt "\n ") (prompt "\n ") (prompt "\n ")
(princ "\nDigitare \"BT\" per lanciare il Lisp.")
(princ)