TuttoCAD Forum

TuttoCAD Forum
[ Home | Registrati | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Album Fotografico | Download | | Cerca | FAQ ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 1 - TuttoCAD Software
 AutoCAD
 Discretizzare arco 3D in polilinea 3D
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

aforza
Utente Master


Regione: Italia
Prov.: Padova
Città: Cavarzere(VE)-Monselice(PD)


1798 Messaggi

Inserito il - 12 gennaio 2010 : 10:05:45  Mostra Profilo  Rispondi Quotando
ciao,

ho degli archi con direzione di estrusione (210) diversa e il software di progettazione stradale non li gestisce perchè non sono complanari (z punto iniziale diversa da z punto finale)

qualcuno ha qualcosa per convertirli in ploy3D

Ho un vago ricordo di una discussione ma con il cerca non trovo nulla

Dimenticavo, sto facendo un lispetto sche sfrutta dividi, ma cercavo qualcosa di più tosto

ciao

Andrea Forza

CadWorx 2014 & Plant3D AutoCAD 2014 su Seven 64bit - Dell Vostro i7 ram 8gb - doppio monitor Hanns-g 22"

Modificato da - aforza in Data 12 gennaio 2010 10:08:50

TheGrey61
Utente Master


Regione: Piemonte
Prov.: Torino
Città: Rivalta di Torino


1039 Messaggi

Inserito il - 12 gennaio 2010 : 11:27:48  Mostra Profilo Invia a TheGrey61 un Messaggio Privato  Rispondi Quotando
Ciao Andrea, dunque la conversione in poly3d? Ma scusa da cosa parti come archi iniziali: archi o spline? O che altro? Non potresti azzerare l'asse Z con flatten?

Modificato da - TheGrey61 in data 12 gennaio 2010 11:31:26
Torna all'inizio della Pagina

GP
Utente Master


Regione: Piemonte
Prov.: Vercelli


2778 Messaggi

Inserito il - 12 gennaio 2010 : 12:08:32  Mostra Profilo Invia a GP un Messaggio Privato  Rispondi Quotando
Se gli archi sono di una poly 2D puoi usare questo lisp:

PEDIT3D.zip

Se invece sono archi puoi trasformare prima in poly2D con:

circle2pl.zip

e poi usare il primo lisp per trasformare in poly3D.

Le varie discussioni in cui se ne
parlava sono mutilate.

Torna all'inizio della Pagina

aforza
Utente Master


Regione: Italia
Prov.: Padova
Città: Cavarzere(VE)-Monselice(PD)


1798 Messaggi

Inserito il - 12 gennaio 2010 : 12:11:38  Mostra Profilo  Rispondi Quotando
ciao,

parto da archi 3D e voglio xyZ di n. punti lungo l'arco per costruire una poly 3D e triangolare

provo i lispetti e vi dico

ciao

Andrea Forza

CadWorx 2014 & Plant3D AutoCAD 2014 su Seven 64bit - Dell Vostro i7 ram 8gb - doppio monitor Hanns-g 22"
Torna all'inizio della Pagina

aforza
Utente Master


Regione: Italia
Prov.: Padova
Città: Cavarzere(VE)-Monselice(PD)


1798 Messaggi

Inserito il - 12 gennaio 2010 : 12:37:20  Mostra Profilo  Rispondi Quotando
ciao,

il programma pedit3d.lsp fa proprio al caso mio, sfrutta il comando dividi per generare un lista di punti 3d che poi unisce

mi hai fermato appena in tempo...

p.s. il nome non mi è nuovo!!!!!

Grazie 1000

Ciao

Andrea Forza

CadWorx 2014 & Plant3D AutoCAD 2014 su Seven 64bit - Dell Vostro i7 ram 8gb - doppio monitor Hanns-g 22"
Torna all'inizio della Pagina

GP
Utente Master


Regione: Piemonte
Prov.: Vercelli


2778 Messaggi

Inserito il - 12 gennaio 2010 : 12:55:01  Mostra Profilo Invia a GP un Messaggio Privato  Rispondi Quotando
Prego, se lo ritieni puoi modificare i parametri del lisp:

(defun PARA()
(setq spldiv 100) ; spline is to divide in 100 linear segments
(setq fuzz 0.001) ; fuzzy gap to close polylines
(setq arcdiv 10) ; quarter arc (90ø) is to divide in 10 segments
)


Mi correggo per quanto riguarda il lisp circle2pl, funziona su cerchi e non su archi.
Torna all'inizio della Pagina

aforza
Utente Master


Regione: Italia
Prov.: Padova
Città: Cavarzere(VE)-Monselice(PD)


1798 Messaggi

Inserito il - 28 maggio 2010 : 11:19:51  Mostra Profilo  Rispondi Quotando
ciao,

ho inserito un paio di modifiche tipo cancellare l'oggetto originale e posizionare la nuova polilinea sul layer dell'oggetto originale, poi volevo inserire la selezione multipla ma quando passo l'oggetto alla routin originale non lo accetta probabilemnte perchè la riga:

(setq selection_set (ssget)) restituisce :<Selection set: 457> SELEZIONE

mentre qello che gli passo io è:

(setq selection_set_AF (ssname selez ind)) restituisce <Nome entità: 7ee4feb8> NOME ENTITà

ho provato vari modi - riselezionando - ma no funzia!!!!

sono fuori allenamento....

ciao


Andrea Forza

CadWorx 2014 & Plant3D AutoCAD 2014 su Seven 64bit - Dell Vostro i7 ram 8gb - doppio monitor Hanns-g 22"
Torna all'inizio della Pagina

GP
Utente Master


Regione: Piemonte
Prov.: Vercelli


2778 Messaggi

Inserito il - 28 maggio 2010 : 15:27:14  Mostra Profilo Invia a GP un Messaggio Privato  Rispondi Quotando
(setq selection_set (ssget))
(setq ind -1)
(repeat (sslength selection_set)
(setq selection_set_AF (ssname selection_set (setq ind (1+ ind))))

.......................
.......................
.......................

)
Torna all'inizio della Pagina

aforza
Utente Master


Regione: Italia
Prov.: Padova
Città: Cavarzere(VE)-Monselice(PD)


1798 Messaggi

Inserito il - 28 maggio 2010 : 15:53:47  Mostra Profilo  Rispondi Quotando
ciao,

ricapitoliamo/semplifico io ho aggiunto una nuovo defun principale in questo faccio una selezione multipla poi prendo il singolo oggetto e lo passo a al defun PEDIT3D e questo se ne frega, vedi per quello che ho indicato prima.

la variabile finale deve essere selection_set vedi riga 211

-----------------
(defun AA (/); per selezione multipla
(setq selez (ssget))
(setq tot (sslength selez))
(setq ind 0)
(while ( < ind tot )
(setq ent (ssname selez ind))
(setq selection_set_AF (ssname selez ind))
(if (= selection_set_AF nil) (Princ "/n Selezione Vuota.") (PEDIT3D))
(setq ind (+ ind 1))
(setq ent (entnext ent))
) ; chiude il while
) ; chiude il defun
-----------------------------------------------------
nel defun PEDIT3D

alla riga 211 ho aggiunto (setq selection_set selection_set_AF) ----- lo so che non funziona così è per trasmetterti il pensiero forza.

devo ritrovare l'entusiamo LISP che ultimamente ho un pò perso....

ciao




Andrea Forza

CadWorx 2014 & Plant3D AutoCAD 2014 su Seven 64bit - Dell Vostro i7 ram 8gb - doppio monitor Hanns-g 22"
Torna all'inizio della Pagina

joseph
Utente Master



Regione: Lombardia
Prov.: Cremona
Città: Casalmaggiore


1884 Messaggi

Inserito il - 28 maggio 2010 : 17:02:02  Mostra Profilo Invia a joseph un Messaggio Privato  Rispondi Quotando
1- Nella funzione AA devi filtrare gli oggetti che vuoi manipolare
2- Una selezione è vuota se la variabile TOT, nel tuo caso, è Zero.
3- La funzione Pedit3D, alla tua riga 212, dovrebbe essere scritta nella forma (Pedit3D Selez), solamente che il Lisp Pedit3D che stai usando non accetta variabili all'ingresso, ma chiede lui stesso di creare la selezione; perciò dovresti modificare la prima parte della funzione principale del file Pedit3D, modificando pure l'intestazione da (C:PEDIT3D ( / osmode, ecc.,...) a (PEDIT3D ( ssget / osmode, ecc....)
Torna all'inizio della Pagina

aforza
Utente Master


Regione: Italia
Prov.: Padova
Città: Cavarzere(VE)-Monselice(PD)


1798 Messaggi

Inserito il - 28 maggio 2010 : 17:18:55  Mostra Profilo  Rispondi Quotando
ciao,

al punto 1 non c'è problema
al punto 2 toto è il totale degli oggetti selezionati non c'è problema
al punto 3 poco chiaro, comunque sembra quello che ho fatto...

ma dalla AA non passa la selezione a PEDIT3D... proverò a casa

ciao

Andrea Forza

CadWorx 2014 & Plant3D AutoCAD 2014 su Seven 64bit - Dell Vostro i7 ram 8gb - doppio monitor Hanns-g 22"
Torna all'inizio della Pagina

GP
Utente Master


Regione: Piemonte
Prov.: Vercelli


2778 Messaggi

Inserito il - 28 maggio 2010 : 17:19:39  Mostra Profilo Invia a GP un Messaggio Privato  Rispondi Quotando
Così com'è strutturato il lisp, per passargli una sola entità, devi creare un gruppo di selezione (selection_set) composto solamente da quella entità, prova così:

1)

(defun AA (/); per selezione multipla
(setq selez (ssget))
(setq tot (sslength selez))
(setq ind 0)
(while ( < ind tot )
(setq ent (ssname selez ind))
(setq selection_set_AF (ssname selez ind))
(if (= selection_set_AF nil) (Princ "/n Selezione Vuota."))

(if (/= selection_set_AF nil)
(progn
(setq selection_set nil)
(setq selection_set (ssadd))
(setq selection_set (ssadd selection_set_AF selection_set))
(PEDIT3D)
)
)


(setq ind (+ ind 1))
(setq ent (entnext ent))
) ; chiude il while
) ; chiude il defun



2)

cancella C: e selecion_set qui:

(defun C:PEDIT3D (/ osmode_old aunits_old pplist selection_set typ i
unord_list ord_list pt fuzz arcdiv spldiv)



3)

in PEDIT3D cancella la richiesta del gruppo di selezione perchè venga utilizzato quello che hai precedentemente costruito:

........
........
(para)
(setq selection_set (ssget))
(command "_nomutt" "1")
........
........




p.s. domanda spontanea: che cazzarola stai combinando?!?
p.p.s. ma sullo Stelvio non eravate in due?

Torna all'inizio della Pagina

aforza
Utente Master


Regione: Italia
Prov.: Padova
Città: Cavarzere(VE)-Monselice(PD)


1798 Messaggi

Inserito il - 28 maggio 2010 : 17:32:48  Mostra Profilo  Rispondi Quotando
ciao,

ma cosa vuoi che combini, il lisp originale non funziona con la selezione multipla.. tutto qua
purtroppo nei rilievi a volte appaiono polilinee 3d con archi ed il software prost non le gestisce allora converto in polilinee 3d di n punti, tutto qua...

si eravamo in due..ex.. ma sei peggio di Zenigata.....

per il resto non funzionaaaaaaaaaaaaaaaaaa

Provo a Casa magari è una cavolata e non la vedo...

Ciao

Andrea Forza

CadWorx 2014 & Plant3D AutoCAD 2014 su Seven 64bit - Dell Vostro i7 ram 8gb - doppio monitor Hanns-g 22"

Modificato da - aforza in data 28 maggio 2010 17:36:13
Torna all'inizio della Pagina

GP
Utente Master


Regione: Piemonte
Prov.: Vercelli


2778 Messaggi

Inserito il - 28 maggio 2010 : 18:02:49  Mostra Profilo Invia a GP un Messaggio Privato  Rispondi Quotando
Ma comeeeeeee!!!

Fai così: (defun C:AA (/); per selezione multipla

a me funziona...


PEDIT3D_AF.zip


Torna all'inizio della Pagina

aforza
Utente Master


Regione: Italia
Prov.: Padova
Città: Cavarzere(VE)-Monselice(PD)


1798 Messaggi

Inserito il - 31 maggio 2010 : 09:49:27  Mostra Profilo  Rispondi Quotando
ciao

si si a casa funzionava, forse non ho mai chiuso autocad e qualche variabile rimaneva settata.

Scarica allegato:

PEDIT3D_AF.ZIP
3,4 KB

ecco

Grazie Mille

Ciao

Andrea Forza

CadWorx 2014 & Plant3D AutoCAD 2014 su Seven 64bit - Dell Vostro i7 ram 8gb - doppio monitor Hanns-g 22"

Modificato da - aforza in data 31 maggio 2010 09:50:59
Torna all'inizio della Pagina

luigiraffaele
Nuovo Arrivato



1 Messaggi

Inserito il - 13 gennaio 2011 : 17:37:54  Mostra Profilo Invia a luigiraffaele un Messaggio Privato  Rispondi Quotando
Nel caso si selezionino inavvertitamente ed erroneamente delle entità distanti tra loro una quantità maggiore del fuzz, sembra che il lisp blocchi tutto il CAD. Sul fatto che questa operazione non sia corretta non ci piove, sul fatto che blocchi comunque tutto, beh!! è abbastanza antipatico. Infatti, una volta verificatosi l'errore, le scritte che normalmente appaiono nel prompt dei comandi non sono più visibili. Inoltre, utilizzando altri comandi essi vengono eseguiti, ma il comando eseguito non compare nel prompt (o meglio, compaiono solo le lettere finali). Sembra tutto piantato....
Conoscete qualche modifica al lisp che permetta di non far andare in crash tutto il sistema in caso di distanza > del fuzz?
Esiste qualche comando (tipo ESC, che in questo caso non funziona) che permetta di uscire dalla routine lisp e ripristinare la situazione iniziale (a parte quella di chiudere e riaprire il CAD.....)?
Grazie a tutti.
Luigi
Torna all'inizio della Pagina

aforza
Utente Master


Regione: Italia
Prov.: Padova
Città: Cavarzere(VE)-Monselice(PD)


1798 Messaggi

Inserito il - 14 gennaio 2011 : 15:02:36  Mostra Profilo  Rispondi Quotando
ciao,

quando si pianta non si resettano delle variabili vedi.

---------------------

(command "_nomutt" "0")
(command "OSMODE" osmode_old)
(command "_AUNITS" aunits_old)
(command "_cmdecho" 1)

---------------------


comunque se cerchi nel forum c'è un'altro lisp fatto da terminator, vedi se quello ti piace di più

ciao

Andrea Forza

CadWorx 2014 & Plant3D AutoCAD 2014 su Seven 64bit - Dell Vostro i7 ram 8gb - doppio monitor Hanns-g 22"
Torna all'inizio della Pagina
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
TuttoCAD Forum © 2001-2010 CADLandia Torna all'inizio della Pagina
Pagina generata in 1,29 secondi.