Cad-Projects - Especialistas en Proyectos y Cad - Recursos - Manuales personalización de Autocad
Ver Perfil
Conectate para poder poner tu imagen de perfil.

Aún no estas conectado.

Utiliza tu nombre y clave para hacerlo. Si todavía no tienes una Pincha aquí para iniciar el registro.

Manuales Autodesk®

Estas en:

Manuales Autodesk®AutoCAD®Personalización.COM vs .NET en AutoCAD®

Fecha del artículo:
2012-09-29

.COM vs .NET en AutoCAD®.

 

En este articulo daremos una mirada a .COM y .NET, a través de sus respectivas ventajas y desventajas. El artículo es una traducción de un post publicado el el blog oficial de Autodesk® sobre programación de AutoCAD® through-the-interface.typepad.com. Puedes ver el artículo original en inglés en el siguiente enlace: .COM vs .NET in AutoCAD®.

 

 En lugar de entrar en detalles y críticas sobre COM o NET., te sugiero mirar en sus respectivas páginas de Wikipedia. En ambas hacen un buen trabajo de críticas por las respectivas tecnologías, pero no todos se aplican aquí (el archivo. NET Framework es parte de la instalación de AutoCAD, por lo que la disponibilidad no es un problema con AutoCAD, por ejemplo).

 

Tanto.COM, como la tecnología .NET (y de hecho también AutoLISP, re-implementado como Visual LISP desde la versión R14.01) se implementan a través de ObjectARX. ObjectARX son básicamente módulos ARX cargado en AutoCAD que exponen (o ponen a disposición) los objetos COM,  gestionando ambas  interfaces respectivamente. Aunque, en la mayoría de las aplicaciones para AutoCAD desarrolladas con .NET no es totalmente necesario  que la administración de las interfaces sea siempre expuestas a través de ObjectARX. La decisión acerca de la tecnología a utilizar para exponer una API (Interfaz de programación de aplicaciones) es impulsada por sus requisitos de mercado.

 

Ahora un poco de historia más específica sobre cada una de las tecnologías...

 

 

 


 

Automatización COM , del inglés COM Automation (originalmente OLE Automation y despues ActiveX Automation).

 

La API para AutoCAD de Automatización COM fue introducida por primera vez con VBA en AutoCAD R14.01. En su momento fue bastante revolucionario, ya que era una API que se llevó a cabo a través de una tecnología que realmente permite a los desarrolladores elegir su propio desarrollo tecnológico (siempre y cuando fuera Visual Basic ... es broma;-). También fue la tecnología que permitió algunas características muy interesantes en AutoCAD: la Paleta de Propiedades utiliza Automatización COM para consultar y editar las propiedades de los objetos, por ejemplo. SELECR es otro.

 

Uno de los grandes problemas con el COM es el esfuerzo necesario para exponer interfaces COM: el estándar de automatización COM admite un conjunto relativamente pequeño de tipos de datos (a menos que se haga casi todo su propio objeto, algo que se convierte en inmanejable), lo que significa que el complejo C ++ de interfaces deben ser fundamentalmente rediseñado (a menudo aplanado) para que sean expuestas a través de COM.

 

. NET.

 

Cuando AutoCAD fue construido utilizando Visual Studio. NET (por la época de AutoCAD 2004), se abrió la puerta para exponer una API administrada. Si bien este fue un prototipo en AutoCAD 2004, primero lo hizo en el producto final como parte de AutoCAD 2005. Exponer una interfaz administrada es mucho más fácil que exponer una interfaz de automatización COM, de hecho, los desarrolladores de AutoCAD han logrado semi-automatizar el proceso de exponer sus interfaces administradas. Esto sin duda nos ayuda a mantener la API administrada en sintonía con ObjectARX, donde - como se mencionó anteriormente – muchas son expuestas desde alli.

 

Por cierto, una API administrada para AutoCAD también permite a Autodesk hacer más desarrollo interno utilizando. NET, (gran parte de su trabajo de desarrollo de funciones todavía se hace en C ++ / ObjectARX, pero eso está cambiando). Esto permite aprovechar muchas de las ventajas de. NET Framework, como las herramientas para creación de interfaces de usuario, acceso a datos, etc

 

Comparación.

 

Y ahora vamos a comparar algunas de las diferencias específicas, dando un paso a través de unos criterios de comparación típicos API, uno por uno. (Me hubiera gustado hacer una matriz que mostraba esto, pero sentía la necesidad de profundizar en las explicaciones.)

 

Rendimiento

 

Ambas tecnologías son comparables en términos de velocidad de ejecución – tampoco incrementan mucho la sobrecarga de ejecución en comparación con ObjectARX (a menos que se utilice .COM fuera de proceso).

 

Perspectivas de futuro

 

