Re: Porting addin from AutoCAD to IntelliCAD

#2
Hi Stenci,

It is generally possible to use the same source code to build assemblies targeting both IntelliCAD and AutoCAD.
A common technique for resolving differences in namespaces is to use short namespace aliases.

Code: Select all

//#define ACAD_APP
#define IntelliCAD_APP

using System;
using System.Collections.Generic;
using System.IO;

if ACAD_APP
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Geometry;

#elif IntelliCAD_APP
// for IntelliCAD 11.0 version: add references to IcCoreMgd_22.12_16.dll, IcMgd_22.12_16.dll, and TD_Mgd_22.12_16.dll
// using .NET Framework 4.8
using Teigha.DatabaseServices;
using Teigha.Runtime;
using IntelliCAD.EditorInput;
using Teigha.Geometry;
using IntelliCAD.ApplicationServices;

#endif

Re: Porting addin from AutoCAD to IntelliCAD

#4
Interesting...

In my company we are migrating from an old cad to, well, the candidate is AutoCAD, but a colleague mentioned IntelliCAD, and considering this first positive answer, it may be a good option.

I have started working on the AutoCAD addin 2 weeks ago. It's a big beast and I think it will take me about 6 months if I can work on it full time, without change in priorities.

Are there any reasons why I should keep going with AutoCAD?
I read that IntelliCAD doesn't have the dynamic block editor. Was that an old article, or is it still the case?
Are there other limitations with IntelliCAD that I should keep in mind, compared to AutoCAD?

Re: Porting addin from AutoCAD to IntelliCAD

#5
Hard to say without knowing the details of your application.

while I occasionally do some .NET, I mostly use the C++ APIs.
its been my experience that working with Teigha is really good as far as DatabaseServices. So, if you’re mostly working with entities, you should be fine

I’ve not tested Application, Document, editor spaces, or lisp function attributes
Some issues I’ve run across is using P/INVOKE, I.e. you can’t P/INVOKE into SDS functions such as sds_entget or sds_invoke, Teigha wraps OdResbuf while SDS uses sds_resbuf

AutoCAD is the leader, when I write modules, I first write them for AutoCAD, then back port to other cads, or use a multi-configuration project and try to build for ODA based applications. AutoCAD is going to have all the candy, like .bundle installation, entitlement api etc. that you probably won’t have with ODA based apps.

CMS is really awesome at it’s price point, so if it has the features you need, Id say go for it