Autore |
Discussione |
|
scracciolo
Utente
Regione: Puglia
Prov.: Brindisi
11 Messaggi |
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.
|
Modificato da - scracciolo in Data 08 settembre 2014 12:31:18
|
|
arri
Utente Master
Regione: Lombardia
14951 Messaggi |
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)) )) |
|
|
arri
Utente Master
Regione: Lombardia
14951 Messaggi |
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)) ))
|
|
|
scracciolo
Utente
Regione: Puglia
Prov.: Brindisi
11 Messaggi |
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. |
Modificato da - scracciolo in data 09 settembre 2014 11:32:08 |
|
|
arri
Utente Master
Regione: Lombardia
14951 Messaggi |
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 |
|
|
arri
Utente Master
Regione: Lombardia
14951 Messaggi |
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
Utente Master
Regione: Lombardia
14951 Messaggi |
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)) ))
|
|
|
|
Discussione |
|