COM se está ampliando según las necesidades de las diversas características de AutoCAD (Properties Palette, etc), pero se producirá una expansión más rápida las capacidades de. NET. Además Microsoft está 100% detrás. NET, y sinceramente yo creo que tiene un futuro mucho más prometedor.

 

Sencillez

 

Esto es subjetivo, pero en general yo diría que el modelo de objetos COM es más fácil de aprender. Sin embargo eso no significa que yo lo prefiera. (¿Cómo es eso de la subjetividad? :-)

 

Poder

 

. NET es más extenso en cuanto a su nivel de exposición de la API y también tiene más potentes capacidades de plataforma (sobre todo si se compara VB.NET con VB6).

 

Interoperabilidad

 

Entornos COM como VBA/VB6 pueden utilizar todo tipo de componentes COM, e incluso las exportaciones de DLL / EXE, pero desde .NET se puede utilizar mucho, mucho más (COM, .NET, C + + nativo, etc.).

 

Soporte en el lanzamiento de versiones de AutoCAD

 

COM está disponible a través de todas las versiones finales de AutoCAD mientras. NET no estan ahí todavía. A pesar de que no pasará mucho tiempo antes de que todas las versiones de AutoCAD tengan una API administrada, la Implementación .NET ha evolucionado sustancialmente entre 2005 y 2006.

 

IPC (Inter-Process Communication)

 

LA gran ventaja de COM - y, francamente, la razón principal por la que lo utilizo sobre todo- es que fue diseñado para ser utilizado en todos los procesos. Mientras. NET Remoting es posible con algunas aplicaciones, la interfaz administrada de AutoCAD no fue diseñada para trabajar a través de los límites del proceso (al igual que ObjectARX no lo era).

 

Conclusión

 

Si tuviera que aprender una nueva API para AutoCAD en esta etapa (y no conociese a ninguna de ellas), yo elegiría. NET. Puede ser más difícil de aprender, pero es más extenso, tiene mejor potencial a largo plazo, tanto como una API y un entorno de programación (en términos de soporte de Microsoft y Autodesk), y francamente se puede muy fácilmente hacer uso de la interfaz COM de automatización de AutoCAD desde un entorno. NET. Tiene muy buena cobertura sobre la mayoría del conjunto de características ObjectARX, y mucho de lo que no está expuesto se puede acceder mediante P / Invoke. Si tienes que manejar AutoCAD desde un ejecutable externo, entonces te sugiero usar COM para manejar AutoCAD fuera de proceso, cargando un componente. NET en proceso para aligerar el trabajo pesado.


 

Cad-Projects espera que el articulo haya sido de utilidad.

Si es así puedes imprimir una copia o recomendar a algún amigo usando los iconos de la barra superior. Volver arriba. No olvides visitar nuestro FORO si tienes dudas o preguntas sobre algun tema.


Comentarios de Usuarios

Comentarios de Usuarios:

 

Si tienes alguna cuestión por resolver o deseas enviarnos tu opinión puedes hacerlo desde aquí. Pincha en la pestaña "Enviar Comentarios" y manda tu mensaje. Cualquier usuario podrá responderte, y esperamos que en poco tiempo sean resueltas tus dudas.

 

Tu mensaje además de publicarse en la web sera enviado a traves de correo electrónico a nuestra dirección
info@cad-projects.org para que sea atendido por nuestro equipo lo antes posible.



 

Todavía no hay Comentarios.


Enviar Comentarios

 

Recuerda que antes debes estar conectado con tu nombre de usuario y clave. Si todavía no te has registrado Pincha aquí para iniciar el registro. Pincha sobre el siguiente enlace para conocer mas sobre el Proceso de Registro. Al publicar un mensaje estas de acuerdo con nuestras Condiciones de uso.



Enviar Comentarios:

 

 Asunto (max. 200 caracteres):

 

 Mensaje (max. 3000 caracteres):

Puedes dar formato al texto para que tenga el estilo de nuestra pagina. Para ello utiliza los estilos de encabezamiento existentes numerados del 1 al 6 . Tambien puedes insertar imagenes conociendo su url, pero al fijar las dimensiones procura que el ancho no supere los 700 pixels. Si estas familiarizado con el codigo HTML utiliza el boton "html" para dar formato a tu mensaje.

TinyMCE - Javascript WYSIWYG Editor independent platform web based Javascript HTML WYSIWYG editor control released as Open Source under LGPL by Moxiecode Systems AB.

 

 Puntua el articulo, nos interesa tu opinion para poder seguir mejorando: 12345

 

 

 Captcha:

Escribe el código que se ve en la imagen lateral distinguiendo entre mayusculas y minusculas. El reconocimiento de captcha se utiliza para evitar envios automatizados masivos.
Securimage is an open-source free PHP CAPTCHA script

Recarga
la imagen si no se lee bien.




Ver Perfil