alejandron2005
14/02/2006, 20:02
hola a todos quiero sabes si este codigo esta bien..... y si esta mal como autocad me lo corrige.... tengo el autocad 2004
EL CODIGO ES EL SIG:
; RUEDA.LSP: Dibujo de una rueda dentada
(defun dibuja_rueda
(centro radio numdi/ dang ang ang1 ang2 ang3 pto1 pto2 pto3 pto4 pto5 radd blip cmd)
(setq blip(getvar "BLIPMODE"))
(setq cmd(getvar "CMDECHO"))
(setvar "BLIPMODE" 0)
(setvar "CMDECHO" 0)
(setq dang (*3.141592 2))
(setq dang (/ dang numdi))
(setq ang1 (/ dang 4))
(setq ang2 (/ dang 2))
(setq ang3 (* 3 ang1))
(setq ang 0)
(repeat numdi
(setq pto1 (polar centro ang radio))
(setq pto3 (polar centro (+ ang ang2) radio))
(setq radd (/ (distance pto1 pto3) 2))
(setq pto2 (polar centro (+ ang ang1)(+ radio radd)))
(command "arco" pto1 pto2 pto3)
(setq pto5 (polar centro (+ ang dang) radio))
(setq radd(/ (distance pto3 pto5)2))
(setq pto4(polar centro (+ang ang3)(- radio radd)))
(command "arco" pto3 pto4 pto5)
(setq ang (+ ang dang))
)
(setvar "BLIPMODE" blip) ;restablecemos BLIPMODE
(setvar "CMDECHO" cmd) ;restablecemos CMDECHO
nil
)
;La función RUEDA es la que solicia los parámetros.
(defun c:rueda(/ cen rru ndi)
(initget 1)
(setq cen (getpoint" \nCentro de la rueda:"))
(initget 7)
(setq rru (getdist" \nRadio de la rueda:"))
(initget 7)
(setq ndi (getint" \nNúmero de dientes:"))
(dibuja_rueda cen rru ndi)
)
EL CODIGO ES EL SIG:
; RUEDA.LSP: Dibujo de una rueda dentada
(defun dibuja_rueda
(centro radio numdi/ dang ang ang1 ang2 ang3 pto1 pto2 pto3 pto4 pto5 radd blip cmd)
(setq blip(getvar "BLIPMODE"))
(setq cmd(getvar "CMDECHO"))
(setvar "BLIPMODE" 0)
(setvar "CMDECHO" 0)
(setq dang (*3.141592 2))
(setq dang (/ dang numdi))
(setq ang1 (/ dang 4))
(setq ang2 (/ dang 2))
(setq ang3 (* 3 ang1))
(setq ang 0)
(repeat numdi
(setq pto1 (polar centro ang radio))
(setq pto3 (polar centro (+ ang ang2) radio))
(setq radd (/ (distance pto1 pto3) 2))
(setq pto2 (polar centro (+ ang ang1)(+ radio radd)))
(command "arco" pto1 pto2 pto3)
(setq pto5 (polar centro (+ ang dang) radio))
(setq radd(/ (distance pto3 pto5)2))
(setq pto4(polar centro (+ang ang3)(- radio radd)))
(command "arco" pto3 pto4 pto5)
(setq ang (+ ang dang))
)
(setvar "BLIPMODE" blip) ;restablecemos BLIPMODE
(setvar "CMDECHO" cmd) ;restablecemos CMDECHO
nil
)
;La función RUEDA es la que solicia los parámetros.
(defun c:rueda(/ cen rru ndi)
(initget 1)
(setq cen (getpoint" \nCentro de la rueda:"))
(initget 7)
(setq rru (getdist" \nRadio de la rueda:"))
(initget 7)
(setq ndi (getint" \nNúmero de dientes:"))
(dibuja_rueda cen rru ndi)
)