Errore lisp per Draworder

thelittlesniper

Utente poco attivo
professione: Progettista CAD
software: Auto CAD, Revit
regione: Alto Adige
Ciao,
non avendo esperienza in programmazione, con l'aiuto di ChatGPT, stavo cercando di realizzare un lisp personalizzato che mi velocizzerebbe il lavoro di pulizia dei file che ricevo. Tutte le iterazioni funzionano ad eccezione della seguente... In sostanza vorrei che tutti i retini presenti nel disegno (e nei blocchi) vengano portati "dietro a tutto" come ordine di visualizzazione. Pertanto mi é stato proposto questo codice (si, voglio mantenere anche la conferma utente):
;; Porta tutti i retini, inclusi quelli nei blocchi, dietro a tutto
(if (= (strcase (getstring "\nPortare tutti i retini dietro a tutto? (S/N): ")) "S")
(progn
(setq ssHatch (ssget "_X" '((0 . "HATCH"))))
(if ssHatch
(progn
(setq i 0)
(while (< i (sslength ssHatch))
(setq hatchObject (vlax-ename->vla-object (ssname ssHatch i)))
(vla-put-DrawOrder hatchObject 0)
(setq i (1+ i))
)
(princ "\nTutti i retini sono stati spostati dietro a tutto.\n")
)
)
)
)
All'esecuzione del codice però ho il seguente errore: "no function definition: VLA-PUT-DRAWORDER". Non ho trovato altri comandi che possano essere sostituiti e nonostante ChatGPT consigli l'alternativa vla-get-DrawOrder purtroppo mi si presenta lo stesso errore. Qualcuno sa consigliarmi qualche soluzione?
 

dsw

Rossano Praderi
professione: Libero Professionista
software: Vari
regione: Lombardia
Prova a vedere se una delle funzioni sull'ordinamento, scritte Lee Mac, fa al caso tuo.
 

dieva

Utente Standard
professione: CAD Manager - AutoCAD sw developer
software: AutoCAD | BricsCAD | 3DSMax | Revit
regione: puglia
Ciao,
non avendo esperienza in programmazione, con l'aiuto di ChatGPT, stavo cercando di realizzare un lisp personalizzato che mi velocizzerebbe il lavoro di pulizia dei file che ricevo. Tutte le iterazioni funzionano ad eccezione della seguente... In sostanza vorrei che tutti i retini presenti nel disegno (e nei blocchi) vengano portati "dietro a tutto" come ordine di visualizzazione. Pertanto mi é stato proposto questo codice (si, voglio mantenere anche la conferma utente):
;; Porta tutti i retini, inclusi quelli nei blocchi, dietro a tutto
(if (= (strcase (getstring "\nPortare tutti i retini dietro a tutto? (S/N): ")) "S")
(progn
(setq ssHatch (ssget "_X" '((0 . "HATCH"))))
(if ssHatch
(progn
(setq i 0)
(while (< i (sslength ssHatch))
(setq hatchObject (vlax-ename->vla-object (ssname ssHatch i)))
(vla-put-DrawOrder hatchObject 0)
(setq i (1+ i))
)
(princ "\nTutti i retini sono stati spostati dietro a tutto.\n")
)
)
)
)
All'esecuzione del codice però ho il seguente errore: "no function definition: VLA-PUT-DRAWORDER". Non ho trovato altri comandi che possano essere sostituiti e nonostante ChatGPT consigli l'alternativa vla-get-DrawOrder purtroppo mi si presenta lo stesso errore. Qualcuno sa consigliarmi qualche soluzione?
fai prima ad usare questo
Codice:
...
(command "_HATCHTOBACK")
...
 

Statistiche forum

Discussioni
59,249
Messaggi
504,723
Utenti registrati
110,460
Ultimo utente registrato
JackieWep

Utenti online

Top