Inserire una serie non regolare di punti su una polilinea

Sandra_ME30

Super Moderatrice
Professione: SuperModeratrice
Software: ND
Regione: Reggio Emilia
bitcad 15.12.15 16:39

Salve,
sapreste indicarmi come poter inserire una serie non regolare di punti su una polilinea?
Non ho bisogno di utilizzare il comando dividi di autocad in quanto il comando segna un punto con un passo prefissato. Invece in un programma esterno calcolo dei punti che poi devo segnare sulla polilinea. Essendo un gran numero di punti, volevo automatizzare il sistema fornendo una lista ad autocad. Supponendo di avere una polilinea, con andamento irregolare, vorrei segnare un primo punto a 10 metri dall'inizio, poi a 53 metri, a 123 metri, a 131 etc..
 

Sandra_ME30

Super Moderatrice
Professione: SuperModeratrice
Software: ND
Regione: Reggio Emilia
Tristan 15.12.15 17:29

Con i comandi standard di AutoCAD non ce la si fa...bisogna fare un programmino LISP o VBA
 

Sandra_ME30

Super Moderatrice
Professione: SuperModeratrice
Software: ND
Regione: Reggio Emilia
bitcad 15.12.15 17:49

Lo so, infatti spero che qualche luminare di Lisp riesca a darmi qualche consiglio utile.
 

Sandra_ME30

Super Moderatrice
Professione: SuperModeratrice
Software: ND
Regione: Reggio Emilia
dieva 16.12.15 12:25

Originariamente Scritto da bitcad Visualizza Messaggio
Salve,
sapreste indicarmi come poter inserire una serie non regolare di punti su una polilinea?
Non ho bisogno di utilizzare il comando dividi di autocad in quanto il comando segna un punto con un passo prefissato. Invece in un programma esterno calcolo dei punti che poi devo segnare sulla polilinea. Essendo un gran numero di punti, volevo automatizzare il sistema fornendo una lista ad autocad. Supponendo di avere una polilinea, con andamento irregolare, vorrei segnare un primo punto a 10 metri dall'inizio, poi a 53 metri, a 123 metri, a 131 etc..
Se ti accontenti di mettere un cerchio al posto del punto e specificare le distanze una alla volta puoi usare il mio STAD.LSP
lo trovi alla fine di questa pagina http://www.domenicoieva.com/alisp.htm
 

Sandra_ME30

Super Moderatrice
Professione: SuperModeratrice
Software: ND
Regione: Reggio Emilia
rpor66 16.12.15 14:44

Ti crei la variabile ListaPt contenente l'elenco delle distanze parziali, ti ho aggiunto un esempio nel file allegato.
Tramite il comando DisListaPt, selezioni la polilinea e verranno disegnati i punti partendo dall'inizio della polilinea stessa.

Bye
 

Sandra_ME30

Super Moderatrice
Professione: SuperModeratrice
Software: ND
Regione: Reggio Emilia
bitcad 18.12.15 10:03

Rpor66 grazie infinite per la soluzione, funziona perfettamente. Ho notato che funziona con qualsiasi oggetto.
Grazie anche perché ho scoperto tramite il Suo codice altre funzioni messe a disposizione di Autodesk senza dover impazzire nei meandri di un database cad.
 

Sandra_ME30

Super Moderatrice
Professione: SuperModeratrice
Software: ND
Regione: Reggio Emilia
rpor66 18.12.15 10:33

Prego, condividere la propria conoscenza è un piacere.
 

noise213

Utente poco attivo
Professione: Ingegnere civile
Software: autocad
Regione: Emilia ROmagna
Come posso creare la variabile di sistema ListaPt?
 

asergente

Utente poco attivo
Professione: geometra
Software: autocad
Regione: campania
ciao
qualcuno può aiutarmi non riesco a far funzionare stad.lsp ne DisListaPt.lsp
 

x11start

Utente Standard
Professione: Disegnatore prefabbricati
Software: Autocad
Regione: Piemonte
Da linea di comando (quella in basso sulla schemata di Autocad) devi scrivere:
(load"Plinea-punti da lista")
e premere INVIO.
Ti verrà risposto:
CI: SLISTAPT

Se così non è, significa che non ha trovato il file, quindi devi metterlo in una cartella fra quelle riconosciute da Autocad oppure creare una cartella in un posto "comodo" per es: C:\MIEILISP, metterci il file dentro, poi aprire le opzioni di Autocad (Tasto Destro del mouse, ultimo comando al fondo della lista, oppure digiti OPZIONI su riga di comando), poi vai sulla cartelletta FILE e clicchi sul + accanto a "Percorso di ricerca dei file di supporto", clicchi su AGGIUNGI e ci metti C:\MIELISP. Premi APPLICA poi OK esci e rientri in Autocad. Ora quella cartella è riconosciuta da Autocad, quindi i lisp che ci metti dentro lo puoi caricare con un (load"nomedelprogramma") e lanciarli.
Per lanciare un lisp devi digitare il nome che ti compare dopo il C:, in risposta al caricamento: nell'esempio precedente devi digitare DISLISTAPT.
Il comando da digitare per il lancio è quello che compare dopo il (defun C:...
quindi aprendo il lisp con blocco note, vedrai qual'è il comando da utilizzare.
Se eseguendo il comando non vedi comparire dei punti sulla polilinea selezionata, è solo perchè i punti sono un puntino e non una crocetta: prova a cambiare lo stile del punto (da riga di comando digita PDMODE e dagli valore 2 o 3).
 

asergente

Utente poco attivo
Professione: geometra
Software: autocad
Regione: campania
Grazie "x11start"
il problema è un altro, riesco a caricare in autocad il lisp, poi però successivamente alla selezione della polilinea richiestami mi compare il seguente messaggio:errore: no function definition: VLAX-ENAME->VLA-OBJECT
 

x11start

Utente Standard
Professione: Disegnatore prefabbricati
Software: Autocad
Regione: Piemonte
Purtroppo non sono esperto dei comandi VLAX.... (!), quindi non ti so rispondere...
La prima riga (vl-load-com) é presente? Senza quella i comandi VL... non funzionano.
Hai autocad completo, non Autocad LT vero? I lisp non funzionano su LT.
Mi dispiace ma di più non so dirti....