Newsgroup: it.comp.software.cad
Titolo: Lisp r14: tracciare linee indicando colore e tratto volta per volta...come?

Ho la necessità di tracciare linee indicando colore e tratto volta per
volta,
sul mio manualetto non trovo soluzione, mi aiutate?
In rete c'è qlc manualetto?
...e poi perchè questa lisp funziona e traccia un asse verde tratteggiato?
 (defun c:ai ( / pnt1 d p1 p2 p3 p4)
  (setq pnt1 (getpoint "\n Punto centrale assi"))
  (setq d (getdist "\n Lunghezza asse "))
  (setq P1 (list (-(car pnt1) (/ d 2)) (cadr pnt1)))
  (setq P2 (list (+(car p1) d) (cadr p1) ) )
  (setq P3 (list (car pnt1) (-(cadr pnt1) (/ d 2)) ) )
  (setq P4 (list (car p3) (+(cadr p3) d)  ) )
; (command "_layer" "_c" "_red" )
  (command "_line" p1 p2 "" )
  (command "_line" p3 p4 "" )
  (command "_redraw" )
  (princ)
 )
-- 
^__^
o.g.a.v.o.s. [Onorevoli  Grazie  A  Voi  Ohhh  Saggi]

 
-- 
Fabio Piva
http://spaces.msn.com/pivafabio
http://www.fabiopiva.com

Ciao Fabio,
Non ho capito dove sono le impostazioni correnti ma fà lo stesso,
piuttosto sapresti dirmi come impostare per ottenere
la 1° linea P1 P2 ad esempio gialla continua
e la 2° linea P1 P2 ad esempio rossa nascosta?
----------------------------------------------------
Inoltre, mi sapresti dire perchè pur assegnando anche a "mano" un valore
alla variabile ltapp_p , questa risulterebbe sempre
nil?
(defun c:tn3 (/ osnp_old pnt1 p1 d a p1 lt nt pg1 pg2 pru1 pru2 pru3 pru4
pru5 pru6 pf1 pf2 pr1 pr2 pt2 pt3 pt4 pt5 pt6 tipo tappeto ltapp_p)
;(textscr)
 (Setq osnp_old (Getvar "OSMODE"))
        ;memorizza la modalit. osnap corrente
 (Setvar "OSMODE" 0)
 ;annulla gli snap ad oggetto per evitare che inserendo il formato in coord
"am" mi catturi un'oggetto con gli snap
  (textscr)                    ;commuta in modo testo
  (repeat 50 (terpri))          ;scrive una nuova riga per n volte dove n è
il numero di righe da pulire
  (PRINC "\nNastro serie TN TIPO:")     ;DESCRIZIONE
  (PRINC "\n---------------------------------------------------------")
;DESCRIZIONE
  (initget 1 "C c P p CS cs cS Cs T t")
  (setq tipo (getstring "\nP=Piano             (400-500-600-800)\nC=Conca
(400-500-600)\nCS=Conca Supportata (400-500-600)\nT=Terna
(600-800)\n")) ;DESCRIZIONE
  (repeat 2 (terpri))
;scrive una nuova riga per n volte dove n è il numero di righe da pulire
  (PRINC "\nNastro serie TN LARGHEZZA:")    ;DESCRIZIONE
  (PRINC "\n---------------------------------------------------------")
;DESCRIZIONE
  (initget 1 "400 500 600 800")
  (setq tappeto (getstring "\n400=(solo in Piano,Conca,Conca
Supportata)\n500=(solo in Piano,Conca,Conca Supportata)\n600=(solo in
Piano,Conca,Conca Supportata,T=Terna)\n800=(solo in Piano,T=Terna)\n"))
;DESCRIZIONE
  (repeat 2 (terpri))
;scrive una nuova riga per n volte dove n è il numero di righe da pulire
  (graphscr)        ;torna in formato grafico (F2)
  (setq rullo (strcat tipo tappeto)) ;contiene il simbolo del rullo da
inserire, es: tipo[C]&tappeto[600]= c600.dwg
  (setq larghezzatelaio (+(atoi tappeto)80)) ;contiene la larghezza del
telaio. !!!!FORSE NON SERVE
;Calcola larghezza in PIANTA del tappeto in base alla sezione/rullo scelto
;---------------------------------------------------------------------------
-------------------------------------------------------------------
;---------------------------------------------------------------------------
-------------------------------------------------------------------
;---------------------------------------------------------------------------
-------------------------------------------------------------------
 (setq ltapp_p 0); NON CAPISCO SE LA COND SOTTO FUNZIONA BENE, QUINDI
ASSEGNO 0(ZERO) PER VERIFICARE....
;---------------------------------------------------------------------------
-------------------------------------------------------------------
;---------------------------------------------------------------------------
-------------------------------------------------------------------
;---------------------------------------------------------------------------
-------------------------------------------------------------------
  (cond ( (= rullo c400) ;Se è larghezza 400 in conca allora imposta questi
dati
          (setq ltapp_p 400) )
        ( (= rullo cs400) ;Se è larghezza 400 in conca supportata allora
imposta questi dati
          (setq ltapp_p 400) )
        ( (= rullo p400) ;Se è larghezza 400 in piano allora imposta questi
dati
          (setq ltapp_p 400) )
        ( (= rullo c500) ;Se è larghezza 500 in conca allora imposta questi
dati
          (setq ltapp_p 500) )
        ( (= rullo cs500) ;Se è larghezza 500 in conca supportata allora
imposta questi dati
          (setq ltapp_p 500) )
        ( (= rullo p500) ;Se è larghezza 500 in piano allora imposta questi
dati
          (setq ltapp_p 500) )
        ( (= rullo c600) ;Se è larghezza 600 in conca allora imposta questi
dati
          (setq ltapp_p 600) )
        ( (= rullo cs600) ;Se è larghezza 600 in conca supportata allora
imposta questi dati
          (setq ltapp_p 600) )
        ( (= rullo p600) ;Se è larghezza 600 in piano allora imposta questi
dati
          (setq ltapp_p 600) )
        ( (= rullo t600) ;Se è larghezza 600 in terna allora imposta questi
dati
          (setq ltapp_p 600) )
        ( (= rullo p800) ;Se è larghezza 800 in piano allora imposta questi
dati
          (setq ltapp_p 800) )
        ( (= rullo t800) ;Se è larghezza 800 in terna allora imposta questi
dati
          (setq ltapp_p 800) )
        ;(  T   (PRINC "\n----Hai selezionato una opzione inesistente----"))
; errore
  ); chiude condizione
; (princ "\nLa variabile RULLO
contiene:---\n---\n---\n---\n---\n---\n---------------------------> ")
(princ rullo)
(princ
"\ntappeto:-----------------------------------------------------------------
------------> ") (ltapp_p)
Grazie,
Luca
----------------------------------------------------------------------------
--------------


(command "_line" p1 p2 "" "_chprop" "_last" "" "_color" "2" "_ltype"
"continuous" "")