Scrivere nella riga di comando

Angelo2449

Utente Junior
Professione: Pensionato
Software: Autocad
Regione: Lombardia
#1
Salve a tutti,
vorrei, tramite un'icona, scrivere una lettera > R < nella riga di comando.
Ciò è utile quando viene richiesto di inserire il tipo di selezione quindi la > R < dovrebbe essere scritta dopo il messaggio già presente nella riga di comando.
Questo semplice codice no funziona :
Codice:
(defun C:ERRE (/)

    (princ "R")

);; defun
Grazie
 

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, GstarCAD, CadWorx, Excel, Lisp, VBA
Regione: Sicilia
#2
Annotazione 2019-05-01 122448.jpg
Dopo aver creato il nuovo comando aggiungilo alla barra degli strumenti
 

Angelo2449

Utente Junior
Professione: Pensionato
Software: Autocad
Regione: Lombardia
#3
Grazie rpor66,
questo è già stato realizzato con icona funzionante.
Il problema consiste nel fatto che la > R < nom viene scritta nella riga di comando ma nella finestra di testo.
In pratica, per esempio, volendo tagliare un'immagine che ho inserito e ricevendo la richiesta della modalità di selezione, voglio rispondere con una > S < per selezionare una polilinea intorno alla quale l'immagine verrà tagliata, senza usare la tastiera.
Grazie.
 

Cristallo

Utente Standard
Professione: Leggo e confronto
Software: Lettura critica
Regione: Fuori dalla cerchia
#4
Lo devi inserire in un listato lisp?

mettiamo che l'immagine la assegni a PIPPO
(setq pippo (car (entsel)))
Se vuoi essere sicuro, assegni un filtraggio sull'entita come ti feci vedere l'altra volta (ssget '((0 . "IMAGE")...

dopo ti servirà solo questo
(command "_imageclip" pippo "" "s")

dov'e' la difficoltà?
 

Angelo2449

Utente Junior
Professione: Pensionato
Software: Autocad
Regione: Lombardia
#5
Grazie,
ho capito ciò che mi hai esposto ma non è esattamente quello che cerco.
Mi spiego meglio.
Seleziono il comando "_imageclip" >>> seleziono l'immagine >>> mi viene richiesto di inserire il criterio per tagliarla >>> voglio rispondere > S < per selezionare la polilinea di taglio >>> anziché premere il tasto > S < da tastiera, vorrei cliccare un'icona che facesse la stessa cosa >>> l'immagine viene tagliata.
Ciò varrebbe per qualsiasi dialogo con un comando, per esempio una > R < per > Relazione < nel caso del ridimensionamento di qualsiasi cosa.
Grazie ancora.
 

Cristallo

Utente Standard
Professione: Leggo e confronto
Software: Lettura critica
Regione: Fuori dalla cerchia
#6
verifica bene, puoi creare tranquillamente una macro in un bottone (icona) con la sequenza che cerchi.
Nella macro utilizza un PAUSE (non ricordo ma pare sia uno slash \ nella sequenza dei comandi)
Poi attenzione, imageclip ti chiede:
Selezione img -> poi devi dare un NEW e solo dopo la selezione S
 

Angelo2449

Utente Junior
Professione: Pensionato
Software: Autocad
Regione: Lombardia
#7
Ho risolto il problema creando tre nuovi comandi TAGLIAIMMAGINE - RUOTARIF - SCALARIF corredati dalle relative nuove icone.
Codice:
(defun C:TAGLIAIMMAGINE (/ Immagine Titolo)
    (setq Titolo "Seleziona l'Immagine da tagliare")
    (princ "\n")
    (setq Immagine (entsel Titolo))
    (princ "\n")
    (command "_imageclip" Immagine "" "s")
);;defun

------------------------------------------

    (defun C:RUOTARIF (/ Oggetto Titolo)
        (setq Titolo "Seleziona l'Oggetto da ruotare")
        (princ "\n")
        (setq Oggetto (entsel Titolo))
        (princ "\n")
        (command "_rotate" Oggetto "" "r")
    );;defun
    
-------------------------------------------

    (defun C:SCALARIF (/ Oggetto Titolo)
        (setq Titolo "Seleziona l'Oggetto da ridimensionare")
        (princ "\n")
        (setq Oggetto (entsel Titolo))
        (princ "\n")
        (command "_scale" Oggetto "" "r")
    );;defun
Grazie, come sempre sei preciso e collaborativo!