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?
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?