Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Urgente] - Come si disegna in AutoCAD un ellisse prospettica?

1,237 views
Skip to first unread message

Emiliano - EmiCAD®

unread,
May 24, 2003, 8:06:06 AM5/24/03
to
Ciao a tutti,
ho un grosso problema in AutoCAD, non riesco a disegnare un ellisse vista in
"prospettiva".
Spero di dica prospettiva non vorrei si dicesse in "assonomometria".

Per fare un esempio più pratico questa ellisse deve essere perfettamente
inscritta in un parallelogramma il quale ha i lati più lunghi parallelo
all'asse X e i lati obliqui paralleli tra di loro con inclinazione casuale
(per semplicità 30 gradi).
I "snap quadrante" dell'ellisse devono quindi coincidere con i punti medi
dei lati del parallelogramma (o almeno penso); sicuramente nessuna parte
dell'ellisse deve fuoriuscire dal parallelogramma.

Ho provato a disegnare questa ellisse come approssimazione di archi, ma è un
casino calcolarsi i punto intermedi dei vari archi. Se in AutoCAD non si può
fare c'è qualche LISP in rete...

Spero di essere stato abbastanza chiaro.


Ringrazio tutti in anticipo.
Ciao


--
Emiliano - Webmaster di EmiCAD® - Tutto per AutoCAD e IntelliCAD
e-mail: webm...@emicad.it
web: www.emicad.it


giona

unread,
May 25, 2003, 5:32:24 AM5/25/03
to

> ho un grosso problema in AutoCAD, non riesco a disegnare un ellisse vista
in
> "prospettiva".
> questa ellisse deve essere perfettamente
> inscritta in un parallelogramma il quale ha i lati più lunghi parallelo
> all'asse X e i lati obliqui paralleli tra di loro con inclinazione casuale
> (per semplicità 30 gradi).

Un modo potrebbe essere questo : (trovare un LISP belle e fatto, sarebbe
meglio)

