Вы находитесь на странице: 1из 3

Como ejecutar extension .

dvb
Opciones
2251 Visitas, 1 Respuestas
05-15-2010 06:31 PM
Hola que tal, acabo de incursionar sobre la programacion en AUTOCAD MECHANICAL 2010,
debo decir que es bastante amigable el manejo de la programacion y por lo que veo tiene bastantes
alcances.

actualemte tengo un proyecto hecho bajo la extension .dvb, mi pregunta es como puedo hacer un
ejecutable (.exe) para que automaticamente ejecute el ..dvb.He navegado por la red y la mayoria
recomienda crear un archivo en lisp para que automaticamente carge el .dvb al momento de ejecutar
el AUTOCAD pero no me funciona.

Si me pueden guiar de antemano se los agradecere.


RESPONDER
Kudo
Alfredo_Medina

4947 Posts
1596 Kudos
657 Solutions

Mensaje 2 de 2 (2.251 Visitas)

Reportar
Re: Como ejecutar extension .dvb

Opciones
05-16-2010 05:04 PM en respuesta a: superplaito11
Hoy en día el Visual Basic ya no viene instalado de fábrica en AutoCAD 2010 u 11. Hay que
instalarlo con un habilitador. Las rutinas siguen funcionando, pero sólo funcionan bien para 32 bits.
Para 64 bits dan problemas. Hay que actualizarse al ambiente .Net

Sin embargo, si te sirve, esto es lo que yo he usado por varios años, y me ha funcionado:

------------------------------------------------------------------------

1. Cargar la rutina .dvb en el dibujo de AutoCAD.


En el archivo acad.lsp tienes que poner una instrucción como esta:

(load "cargar-vba" "cargar-vba no cargó")


(c:cargar-vba)
2. Esto se refiere a que tienes un archivo de Lisp que se encarga de verificar si tus rutinas .dvb están
en el dibujo, y si no están, las carga. Ese archivo, en este ejemplo se llama "cargar-vba.lsp" y
contiene una función llamada c:cargar-vba , que contiene (abreviado) lo siguiente:

(defun c:cargar-vba (/ vb vbp vbc out vbe vb1 vbn vbal vbph i stp)
(vl-load-com)
(setq vb (vla-get-vbe (vlax-get-acad-object))
vbp (vlax-get-property vb 'vbprojects)
)
(if (> (vla-get-count vbp) 0)
(progn (setq i 1)
(repeat (vla-get-count vbp)
(setq vbe (vla-item vbp i)
vbn (vlax-get-property vbe "filename")
vb1 (strcat (vl-filename-base vbn) (vl-filename-extension vbn))
out (cons vb1 out)
i (1+ i)
)
(vlax-release-object vbe)
)
)
)

(vlax-release-object vb)
;; reemplaza esta ruta de ejemplo con la verdadera ruta donde están tus rutinas
(setq vbph "C:/Rutinas VBA/")

;; esto carga una 'rutina1.dvb' de ejemplo. Reemplazar con el nombre verdadero. Repetir para otras, o
crear una lista.
(if (not (member "rutina1.dvb" out))
(vl-vbaload (strcat vbph "rutina1.dvb"))
) ;-end of if

(princ)
) ;-end of function

3. Luego, desde cualquier archivo Lisp, para ejecutar tu rutina .dvb, incluyes una instrucción como
se muestra en este ejemplo, para correr un macro que esté incluido dentro de tu rutina .dvb:

;; definir la función
(defun c:ejecutar_mi_dvb ()
;; ejecutar un macro dentro de la rutina dvb que ya está cargada
(vl-vbarun "mi_macro")
;; terminar
(princ)
)

-------------------------------------------
Alfredo Medina
info@planta1.com
http://www.planta1.com
https://forums.autodesk.com/t5/autocad-espanol/como-ejecutar-extension-dvb/td-
p/2683821