Sostituire entità punti con cerchi

franco75

Utente poco attivo
professione: geometra
software: autocad 2007
regione: toscana
Buona sera a tutti,
sono nuovo della comunity e mi sembra di capire, rispetto al livello medio, anche piuttosto indietro.
Avrei bisogno di ricevere un aiuto per fare una cosa che sembra stupida ma mi risolverebbe parecchio lavoro.
Devo caricare molti file autocad su un software per preparare dei piazzati di taglio. Il software non riconosce le entità punto e quindi mi trovo a dover sostituire un infinità di punti con dei cerchi, ai quali devo scegliere se dare il diametro 2 mm o 4 mm visto che la macchina ha due punzoni. So che è possibile realizzare delle macro che facciano questo in automatico, mi piacerebbe poter selezionre un area di interesse ed andare a inserire un cerchio per ogni punto appartente al layer specificato definendo in fase di inserimento il diametro del cerchio. Purtorppo non so niente di programmazione lisp e VBA, qualcuno può aiutarmi?
Grazie,
Franco
 

GP.

Utente Senior
professione: Nientologo
software: uozapp
regione: Vercelli
Prova questo...
Codice:
(defun c:pt2cer ( / cmd d pp p n)
    (setq cmd (getvar 'cmdecho))
    (setvar 'cmdecho 0)
    (command "_.undo" "_begin")
    (initget (+ 2 4))
    (or d (setq d 2))
    (setq d (cond
                ( (getdist (strcat "\nDiamentro dei cerchi  <" (rtos d 2 0)">: ")) )
                ( d )
    )       )
    (prompt "\nSelezionare i Punti")
    (setq pp (ssget '((0 . "POINT"))))
    (if pp
        (repeat (setq n (sslength pp))
            (setq p (ssname pp (setq n (1- n))))
            (entmake
                (list
                    (cons 0 "CIRCLE")
                    (cons 10 (cdr (assoc 10 (entget p))))
                    (cons 40 (* 0.5 d) )
                )
            )
            (entdel p)
        )
    )
    (command "_.undo" "_end")
    (setvar 'cmdecho cmd)
)
 

Statistiche forum

Discussioni
59,426
Messaggi
506,216
Utenti registrati
111,250
Ultimo utente registrato
Shinigami96

Utenti online

Top