1 - disegna due rettangoli rispettivamente su una base base e su un lato
2 - con l`aiuto dello snap "mid" disegna in questi rettangoli due elissi (
comando elisse)
3 - dividi il perimetro degli elissi per 20 ( o quello che vuui basta che
sia multiplo di 4)
4 - traccia una linea che passi dal centro di ogni elisse e che arrivi
perpendicolare al lato e alla base del del roboide .
5 - con il comando copia multiplo copia questa linea su ciascun punto della
divisione che ai precedentemente ottenuto
6 - partendo dalle intersezioni creatosi fra le linee e i lati del
parallelepipedo crea una griglia i cui punti ti servono per tracciare una
polilinea ( deve essere una polilinea chiusa)
7 - con il comando "edit polilinea" seleziona + " fit curve")

se ti serve potrei mandarti un esempio ( DWG)


ciao
Var


Emiliano - EmiCAD®

unread,
May 25, 2003, 6:00:17 AM5/25/03
to
>
> se ti serve potrei mandarti un esempio ( DWG)
>

Mandami il disegno, vedo se posso fare io un LISP...

Ciao e grazie

Apteryx

unread,
May 25, 2003, 6:41:10 AM5/25/03
to

"Emiliano - EmiCAD®" <webm...@emicad.it> ha scritto

> ho un grosso problema in AutoCAD, non riesco a disegnare un ellisse vista
in
> "prospettiva".
> Spero di dica prospettiva non vorrei si dicesse in "assonomometria".

Praticamente un'ellisse inscritta in un parallelogramma è la proiezione
prospettica di una circonferenza inscritta in un quadrato, non ho sottomano
le regole dell'omologia o comunque un libro di geometria descrittiva, ma
credo che tu possa ricavarla ricostruendo il percorso inverso...
diversamente fatti un cerchio in quadrato li metti in prospettiva finchè non
tornano giusti come servono a te e stampi su dxb. Sò che non sono molto
pratici come consigli...


Emiliano - EmiCAD®

unread,
May 25, 2003, 2:39:16 PM5/25/03
to

"Apteryx" <apt...@k12.au> ha scritto nel messaggio
news:a51Aa.145310$3M4.3...@news1.tin.it...

Ciao la soluzione potrebbe essere valida, ma dovrei disegnare centinaia di
ellissi diverse, e utilizzare questo procedimento richiederebbe troppo
tempo.
Quello che mi occorrerebbe a questo punto è proprio qualche formula
matematica/geometrica, in grado di calcolare l'ellisse prospettica.

Ciao e grazie comunque.

Apteryx

unread,
May 26, 2003, 9:12:15 AM5/26/03
to

"Emiliano - EmiCAD®" <webm...@emicad.it> ha scritto

> Quello che mi occorrerebbe a questo punto è proprio qualche formula


> matematica/geometrica, in grado di calcolare l'ellisse prospettica.

Ragionandoci, un quadrato in prospettiva diventa un trapezio, quindi la tua
ellisse dovrebbe essere inscritta in un trapezio isoscele,

Vediamo un po' dovresti scrivere l'equazione di un'ellisse poi occorre
mettere che è tangente a 2 rette e che si conosce l'asse minore
(la dist tra le due rette orizzontali cui è tangente) allora:

ax² + bxy + cy² + dx + ey + f = 0 (eq conica)

é un'ellisse se: b² - 4ac < 0

e le condizioni di tangenza... insomma servono 6 condizioni.. e poi non mi
ricordo più perchè è tanto tempo che ho fatto geometria... ;-PP

Emiliano - EmiCAD®

unread,
May 26, 2003, 2:43:45 PM5/26/03
to

"Apteryx" <apt...@k12.au> ha scritto nel messaggio
news:PooAa.251892$K35.6...@news2.tin.it...

>
> "Emiliano - EmiCAD®" <webm...@emicad.it> ha scritto
>
> > Quello che mi occorrerebbe a questo punto è proprio qualche formula
> > matematica/geometrica, in grado di calcolare l'ellisse prospettica.
>
> Ragionandoci, un quadrato in prospettiva diventa un trapezio, quindi la
tua
> ellisse dovrebbe essere inscritta in un trapezio isoscele,

Non esattamente, la prospettiva o assonomitria (faccio sempre confusione) di
un quadrato per me deve essere un parallelogramma.
Se vuoi ti mando un DWG per farti capire meglio il problema.
Sto cercando di realizzare un LISP ma è un grande casino!! e mi serve
assolutamente per Giovedi.

Ciao e grazie

Emiliano - EmiCAD®

unread,
May 27, 2003, 2:23:26 AM5/27/03
to
Ciao, ho trovato come risolvere graficamente l'ellisse prospettica con
l'utilizzo delle tangenti e sono quindi riuscito a sviluppare questo LISP
che mi sembra funzionare molto bene!!
Il comando non fa altro che approssimare un'ellisse con una polilinea
passante per i suoi punti
Fammi sapere che te ne sembra...

Ciao


--
Emiliano - Webmaster di EmiCAD® - Tutto per AutoCAD e IntelliCAD
e-mail: webm...@emicad.it
web: www.emicad.it


(defun c:emielli ()
;*************************************
(setq var (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
(setq old-error *error*)
(defun *error* (msg)
(setq messaggio (strcat "EmiLISP ha riscontrato il seguente errore: "
msg))
(princ messaggio)
(setq *error* old-error)
(command "_undo" "_end" "_u")
(exit)
)
(command "_undo" "_be")
(setq SNAPCORR (getvar "OSMODE"))
;*****************************
(setq nprec 20) ;precisione dell'ellisse, deve essere un numero pari
(setq listapunti nil)

(setq p1 (getpoint "\nInizio del del primo asse dell'ellisse: "))
(setq p2 (getpoint p1 "\nFine del del primo asse dell'ellisse: "))
(setq p3 (getpoint "\nInizio del del secondo asse dell'ellisse: "))
(setq p4 (getpoint p3 "\nFine del del secondo asse dell'ellisse: "))
(setvar "OSMODE" 0)
(setq pA (polar p3 (angle p1 p2) (/ (distance p1 p2) 2)))
(setq pB (polar p4 (angle p1 p2) (/ (distance p1 p2) 2)))
(setq pC (polar p4 (- (angle p1 p2) pi) (/ (distance p1 p2) 2)))
(setq pD (polar p3 (- (angle p1 p2) pi) (/ (distance p1 p2) 2)))
(setq pint (inters p1 p2 p3 p4 nil))
(setq l (/ (distance pA pB) (* nprec 2)))
(setq b (/ (distance pint p2) nprec))
(setq SL l)
(setq SB b)

(setq pX (polar pA (angle pA pB) sL))
(setq pY (polar pint (angle p1 p2) SB))
(setq PV (inters p3 pX p4 pY nil))
(setq listapunti (append listapunti (list PV)))
(repeat nprec
(setq sL (+ sL l))
(setq sB (+ sB b))
(setq pX (polar pA (angle pA pB) sL))
(setq pY (polar pint (angle p1 p2) sB))
(setq PV (inters p3 pX p4 pY nil))
(setq listapunti (append listapunti (list PV)))
)
(setq SB b)
(repeat nprec
(setq sL (+ sL l))
(setq sB (+ sB b))
(setq pX (polar pA (angle pA pB) sL))
(setq pY (polar p2 (angle p2 p1) sB))
(setq PV (inters p3 pY p4 pX nil))
(setq listapunti (append listapunti (list PV)))
)

(setq SL l)
(setq SB b)
(setq pX (polar pC (angle pC pD) sL))
(setq pY (polar pint (angle p2 p1) sB))
(setq PV (inters p4 pX p3 pY nil))
(setq listapunti (append listapunti (list PV)))
(repeat nprec
(setq sL (+ sL l))
(setq sB (+ sB b))
(setq pX (polar pC (angle pC pD) sL))
(setq pY (polar pint (angle p2 p1) sB))
(setq PV (inters p4 pX p3 pY nil))
(setq listapunti (append listapunti (list PV)))
)
(setq SB b)
(repeat nprec
(setq sL (+ sL l))
(setq sB (+ sB b))
(setq pX (polar pC (angle pC pD) sL))
(setq pY (polar p1 (angle p1 p2) sB))
(setq PV (inters p4 pY p3 pX nil))
(setq listapunti (append listapunti (list PV)))
)

(command "polilinea")
(foreach p listapunti (command p))
(command)
;fine procedura
(setvar "OSMODE" SNAPCORR)
(setq *error* old-error)
(command "_undo" "_end")
(setvar "cmdecho" var)
(princ)
)


Emiliano - EmiCAD®

unread,
May 27, 2003, 2:34:22 AM5/27/03
to
Ciao scusami ma nel LISP di prima c'è un piccolo errore prova a utilizzare
questo.
C'è comunque qualcosa da correggere, ma penso di essere già a buon punto.

Ciao

(command "_pline")

Apteryx

unread,
May 27, 2003, 6:34:38 AM5/27/03
to

"Emiliano - EmiCAD®" <webm...@emicad.it> ha scritto

> Ciao, ho trovato come risolvere graficamente l'ellisse prospettica con


> l'utilizzo delle tangenti e sono quindi riuscito a sviluppare questo LISP
> che mi sembra funzionare molto bene!!
> Il comando non fa altro che approssimare un'ellisse con una polilinea
> passante per i suoi punti
> Fammi sapere che te ne sembra...

Complimenti!
Davvero buono, e decisamente migliore del comando ellisse di acad. (alla
fine ho capito, a te serviva un'ellisse in assonometria).

Ciao.


urfa...@gmail.com

unread,
Aug 18, 2017, 11:54:24 AM8/18/17
to
Come disegnare una circonferenza in prospettiva?
La prospettiva di una circonferenza e un ellisse, e con autocad disegnare un ellisse è semplicissimo. Basta conoscere gli assi e il centro.
Il problema è questo; disegno un quadrato circoscritto ad una circonferenza, mi disegno la prospettiva del quadrato nota la distanza e l'altezza dell'occhio, ma quando uso il comando ellisse sul quadrato in prospettiva non riesco a trovare ne il centro ne i due assi.

Qualcuno sa come risolvere il problema evitandò di dusegnave l'ellisse punto per punto?
Message has been deleted
0 new messages