V I S U A L I Z Z A D I S C U S S I O N E |
scracciolo |
Inserito il - 08 settembre 2014 : 12:26:00 Salve vorrei sapere se esiste un lisp che mi permette di creare il "testo" direttamente su un "punto". Non ho bisogno che nel testo si possa scrivere qualcosa in particolare, andrebbe bene anche ad esempio la sola lettera "A" ho solo bisogno che il testo creato sia perfettamente sulle coordinate del punto. RIEPILOGO vorrei creare un testo che sia perfettamente sulle coordinate di un punto creato precedentemente. E per punto intendo proprio il comando punto di autocad. |
6 U L T I M E R I S P O S T E (in alto le più recenti) |
arri |
Inserito il - 12 settembre 2014 : 08:45:42 Messaggio inserito da scracciolo (deve essere un testo multilinea e non testoM)
mi hai incuriosito e ho provato con il primo che ho postato, senza volerlo, funziona sia con il Testo che con il TestoM
(defun c:RP() (setq obj (car (entsel "\nSeleziona blocco: "))) (prompt "\n\nSeleziona i punti") (setq ss (ssget (list (cons 0 "point")))) (setq inc 0) (setq orgpnt (cdr (assoc '10 (entget obj)))) (while (setq node (ssname ss inc)) (setq topnt (cdr (assoc '10 (entget node)))) (command "_copy" obj "" orgpnt topnt) (setq inc (1+ inc)) ))
|
arri |
Inserito il - 10 settembre 2014 : 09:33:50 Messaggio inserito da scracciolo
OK perfetto ho risolto, basta selezionare i punti, digitare RP e poi selezionare il testo senza che sia un blocco(deve essere un testo multilinea e non testoM) ed il gioco è fatto; grazie mille.
prego,
per la numerazione automatica vedi qui
http://www.cadlandia.com/topic.asp?TOPIC_ID=12996 |
arri |
Inserito il - 09 settembre 2014 : 11:22:34 Messaggio inserito da scracciolo
Salve. Con quel lisp il testo viene messo vicino al punto e non perfettamente sulle coordinate del punto. O sbaglio qualcosa io ?
devi impostare il punto base del blocco in corrispondenza del centro del testo |
scracciolo |
Inserito il - 09 settembre 2014 : 11:09:48 OK perfetto ho risolto, basta selezionare i punti, digitare RP e poi selezionare il testo senza che sia un blocco(deve essere un testo multilinea e non testoM) ed il gioco è fatto; grazie mille. |
arri |
Inserito il - 09 settembre 2014 : 07:48:19 questo è meglio rispetto al precedente, esplode i blocchi e ti ritrovi i testi come hai richiesto
(defun c:Rp() (setq obj (car (entsel "\nSeleziona blocco: "))) (prompt "\n\nSeleziona i punti") (setq ss (ssget (list (cons 0 "point")))) (setq inc 0) (setq orgpnt (cdr (assoc '10 (entget obj)))) (while (setq node (ssname ss inc)) (progn (setq topnt (cdr (assoc '10 (entget node)))) (command "_copy" obj "" orgpnt topnt) (command "_explode" "_L" "")) (setq inc (1+ inc)) ))
|
arri |
Inserito il - 08 settembre 2014 : 13:23:52 crei un blocco contenente solo il testo, poi carichi questo lisp e usi il comando RP
(defun c:RP() (setq obj (car (entsel "\nSeleziona blocco: "))) (prompt "\n\nSeleziona i punti") (setq ss (ssget (list (cons 0 "point")))) (setq inc 0) (setq orgpnt (cdr (assoc '10 (entget obj)))) (while (setq node (ssname ss inc)) (setq topnt (cdr (assoc '10 (entget node)))) (command "_copy" obj "" orgpnt topnt) (setq inc (1+ inc)) )) |