Beruflich Dokumente
Kultur Dokumente
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.
4947 Posts
1596 Kudos
657 Solutions
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:
------------------------------------------------------------------------
(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