Tuesday, April 05, 2005

ARXWizard for AutoCAD 2006 - Interview with Cyrille Fauvel (Autodesk)

Hello,

One of the greatest tools to easily create ObjectARX applications is the ARXWizard tool that comes with ObjectARX SDK. I have contacted Cyrille Fauvel, from Autodesk, and he have answered some questions about the new ARXWizard for AutoCAD 2006. I'm always willing to bring you news direct from Autodesk team and I hope you enjoy this new interview. Stay tuned!

[Fernando:] Cyrille, how long are you an ADN / Autodesk member?

[CYRILLE:] I started developing AutoCAD applications while I was student in 1988. And as far I remember it was on release 2.17 with AutoLISP. I joined the Autodesk engineering team in 1993 for developing AutoCAD and preparing AutoCAD to the European localization. In 1996, I moved to the Developer Support / ADN group, and lately in 2004 into the Autodesk Consulting Division, but still doing ADN work.

[Fernando:] Why and how Autodesk has created the ARXWizard and decided to offer it to developers?

[CYRILLE:] The original idea of an ARX wizards was coming from Stefan Kraus a Product Support engineer in Germany. At that time, Stefan was working alone on this project and the wizard was just a application template & command wizards on Visual Studio 4.2. When Stefan, moved from Product Support to ADN, Stefan, Albert and myself rewrote the wizards from scratch to improve wizards features and usage for Visual Studio 98. Now that Stefan left them team, and Albert moved to engineering, I am heading the new team who rewrote the Wizards to work in Visual Studio .NET IDEs. The basic idea of having a wizards is from Stefan, but the Wizards has becoming an important tool for ADN and developers for 3 reasons. It helps us a lot to write a lot of little test application when we working on developer problems submitted to us vis the ADN program, and we hope it helps developers in their daily work as well. The last but not least, the Wizards is an evangelism resource and training tool for developers on ObjectARX.

[Fernando:] Do you plan to expand the ARXWizard providing additional tools to other verticals like ADT and MAP?

[CYRILLE:] Yes, we did introduce ADT and MAP support into the 2005 application wizard, and we hope to continue to extend this capability to other wizards to support specific OMF and MSP features.

[Fernando:] Is there any plans to create a specific Wizard for .NET applications in VB.NET and C#?

[CYRILLE:] :-) they are here in the 2006 version. But like for ADT/OMF and MAP we are still having a lot of work to do to come to the same level of features the pure ObjectARX wizards have.

[Fernando:] What's new in ARXWizard 2006?

[CYRILLE:]
- support for .NET application
- .NET custom object wrapper wizard
- .NET application wizards
- .NET/ARX mixed managed code application wizard
- a JIG wizard
- Updates for the reactor and MFC classes
- Localizable commands for ARX application.
- Code gallery

[Fernando:] Is ARXWizard 2006 backward compatible with 2004 and 2005? Is there any issue?

[CYRILLE:] Hum, ... Yes and No
In theory it is fully compatible, but in practice there is a little glitch there, let me explain the problem.
Projects created with previous version of the wizards (namely 2004 and 2005 versions) will have no problem even if modified with the 2006 wizards version. However, new projects generated with the new version of the wizards will not load into AutoCAD if compiled with previous version of the ObjectARX SDK. :-( The reason of this failure is because the 2006 application wizard do not generate a .def file anymore. Instead the acrxEntryPoint() and acrxGetApiVersion() symbols are exported using #pragma and __declspec from the dbxEntryPoint.h. Since these 'exports' are only in ObjectARX 2006 dbxEntryPoint.h version of the file, a project generated using 2006 version of the Wizards but compiled with the ObjectARX 2004 SDK will not have is symbols exported unless, you add a .def, or copy the dbxEntryPoint.h and arxEntryPoint.h files from ARX 2006 to older ARX SDK (these 2 last files are fully compatible with previous ARX SDK version).

[Fernando:] Users could download the most recent version of ARXWizard only through LiveUpdate tool?

[CYRILLE:] No, if they want they can download it directly from http://adn.autodesk.com/liveupdate/wizards2006.zip Liveupdate will download this file only if there is a more recent version.

[Fernando:] What should developers be aware to avoid a ARXWizard created project to become corrupted?

[CYRILLE:] With the 2004/5/6 versions of the Wizards, there is no more restrictions on what developers can or can't do. Visual Studio .NET IDE comes with an internal parser the wizards are using. So as long VC++ can compile, our wizards can work. However, there is a problem with the MS Intellisense database in .NET 2002 & 2003. This intellisense database do not get updated with ARX symbols when you load a new project, or a project which had not the intellisense database created. The only workaround I found was to manually open the StdAfx.h file to force the refresh. If you forget to do this, Visual Studio may freeze for 2 or 3 minutes when the Visual Studio will try to parse the project. VS tries to parse a project every time you add a new class via a wizard for example.

[Fernando:] Do you think is important to user knows exactly what ARXWizard is doing behind the scenes?

[CYRILLE:] Excepted the ARX AddIn, all wizards source code are public and located at 'C:\Program Files\Autodesk\ObjectARX Wizards for AutoCAD 2006'. Feel free to study :-)
I don't think you need to know exactly what is done behind the scene, the ARX wizards generate code very similar to what ATL wizards.

[Fernando:] Is the ARXWizard team opened to users suggestions through e-mail or maybe feedback surveys?

[CYRILLE:] We have an email address for getting help on Wizards and make suggestions. It is oarxwiz-feedback@autodesk.com for AutoCAD/ObjectARX and invapiwiz-feedback@autodesk.com for the Inventor Wizards which I develop alone this time. But I want to highlight here that we are open to all new ideas, suggestions, and Wizards code submissions.

Thank You!

No comments :