Newsgroup: it.arti.architettura
Titolo: triangolo

come si fa un triangolo in autocad??
solo con la lunghezza dei tre lati?
grazie per i suggerimenti
feli...@tiscalinet.it

 wrote in message 8s7l2r$9oc$1...@nslave3.tin.it...



penso che se usi poligono e imposti i lati a tre dovrebbe funzionare (a
occhio)
ciao
mitsu

 
feli...@tiscalinet.it
caricati e usa questo lispino che ti ho fatto,
se non sai come usarlo vieni sul NG che ti ho indicato.
--
Ciao Giovanni A.
---cut---cut---cut---cut---cut---cut---cut---cut---cut---cut---cut---cut---
((defun c:trila ()
  (princ "\n----------------------------------------")
  (princ "\n Utility di trilaterazione")
  (princ "\n disegna un triangolo in funzione dei tre lati")
  (princ "\n di un punto di inserimento PA, di una direzione da PA a PB")
  (princ "\n di un lato in cui posizionare PC (a sx o dx del vettore PAPB)")
  (princ "\n sviluppata da Giovanni Anzani Ott2000")
  (princ "\n 
giova...@tiscalinet.it
 ")
  (princ "\n----------------------------------------")
 (initget 1)
 (setq PA   (getpoint "\nPunto di inserimento 1° vertice (A): "))
 (initget 7)
 (setq lABq (expt (setq lAB (getdist "\nLungh. 1° lato (AB): ")) 2))
 (initget 1)
 (setq dAB  (getangle PA "\nDirezione 1° lato (AB): "))
 (setq PB   (polar PA dAB lAB))
 (initget 7)
 (setq lACq (expt (setq lAC (getdist "\nLungh. 2° lato (AC): ")) 2))
 (initget 7)
 (setq lBCq (expt (setq lBC (getdist "\nLungh. 3° lato (BC): ")) 2))
 (initget 1 "S D")
 (setq opz  (getkword "\nDa che lato e' il punto C [Sin. Des.]?: "))
  ;sfruttando il teorema del coseno o di carnot (formula inversa):
  (setq lAHq (expt (setq lAH (/ (+ lABq lACq (- lBCq))  (* 2 lABq))) 2))
  (setq PH  (polar PA dAB lAH))
  (setq lCH (sqrt (- lACq lAHq)))
  (setq PC (if (= opz "S")
      (Polar PH (+ dAB (/ pi 2.0) ) lCH)
      (Polar PH (- dAB (/ pi 2.0) ) lCH)))
 (command "_pline" PA PB PC "_c"))
---cut---cut---cut---cut---cut---cut---cut---cut---cut---cut---cut---cut---

Il programmino precedente aveva un errore scusate,
c'era solo una "q" in piu' ma faceva un gran casino.
Per farmi perdonare ora ci sono due diverse versioni.
--
Ciao Giovanni Anzani.
LA PRIMA
 ---cut---cut---cut---cut---cut---cut---cut---cut---cut---cut---cut---cut---
(defun c:trila1 ()
  (princ "\n----------------------------------------")
  (princ "\n Utility di trilaterazione")
  (princ "\n disegna un triangolo in funzione dei tre lati")
  (princ "\n di un punto di inserimento PA, di una direzione da PA a PB")
  (princ "\n di un lato in cui posizionare PC (a sx o dx del vettore PAPB)")
  (princ "\n sviluppata da Giovanni Anzani Ott2000")
  (princ "\n 
giova...@tiscalinet.it
 ")
  (princ "\n----------------------------------------")
  ;METTERE VERIFICHE LUNGHEZZE
 (initget 1)       (setq PA    (getpoint "\nPunto di inserimento 1° vertice
(A): "))
 (initget 1)       (setq dirAB (getangle PA "\nDirezione 1° lato (AB): "))
 (initget 7)       (setq lABq  (expt (setq lAB (getdist "\nLunghezza 1° lato
(AB): ")) 2))
                   (setq PB    (polar PA dirAB lAB))
 (initget 7)       (setq lACq  (expt (setq lAC (getdist "\nLunghezza 2° lato
(AC): ")) 2))
 (initget 7)       (setq lBCq  (expt (setq lBC (getdist "\nLunghezza 3° lato
(BC): ")) 2))
 (initget 1 "S D") (setq opz   (getkword "\nDa che lato e' il punto C
[Sinistra Destra]?: "))
  ;sfruttando il teorema del coseno o di carnot (formula inversa):
  (setq lAHq (expt (setq lAH (/ (+ lABq lACq (- lBCq))  (* 2 lAB))) 2))
  (setq PH  (polar PA dirAB lAH))
  (setq lCH (sqrt (- lACq lAHq)))
  (setq PC (if (= opz "S") (Polar PH (+ dirAB (/ pi 2.0) ) lCH)
                    (Polar PH (- dirAB (/ pi 2.0) ) lCH)))
 (command "_pline" PA PB PC "_c"))
 ---cut---cut---cut---cut---cut---cut---cut---cut---cut---cut---cut---cut---
LA SECONDA
 ---cut---cut---cut---cut---cut---cut---cut---cut---cut---cut---cut---cut---
(defun c:trila2 ()
  (princ "\n----------------------------------------")
  (princ "\n Utility di trilaterazione")
  (princ "\n disegna un triangolo in funzione delle lunghezze di ")
  (princ "\n due lati AC BC; in funzione di due punti PA, PB e  ")
  (princ "\n di un lato in cui posizionare PC (a sx o dx del vettore PAPB)")
  (princ "\n sviluppata da Giovanni Anzani Ott2000")
  (princ "\n 
giova...@tiscalinet.it
 ")
  (princ "\n----------------------------------------")
 (initget 1)       (setq PA    (getpoint "\nPunto di inserimento 1° vertice
(A): "))
 (initget 1)       (setq PB    (getpoint "\nPunto di inserimento 1° vertice
(A): "))
 (initget 1)       (setq dirAB (angle PA PB))
 (initget 7)       (setq lABq  (expt (setq lAB (distance PA PB)) 2))
 (initget 7)       (setq lACq  (expt (setq lAC (getdist "\nLunghezza 2° lato
(AC): ")) 2))
 (initget 7)       (setq lBCq  (expt (setq lBC (getdist "\nLunghezza 3° lato
(BC): ")) 2))
 (initget 1 "S D") (setq opz   (getkword "\nDa che lato e' il punto C
[Sinistra Destra]?: "))
  (setq lAHq (expt (setq lAH (/ (+ lABq lACq (- lBCq))  (* 2 lAB))) 2))
  (setq PH  (polar PA dirAB lAH))
  (setq lCH (sqrt (- lACq lAHq)))
  (setq PC (if (= opz "S") (Polar PH (+ dirAB (/ pi 2.0) ) lCH)
                    (Polar PH (- dirAB (/ pi 2.0) ) lCH)))
