Code Red > ARX Programming

when use ARX?

(1/2) > >>

Hi, new in ARX, when is it recommended to use anything related to ARX?

When you really need a more secure code base (that is, hard(er) to decompile to look at the source code) to protect IP, you need an API not available via .Net or you have a very intensive data crunching application that require squeezing out every last bit of performance out of your processor.

The .Net (C#/ etc) API for ARX has pretty much the whole ObjectARX API covered and you could possibly PInvoke or wrap what isn't. You also have access to WinForms and WPF for GUI programming which is a LOT easier than dealing MFC/Win32 or a third party  C/C++ GUI library.
While .Net is a bit slower to get going being JIT compiled by nature, after being compiled once it's just as fast as the native code with some minor fluctuations/exceptions not really worth worrying about unless performance is absolutely critical (we're talking milliseconds here!).
The other advantage with .Net is maintenance, rarely do you need to update or recompile code for later releases of AutoCAD whereas with ObjectARX/C++ you need a full recompile each major file format release. Then there's the refactoring for C++ versions...

C++ is fun to use but be prepared for a lot of work unless you use it every day, if you need to get things done, use C#.

how can I start with .NET?

for example:
for lisp, I search similar lisp to my needs, then I change Line 3 and Line 4

for .NET, I tried to search for some code that simulates REPLACEBLOCK command, for replacing in AutoCAD MEP, Devices for blocks and vice-versa, no luck.
for .NET again, I tried to search for some code that converts polylines to Conduit or Cable Trays Objects vice-versa, in AutoCAD MEP, but no luck.

then some questions:

1 How can I start since zero to create both codes in NET?
2 Why does it not exist code in NET for common problems?
3 Is NET or AutoCAD MEP begin deprecated and replaced for REVIT and Dynamo?

Why don't you want to keep using lisp? It's very capable and easier to use and as you say there is plenty of examples to pick from to create your own versions.

As John mentioned in your other thread on C++, you will be moving from a higher level, interpreted 'scripting' language (AutoLisp) to a compiled 'programming' language and as far as compiled languages go C# is by far the easiest with more code samples (compared to C++ and for general .Net at least).

When you move to a lower level it does give you a lot more power and flexibility but there is less hand holding and you need to study and practice/write a lot more code to get the hang of things and how it all works together. We're talking maybe months to years (depending on you understanding of lower level programming) to be really productive.

If you know lisp, keep going with it and move slowly into say C# or C++/ARX and just get a small app with a command working and build upon that.
The key to understanding ObjectARX (C#/C++) is to understand how the document/editor/database works and you just need to keep looking for tutorials and sample code and eventually it will click.

Here's a start ->
For C# look at the links for the ObjectARX Managed .Net Developers and Reference guides.
For C++ look at the links for the ObjectARX Developers and Reference guides.


There's also a pinned link here at The Swamp with heaps of info ->


[0] Message Index

[#] Next page

Go to full version