Problema con utilizzo di OSMODE

Professione: Pensionato
Software: Autocad
Regione: Lombardia
#1
Salve a tutti,
Ho un problema con l'utilizzo della variabile "OSMODE", questo stralcio di codice modifica una stringa, se lo eseguo con uno "ZOOM" ravvicinato funziona perfettamente se, invece, lo "ZOOM" è lungo le stringhe si sovrappongono, insomma non funziona bene.
Evidentemente "OSMODE" non è settata correttamente.
Codice:
    (setvar "OSMODE" 0)
    (setq Pos15 (- (strlen txt1) 69))
    (setq Destra (substr txt1 (+ Pos15 10) 59))
    (setq Destra1 (strcat Destra "@" Punto))
    (setq cX (substr Destra 37 11))
    (setq cY (substr Destra 49 11))

    (setq cXX (+ (atof cX) 0.50))
    (setq cYY (+ (atof cY) 0.50))
    (setq Indirizzo (strcat (rtos cXX) "," (rtos cYY)))
    (command "_erase" Indirizzo "")
    (command "_mtext" Indirizzo "_j" "_bl" "_w" 50 (strcat NomePuntoQuota "{\\H0.01x;" Destra1 "}") "")
Come la devo impostare per evitare l'inconveniente?
Grazie.
 

Cristallo

Utente Standard
Professione: Leggo e confronto
Software: Lettura critica
Regione: Fuori dalla cerchia
#2
Con il setvar Osmode 0 in pratica disabiliti l'osnap e questo evita che in fase di inserimento autocad possa "interpretare" qualche punto perche intercetta uno snap.
Dal mio punto di vista il comando è corretto.
Probabilmente il problema è dovuto ad altro, nel codice.
Se pure fosse un limite reale, fai uno zoom nel lisp, tanto le coordinate ce le hai
Solo trovo "particolare" costruire delle coordinate (Indirizzo) mediante uno strcat, normalmente lo si fa mediante CONS o LIST
 
Professione: Pensionato
Software: Autocad
Regione: Lombardia
#3
Grazie Cristallo,
in effetti non comprendo come ciò possa accadere.
Potrebbe essere dovuto al fatto che la cancellazione della stringa precedente tramite "l'indirizzo" non sia particolarmente efficace, meglio sarebbe eseguirlo mediante l'individuazione diretta dell'elemento da cancellare.
Non dovrebbe essere difficile dato che lo seleziono ma, sino ad ora non ho ancora trovato il modo di farlo (ssget?).
Hai un'idea in merito?
Grazie.
 

Cristallo

Utente Standard
Professione: Leggo e confronto
Software: Lettura critica
Regione: Fuori dalla cerchia
#4
(car (entsel)) ti restituisce il nome dell'oggetto, chiedendoti di selezionarlo
(entget (car (entsel))) ti restituisce l'intera entità, comprese le sue caratteristiche (tipo di entità, colore, layer, punti di inserimento, valore testo etc)