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

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Faccine
Felice [:)] Davvero Felice [:D] Caldo [8D] Imbarazzato [:I]
Goloso [:P] Diavoletto [):] Occhiolino [;)] Clown [:o)]
Occhio Nero [B)] Palla Otto [8] Infelice [:(] Compiaciuto [8)]
Scioccato [:0] Arrabbiato [:(!] Morto [xx(] Assonnato [|)]
Bacio [:X] Approvazione [^] Disapprovazione [V] Domanda [?]
Seleziona altre faccine

    
 
   

V I S U A L I Z Z A    D I S C U S S I O N E
aforza Inserito il - 12 gennaio 2010 : 10:05:45
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
16   U L T I M E    R I S P O S T E    (in alto le più recenti)
aforza Inserito il - 14 gennaio 2011 : 15:02:36
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
luigiraffaele Inserito il - 13 gennaio 2011 : 17:37:54
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
aforza Inserito il - 31 maggio 2010 : 09:49:27
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
GP Inserito il - 28 maggio 2010 : 18:02:49
Ma comeeeeeee!!!

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

a me funziona...


PEDIT3D_AF.zip


aforza Inserito il - 28 maggio 2010 : 17:32:48
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
GP Inserito il - 28 maggio 2010 : 17:19:39
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?

aforza Inserito il - 28 maggio 2010 : 17:18:55
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
joseph Inserito il - 28 maggio 2010 : 17:02:02
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....)
aforza Inserito il - 28 maggio 2010 : 15:53:47
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



GP Inserito il - 28 maggio 2010 : 15:27:14
(setq selection_set (ssget))
(setq ind -1)
(repeat (sslength selection_set)
(setq selection_set_AF (ssname selection_set (setq ind (1+ ind))))

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

)
aforza Inserito il - 28 maggio 2010 : 11:19:51
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

GP Inserito il - 12 gennaio 2010 : 12:55:01
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.
aforza Inserito il - 12 gennaio 2010 : 12:37:20
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
aforza Inserito il - 12 gennaio 2010 : 12:11:38
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
GP Inserito il - 12 gennaio 2010 : 12:08:32
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.

TheGrey61 Inserito il - 12 gennaio 2010 : 11:27:48
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?

TuttoCAD Forum © 2001-2010 CADLandia Torna all'inizio della Pagina
Pagina generata in 0,21 secondi.