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
 AutoLISP
 comando cad in visual lisp

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
Peppe27 Inserito il - 31 dicembre 2013 : 14:56:28
Salve a tutti,
stò cercando di realizzare una routine lisp per la creazione di blocchi relativi ai profili h, ma ho difficoltà nell'utilizzare il comando _fillet.
Consigli?

Grazie e buon anno!!!!!!
4   U L T I M E    R I S P O S T E    (in alto le più recenti)
Peppe27 Inserito il - 06 gennaio 2014 : 19:21:05
Grazie mille!!!
GP Inserito il - 06 gennaio 2014 : 16:42:02
Mmmm... in giro mi sono imbattuto in un lisp che crea anche i profili che hai elencato, se serve posso tentare di rintracciarlo.

Nel frattempo vedi se puoi risolvere con questo, visto che alla fine sposti tutto sulle coordinate 0,0 ho impostato i punti direttamente in quella posizione.

Completalo con le tue esigenze (layer, wblock, ecc.)


(defun c:PH ( )

    (setq H (getreal "\nAltezza profilo "))
    (setq B (getreal "\nLarghezza profilo "))
    (setq s1 (getreal "\nSpessore ala "))
    (setq s2 (getreal "\nSpessore anima "))
    (setq r (getreal "\nRaccordo ala-anima "))
    (setq corda (sqrt (+ (* r r) (* r r))))

    (setq p1 (list 0 0))
    (setq p2 (polar p1 (* pi 0.5) s1))
    (setq p3 (polar p2 0 (/ (- B s2 r r) 2)))
    (setq p4 (polar p3 (* pi 0.25) corda))
    (setq p5 (polar p4 (* pi 0.5) (- H s1 s1 r r)))
    (setq p6 (polar p5 (* pi 0.75) corda))
    (setq p7 (polar p6 pi (/ (- B s2 r r) 2)))
    (setq p8 (polar p7 (* pi 0.5) s1))
    (setq p9 (polar p8 0 B))
    (setq p10 (polar p9 (* pi 1.5) s1))
    (setq p11 (polar p10 pi (/ (- B s2 r r) 2)))
    (setq p12 (polar p11 (* pi 1.25) corda))
    (setq p13 (polar p12 (* pi 1.5) (- H s1 s1 r r)))
    (setq p14 (polar p13 (* pi 1.75) corda))
    (setq p15 (polar p14 0 (/ (- B s2 r r) 2)))
    (setq p16 (polar p1 0 B))
    (setq pc (polar p1 (angle p1 p9) (* (distance p1 p9) 0.5)))
    (setq px1 (polar pc pi (+ 50. (* s2 0.5))))
    (setq px2 (polar pc 0 (+ 50. (* s2 0.5))))
    (setq py1 (polar pc (* pi 0.5) (+ 50. (* H 0.5))))
    (setq py2 (polar pc (* pi 1.5) (+ 50. (* H 0.5))))
    
    (command
        "_pline"
        "_non" p1
        "_non" p2
        "_non" p3
        "_a"
        "_non" p4
        "_l"
        "_non" p5
        "_a"
        "_non" p6
        "_l"
        "_non" p7
        "_non" p8
        "_non" p9
        "_non" p10
        "_non" p11
        "_a"
        "_non" p12
        "_l"
        "_non" p13
        "_a"
        "_non" p14
        "_l"
        "_non" p15
        "_non" p16
        "_c"
    )

    ;assi
    (command "_line" "_non" px1 "_non" px2 "")
    (command "_line" "_non" py1 "_non" py2 "")
)
Peppe27 Inserito il - 05 gennaio 2014 : 16:06:03
Grazie per la libreria....
..ma ho l'esigenza di crearne altre con profili americani, russi etc...
Questo è il codice scritto sinora:
;;; ROUTINE PER LA CREAZIONE DI PROFILI AD H CON SPESSORE ALI COSTANTE
;;; DEFINIZIONE DELLE VARIABILI
(defun C:CreaProfiloH ()
(setq h (getreal "\nAltezza profilo"))
(setq h2 (/ h 2))
(setq b (getreal "\nLarghezza profilo"))
(setq b2 (/ b 2))
(setq al (getreal "\nSpessore ala"))
(setq an (getreal "\nSpessore anima"))
(setq an2 (/ an 2))
(setq ra (getreal "\nRaccordo ala-anima"))
(command "_.filletrad" ra)
(setq p (getpoint "\nPunto d'inserimento?"))
;;; CALCOLO DELLE COORDINATE DEI VERTICI DEL PROFILO
(setq xp (car p))
(setq yp (NTH 1 p))
(setq x1 (- xp b2))
(setq x2 (- xp an2))
(setq x3 (+ xp an2))
(setq x4 (+ xp b2))
(setq y1 (+ yp h2))
(setq y2 (- (+ yp h2) al))
(setq y3 (+ (- yp h2) al))
(setq y4 (- yp h2))
;;; DISEGNO DEL PROFILO
(command "_.clayer" "acciaio sezione")
(setq old-snap (getvar "osmode"))
(setvar "osmode" 0)
(command "_.line"
(list x1 y1)
(list x4 y1)
(list x4 y2)
(list x3 y2)
(list x3 y3)
(list x4 y3)
(list x4 y4)
(list x1 y4)
(list x1 y3)
(list x2 y3)
(list x2 y2)
(list x1 y2)
(list x1 y1)
""
)
;;; INSERIRE IL COMANDO FILLET!!!!!!!!!!!!!!!
(command "_.pedit" "all" "" "j" "all" "" "")
;;; INSERIMENTO ASSI
(command "_.clayer" "assi")
(command "_.line"
(list xp (+ y1 50))
(list xp (- y4 50))
""
)
(command "_.line"
(list (- x2 50) yp)
(list (+ x3 50) yp)
""
)
(command "_.move" "all" "" p "0,0")
(command "_.zoom" "e")
(command "_.wblock" PAUSE "" "0,0" "ALL" "")
)
GP Inserito il - 31 dicembre 2013 : 16:48:14
Esistono librerie già create con tanto di menu, ad esempio qui:
http://www.cadlandia.com/topic.asp?TOPIC_ID=13155

Se però vuoi scrivere qualcosa in lisp allega un po' di codice che vediamo.

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