Lisp per dividi con blocchi

lattu

Moderatore
Staff Forum
Professione: Libero professionista
Software: Autocad - 3ds Max - Inventor - Blender - Fusion 360
Regione: Lombardia - BG
#1
mi capita spesso di utilizzare la funzione punto / dividi utilizzando i blocchi e in certi progetti diventa davvero un lavoro ripetitivo fino allo stremo.
è possibile avere un lisp che automatizzi almeno in parte queste operazioni e semplifichi i calcoli?
pensavo ad un comando che gestisca linee, archi, polylinee, e polylinee 3D; una volta selezionato l'oggetto chieda direttamente il nome del blocco e anzichè dirgli in quanti punti suddividere immettere il valore d'interasse e con una serie di appossimazioni si calcoli automaticamente le divisioni. potrebbe andar bene anche una finestra a comparsa.... credete sia possibile?

faccio un esempio:
nome blocco: palo
lunghezza polylinea da suddividere: 2158,7523
interasse tra i blocchi: 150
risultano 14,39 suddivisioni da arrotondare a 14
il lisp mi inserisce il blocco "palo" utilizzando 14 suddivisioni

Grazie

ps: se è troppo lavoro come non detto!
 

lattu

Moderatore
Staff Forum
Professione: Libero professionista
Software: Autocad - 3ds Max - Inventor - Blender - Fusion 360
Regione: Lombardia - BG
#3
scusa se non ho risposto prima... sembrerebbe già perfetto così. se eventualmente c'è qualcosa te lo dico. intanto grazie mille!
tra l'altro ho notato che hai inserito l'allineamento automatico del blocco, sei un grande!
 

lattu

Moderatore
Staff Forum
Professione: Libero professionista
Software: Autocad - 3ds Max - Inventor - Blender - Fusion 360
Regione: Lombardia - BG
#4
si può bypassare il "problema" che si crea con l'inserimento di blocchi su piani inclinati come da esempio allegato?
 

Allegati

lattu

Moderatore
Staff Forum
Professione: Libero professionista
Software: Autocad - 3ds Max - Inventor - Blender - Fusion 360
Regione: Lombardia - BG
#6
davvero? allora stasera lo provo
 

lattu

Moderatore
Staff Forum
Professione: Libero professionista
Software: Autocad - 3ds Max - Inventor - Blender - Fusion 360
Regione: Lombardia - BG
#7
sono riuscito a verificare solo ora. grandioso! ti devo un paio di birre
 

lattu

Moderatore
Staff Forum
Professione: Libero professionista
Software: Autocad - 3ds Max - Inventor - Blender - Fusion 360
Regione: Lombardia - BG
#8
ciao, ho trovato un piccolo errore: se ho un blocco che ha un nome composto da due o più parole il lisp non funziona perfettamente, ovvero la barra spaziatrice la prende come un comando d'invio.
si può risolvere?
 

GP.

Utente Senior
Professione: Nientologo
Software: uozapp
Regione: Vercelli
#9
Inserisci t in questa posizione nel codice:

(setq nb (getstring t (strcat "\nNome del Blocco" (if nb (strcat " <" nb ">: ")": "))))