• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Leggi altro.

Cerchio tangente

titor

Utente Junior
Professione: tecnico in ente pubblico
Software: Autocad 2008
Regione: Piemonte
#1
..a costo di fare la figura del principio di principiante....:eek:

.....ho questo problema: ho scritto una routine in lisp che, date due linee che si intersecano, calcola il raggio del cerchio tale per cui il cerchio va ad essere tangente a tot metri dall'intersezione delle due linee (valore inserito dall'utente).
Noto questo raggio devo disegnare questo cerchio: da Autocad, con il comando cerchio-tang-tang- raggio ed è fatto.

Come traduco questo con qualche comando lisp? E' meglio andare con command o sfruttare entmake con tutti i parametri?

Spero di essere stato chiaro, grazie a chi vorrà dedicarmi un po' del suo tempo ciao.:)
 

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, GstarCAD, CadWorx, Excel, Lisp, VBA
Regione: Sicilia
#2
Non so quanto pratico tu sia di lisp, posto il dwg con uno dei modi per costruire quello che chiedi (diciamo quello che ho capito)

Parto dal presupposto di conoscere il punto Pt1 (intersezione delle 2 linee) e Pt3 (punto finale della linea)
 

Allegati

titor

Utente Junior
Professione: tecnico in ente pubblico
Software: Autocad 2008
Regione: Piemonte
#3
Grandissimo!!!! ...sono poco pratico di lisp, ma è proprio ciò che avevo bisogno (il problema nasce dall'inserire in automatico una curva circolare tra due rettifli in un tracciato stradale).
Alla fine avevo risolto usando (command "circle" ttr p1 p2 r), anche questa soluzione mi è stata suggerita:eek:

....grazie:):)
 
Ultima modifica:

titor

Utente Junior
Professione: tecnico in ente pubblico
Software: Autocad 2008
Regione: Piemonte
#4
...mi permetto di avanzare ancora una richiesta se possibile.:eek:
Una volta che ho disegnato il cerchio dovrei trimmare cliccando sul cerchio e poi togliere la punta dove si incrociano le linee e il pezzo di cerchio dal lato dove le due linee divergono in modo da lasciare una sequenza retta-arco-retta.
E' possibile ? :) grazie ciao
 

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, GstarCAD, CadWorx, Excel, Lisp, VBA
Regione: Sicilia
#5
Ma perché non fai il fillet (raccorda) delle 2 linee?
Hai il raggio, ottieni lo stesso risultato con poco lavoro.

(setvar "filletrad" raggio)
(command "_fillet" Ent1 Ent2)

Avendo la coordinata Pt2, puoi selezionare la linea tramite:
(setq Ent1 (ssget Pt2))

Fai la stessa operazione per l'altra e il gioco è fatto.

Ciao

p.s.: scusa se non ho risposto prima ma CAD3D.it è diventato irragiungibile per un pò.