Hi to Autodesk, The difference between the .NET environment and the VBA environment is large enough that it is time to start a new Newsgroup centred on NET. I believe is scope to allow more sensible discussion of the other .NET based languages which will create "haze" in this NG for those merely interested in VBA Also for those looking to the cutting edge of customising AutoCAD then there is too much VBA material to make it easy finding .NET information. -- Laurie Comerford CADApps www.cadapps.com.au
Since the .NET libraries are just managed wrappers for ObjectARX classes, that would be the best place to direct inquiries concerning the managed API.
Hi Frank, Your comments show why .NET is indigestible to most of us. I subscribed to the ObjectARX for a couple of months to get the feel of it and this matches the group for being beyond the ken of untrained programmers. -- Laurie Comerford CADApps www.cadapps.com.au
I agree and also think Autodesk should provide complete .NET documentation with AutoCAD. Regards - Nathan
They have. You need to download the ObjectARX SDK and install it. From the object model perspective, you use the ARX. A directory is there after install for .NET but most examples are C# - which is where Autodesk is going and has made that very clear to the development community. Unfortunately, there is no way to take a VBA RAD hacker [I use the term politely because that's where I started to] and simplify the .NET approach. Even if they could, they won't IMHO because even though VB.NET is on the same playing field as C++ now, the C++'ers still look down on VBers. That's why the best you can hope for is a decent set of docs in C# - because its new and doesn't bring any baggage to the table. Already there is a lot of sample apps on ADN in C# but very, very little in VB.NET. For the VB6er, there are two ways to look at .NET - first, any VBer can use the environment and the COM interface to contnue writing VB6 type programs with only a mild learning curve. But this method will live for only three years when the COM interface is supposed to dissappear or at least become unsupported and then that programmer will need to learn the OO approach. It also doesn't gain the user any of the benefits of the whole .NET thing. The second way is to dive into the real VB.NET or C# and learn the lower language which will be as powerfull, if not more so because its easier too write VB.NET and C# then C++, as ARX. A lot of us have taken the C# route because we, at least Frank and I, feel we have too many bad VB6 habits that hinder us in VB.NET. Starting with a new language gives us a clean slate =) C# is also a lot easier and a lot less typing once you get the hang of it! Finally, the only thing unclear is where VBA fits into all of this. Microsoft was supposed to be [might already have] releasing VSA - Visual Studio for Applications which is the successor to VBA. If its not COM driven, then I would think that there is probably a wrapper [or something] that simplifies the .NET OO concept and makes inhertance, polymorphism, etc., either easier or something because there are far too many VBA'ers in the AutoCAD, MS Officee, etc. environments to kill the RAD concept. Just my rambling $0.02 -- Mike ___________________________ Mike Tuersley CADalyst's CAD Clinic Rand IMAGINiT Technologies ___________________________ the trick is to realize that there is no spoon...
Hi Mike My statement should have been clearer as I was indeed implying it should not be with the ObjectARX SDK. I have weighed up the pros & cons and decided to go with VB and will be doing a VB.NET course in September. I take it you do not use VBA but if I am incorrect how do you find swapping between C# & VBA. This might be of interest to you if you haven't already seen it. http://vsip.summsoft.com/vsa/docs/customizationCOMandDOTNET.asp Regards - Nathan
Can someone please explain in laymens terms what all this is about .NET, C# VBA and how it is going to affect me. I'm not a serious programmer i have learnt VB6 and VBA to write simple VBA macros to speed up the design process. Since finding this newsgroup i check everyday and read the topics, 80% of it is over my head but i'm getting there. More and more subjects are talking about .NET, am i going to have to learn a new language? How much longer is VBA going to work with AutoCAD and other Office applications(I use Excel to create material take off reports from my drawings). If i need to learn a new language what is best .NET or C#? Thanks Confused!
NET is actually Microsoft's latest development environment(Visual Studio .NET). You can write programs in either C#, VB, C++, or J#. What makes .NET special is that Microsoft has implemented something called Common Language Runtime (CLR) which allows programs/modules written in different languages to run side-by-side in a .NET solution at runtime. VB .NET is merely VB7. The .NET environment also includes a host of new technologies that takes some of the complexity out of writing programs for us non-expert programmers. Writing a program in VB .NET will take less lines of code than if you wrote it in VB6 or VB5, usually.
Good summation except VB.NET is not merely VB7. VB.NET is now a low level language comparable to C++ providing you learn to use it properly. The downfall is that many VBers are migrating to it without realizing the power they have and VB.NET allows many of the old methodologies to still work. For example, using On Error routines instead of Try-Catch loops, etc. -- Mike ___________________________ Mike Tuersley CADalyst's CAD Clinic Rand IMAGINiT Technologies ___________________________ the trick is to realize that there is no spoon...
Not in the slightest. No one using VBA or VB6 should even think about migrating to VB.NET without a thorough cost/benefits analysis as .NET programming represents a major paradigm shift for anyone not familiar with formal programming concepts. Visual Basic has in no way prepared any of us for programming in .NET. That kind of training, study and implementation takes time and time costs money. It wasn't even until the advent of the managed API, which is still restricted as compared to ObjectARX, that you could do something in .NET that you couldn't do with VB/A with regards to AutoCAD. What I'm trying to underscore is that the move to VB.NET is not so much an upgrade as it is an investement in new technology. Rather than spend time and money just going to "next version of VB", we should ask whether the switch is warranted and if we will see a return on our investment. If all you do is macros and GUIs, .NET is a waste of time and money. If you write applications that interface with a wide variety of apps, use XML/databases/web services, .NET begins to look like a sound move.
Thanks for the article, Nathan! I hadn't seen it before and it basically follows my summation only in better verbaige =) I stated three years because that's Autodesk's target date for having AutoCAD re-written entirely in .NET which, per the article, would kill VBA as it is now. Yes, I do occassionally write VBA - mostly for my articles since not everyone has access to full VB. By day, almost never except as a hook into my ActiveX DLLs. Swapping between the two is feasible because there are programs that take VB and convert to C# and vice versa. So assuming that the VBA code is ported to VB, it'll work. I try to maintain a separation so I avoid bringing in my old habits. To me, C# has a different flow to it then VB. I would highly encourage you to take a second look at it! There is a lot less typing and looping required with it. -- Mike ___________________________ Mike Tuersley CADalyst's CAD Clinic Rand IMAGINiT Technologies ___________________________ the trick is to realize that there is no spoon...