Login

View Full Version : CAD programming environments & applications??



Andrew Cairns
2010-08-05, 03:00 PM
My employer needs to take the next step and customize the AutoCAD environment to do what we do.
I am wondering about CAD programming environments, applications and how to minimize our risk.

My Boss’s two main concerns are as follows:
“I don’t want to invest thousands of dollars just to have them go under!”
I want a “configurator” that I can add products or change when I need too.

So basically, I’m looking for a bit of background information from the people that do this. (You guys!)
My company is a primary warehouse rack manufacturer. www.naseco.ca
We manufacture about 12 product lines.
Ultimately, we want a way of automating our design and documentation process using these product lines.

My Boss talks about a “configurator” to drive the whole process. Is there a “canned” system that can be modified? As an example, we use NAVISION as part of our MRP system. It has been modified to do what we do.
Me, I’m more for doing it as a series of small applications; one to draw frames, another to draw elevations etc. Add small applications systematically, until we have all the tools we need.

This will be a long term and large scale project.
What computer programming API’s should I be looking at?
How do I minimize the risk of investment verses having that system go obsolete?
I’m in the Toronto GTA area. Who should I be speaking to?
Any help you could offer me would be greatly appreciated.


--
Andrew Cairns
Senior Designer

Ed Jobe
2010-08-05, 03:53 PM
It sounds like you do not have any in-house programmers?

I saw a vendor at AU last year that had customized Inventor for GE to automatically draw a substation and all documentation by just having the user input some design criteria. For manufacturing, Inventor would be the product of choice. This is possible with Inventor because every dimension can be parametric and constrained to other features. I'll see if I can find the var's info.

The api would be .NET.

BlackBox
2010-08-07, 07:45 PM
Congrats on your first post!


... My Boss’s two main concerns... “I don’t want to invest thousands of dollars ...”

Ed's right about .NET being the most capable, however don't be surprised if your Boss doesn't go for it right away as there are some inherent costs with .NET:

i.e., there is no internal development environment (IDE) for .NET, so you will have to obtain Visual Studio. There is a free and a regular application. If you have knowledgeable developers they will know how to manipulate the free version accordingly, so as to not inhibit your development production with time consuming work arounds.

...At face value - this is the easy part. ;)

Going further, hopefully you only have one version of AutoCAD product implemented (or at least two within the same 3 year life cycle that Microsoft follows).... for example, for me to code .NET for AutoCAD 2006 I need one version of Visual Studio, and to code for AutoCAD 2009 I need an entirely different (newer) version of Visual Studio.

This is not even including cost of training your development team, or contracting from a 3rd party developer (if either of those are needed). :shock:

That really only leaves a couple of choices (VBA, and Visual LISP), and of the two I'd go Visual LISP (That's right, I said it in a VBA forum.. that's how I roll 8)). VBA is very similar to .NET, and can be ported to .NET successfully, however it is being (has been) phased out by Microsoft. But at least for the time being, VBA does still have an IDE available (even if you have to download it separately!).

Visual LISP is a core part of AutoCAD and has it's own IDE, that is not leaving anytime soon. Nowhere near as powerful as .NET, admittedly, but if your Boss is anything like mine, they poo-pooed Visual Studio (at work), so I'm left developing in Visual LISP at work, and with .NET at home. :cry: Thankfully, Visual LISP has been more than capable of tackling our automation requirements and then some.

...Having Knowledge of LISP is great, but given the budget, I'd choose .NET without fail.

Hope this helps!

dgorsman
2010-08-09, 02:34 PM
Long term and large scale, this should probably be done by a consultant company that specializes in customizing AutoCAD products to your requirements. If you invest that kind of money you should be getting the source code and documentation as well as the program, so even if they do "go under" you can still pass it on to another consultant or have one of your own staff carry on from their. If they won't release the source back to you, then you should not be using them.

There are a number of folks here that either provide such services or can point you to the same.

rstrandmark
2010-08-24, 09:00 PM
It sounds like you do not have any in-house programmers?

I saw a vendor at AU last year that had customized Inventor for GE to automatically draw a substation and all documentation by just having the user input some design criteria. For manufacturing, Inventor would be the product of choice. This is possible with Inventor because every dimension can be parametric and constrained to other features. I'll see if I can find the var's info.

The api would be .NET.

Inventor? Really...
You'd think Revit would be a better choice for that.
Glad we all are doing our part to make technological unemployment as high as possible, lol.

Ed Jobe
2010-08-24, 09:45 PM
Inventor? Really...
You'd think Revit would be a better choice for that.
Glad we all are doing our part to make technological unemployment as high as possible, lol.
No, the architechtural stuff just doesn't do everything we need for a substation, mainly on the electrical side. Inventor is parametric and the main attraction of that solution was that a designer could input a dozen or so parameters and the system the vendor came up with would draw everything from scratch.

btw, I can't find anything on the vendor. I would look at the adesk business partner site.

sinc
2010-08-25, 02:45 PM
I would strongly disagree with much of what RenderMan said above, except for his last sentence:


Having Knowledge of LISP is great, but given the budget, I'd choose .NET without fail.

I, too, would choose .NET.

You can get Visual Studio Express Edition for free, and the Free Edition does everything you need for your task. Not to mention, it is FAR better than the Visual Lisp IDE in Autocad, which hasn't been improved in at least a decade. And I'm using the same version of Visual Studio for all my coding, although I've only been targeting the 2007-2011 versions of Autocad. Not sure why it wouldn't work for 2006, although I do know Autodesk's .NET API was extremely weak in 2006...

Plus, the .NET framework has TONS of generic stuff available for your use. Most Lisp and VBA writers end up writing a lot of this stuff themselves, which takes much longer and is much more bug-prone than simply using all the stuff that's already in the .NET framework.

Not to mention, Autodesk is moving to .NET for all their APIs, especially with the vertical apps, which now have a lot of functionality that is ONLY available in .NET. This functionality cannot be accessed from Lisp. And VBA is now dying, so it is not a good choice for a large new project, either.

But it takes at least five-ten years of experience before you could even begin to make good decisions in a large project like this. So I strongly recommend you find someone... But if you're using Revit or Inventor, keep in mind that it isn't enough to hire a programmer. You also need someone who is fluent with Revit/Inventor, so they know what sort of code makes sense, given the capabilities of the application. I specialize in Civil 3D myself, and can't help you with Revit or Inventor.

BlackBox
2010-08-25, 04:09 PM
Thanks for the additional information, Sinc.

Yes, there's a free version of Visual Studio available, and not to argue, make no mistake - there are several differences between the two, here is just a few:



See the official Visual Studio [2010] Product Comparison (http://www.microsoft.com/visualstudio/en-us/products)

Basically, Standard Edition features extensibility, external tools, class designer, refactoring tools, some advanced debugging capabilities, some deployment tools, some xml tools, some report design tools, and much more.

Source link (http://www.computing.net/answers/programming/visual-studio-exp-vs-visual-studio/16257.html)


The OP made it clear that they are entering a long term project, with no developers. Paying for the full standard version is the least costly part of this process, considering they still need to train their own, or hire 3rd party developers, and gains them many application advantages over express. You think a 3rd party developer isn't going to *milk* the process a bit with express? Be realistic. If they had seasoned developers in-house, then express may be more viable in my mind. Admittedly, this is just one man's opinion, and it may not hold true for the OP's situation.

Additionally, Jerry Winters (Autodesk University Instructor) shows that there are some steps needed (http://images.dcheetahimages.com/au.autodesk.com/ama/images/media/CP104-4-DotNet-Programming-for-Civil-Engineers.pdf)to mimic some inherent capabilities of the standard version, when developing with express.

In another AU course (I cannot find which it was), Fenton Webb goes into detail about the "three year product life cycle" for both AutoCAD and Visual Studio. In developing for both 2006 and 2009 products, I personally require two different versions of Visual Studio (and supplimentary AutoCAD SDKs).

I hope this helps!

sinc
2010-08-25, 08:59 PM
Paying for the full standard version is the least costly part of this process, considering they still need to train their own, or hire 3rd party developers, and gains them many application advantages over express. You think a 3rd party developer isn't going to *milk* the process a bit with express? Be realistic.

Just out of curiosity, what necessary features do you feel you get in the full standard version of VS that you don't get in VS Express?


In another AU course (I cannot find which it was), Fenton Webb goes into detail about the "three year product life cycle" for both AutoCAD and Visual Studio. In developing for both 2006 and 2009 products, I personally require two different versions of Visual Studio (and supplimentary AutoCAD SDKs).


Can you go into detail about WHY you need to use two different versions of VS? I'm using a single version of VS, and it works fine for Autocad versions 2007-2011. No three-year problem I've been able to discover. The only quirk is that if you have VS 2010, you have to configure it to debug using the older .NET frameworks, since VS 2010 defaults to .NET 4.0 for debugging.

BlackBox
2010-08-25, 09:53 PM
Paying for the full standard version is the least costly part of this process, considering they still need to train their own, or hire 3rd party developers, and gains them many application advantages over express. You think a 3rd party developer isn't going to *milk* the process a bit with express? Be realistic.



Just out of curiosity, what necessary features do you feel you get in the full standard version of VS that you don't get in VS Express?

For clarification, I don't believe that there are necessary features, only that the versions are not equivalent. Being a novice myself, if I had to pick a single feature that I would personally find to be the most beneficial... it would have to be the MSDN subscription.

Regardless, VS is simply an application, and I consider express in the hands of a skilled developer (such as yourself, perhaps, Mr. Quux?) to be far superior to that of the ultimate version in my, un-skilled hands, no?




In another AU course (I cannot find which it was), Fenton Webb goes into detail about the "three year product life cycle" for both AutoCAD and Visual Studio. In developing for both 2006 and 2009 products, I personally [use] two different versions of Visual Studio (and supplementary AutoCAD SDKs).



Can you go into detail about WHY you need to use two different versions of VS? I'm using a single version of VS, and it works fine for Autocad versions 2007-2011. No three-year problem I've been able to discover. The only quirk is that if you have VS 2010, you have to configure it to debug using the older .NET frameworks, since VS 2010 defaults to .NET 4.0 for debugging.

Admittedly, I cannot elaborate on the WHY.

However, I appreciate your challenge, as it has forced me to realize that my statement was simply a regurgitation from an AU course taken earlier this year. I will attempt to track down the sources for my earlier statements with regard to the three-year issue, and have no problem retracting my comments until validated.

As always, I appreciate your feedback, Sinc. ;)

hugh.69031
2010-08-26, 01:31 AM
Your boss may be thinking of "Product Configuration" where predesigned components can be automatically assembled within programmed design rules to order.

This provider looks like it may have a canned system that could handle your requirements:

http://www.softtechnz.com/

Search for "product configuration software" online for other providers.

If you want to start from scratch inhouse there's now a lot to exploit in AutoCAD's dynamic blocks. AutoLISP can now hook into outside databases. And of course there's .NET to bridge into MS Office and the web. But it will take a LOT of time to get running - count on many months. I have had some experience ...:lol:

You mentioned an existing MRP system which suggests you already have a substantial BOM resource. If possible pick a solution that can exploit and feed a common database.

BTW http://www.theswamp.org/ could also help in your search.



hth,

Hugh Adamson
www.cadro.com.au (http://www.cadro.com.au)

sinc
2010-08-26, 03:33 AM
There are some conveniences in the Full Edition...

The GUI is more complete, you can incorporate plugins for things like Dotfuscator or SVN... And you can create test suites with the Full Edition, which is something that should always be done in a large effort. Regression tests are a good thing.

dgorsman
2010-08-26, 02:40 PM
There are some conveniences in the Full Edition...

The GUI is more complete, you can incorporate plugins for things like Dotfuscator or SVN... And you can create test suites with the Full Edition, which is something that should always be done in a large effort. Regression tests are a good thing.

SVN or similar tools are vital for multi-programmer collaboration. Its not so useful for a single ad-hoc programmer, but I can see the advantages of producing diffs for more advanced users (I use WinDiff to check LISP files from time to time - its a useful tool). Now if only the boss would lay out the money for the Pro version...

sinc
2010-08-27, 04:21 AM
You can use SVN with VS Express Edition, you just have to do all your SVN stuff from Windows Explorer instead of from within Visual Studio. It makes renaming files a bit more complicated.

BlackBox
2010-11-12, 01:02 AM
In another AU course (I cannot find which it was), Fenton Webb goes into detail about the "three year product life cycle" for both AutoCAD and Visual Studio. In developing for both 2006 and 2009 products, I personally [use] two different versions of Visual Studio (and supplementary AutoCAD SDKs).



Can you go into detail about WHY you need to use two different versions of VS? I'm using a single version of VS, and it works fine for Autocad versions 2007-2011. No three-year problem I've been able to discover. The only quirk is that if you have VS 2010, you have to configure it to debug using the older .NET frameworks, since VS 2010 defaults to .NET 4.0 for debugging.



Admittedly, I cannot elaborate on the WHY.

However, I appreciate your challenge, as it has forced me to realize that my statement was simply a regurgitation from an AU course taken earlier this year. I will attempt to track down the sources for my earlier statements with regard to the three-year issue, and have no problem retracting my comments until validated.

As always, I appreciate your feedback, Sinc. ;)

Sinc, perhaps you (or someone else?) can comment on why Autodesk explicitly suggests using separate versions of VS (each being 3 years apart) for development on different AutoCAD software versions:

Which Edition of Microsoft Visual Studio to Use (http://docs.autodesk.com/ACD/2011/ENU/filesMDG/WS73099cc142f48755-35a0330e12075abe904-7446.htm)

dgorsman
2010-11-12, 03:50 PM
I think its just a victim of inconsitent documentation. I'm sure that like virtually everywhere else, not only does nobody want to actually *do* the documentation the bosses want to spend their budget on tasks more directly related to the product.

BlackBox
2010-11-12, 04:36 PM
I think its just a victim of inconsitent documentation. I'm sure that like virtually everywhere else, not only does nobody want to actually *do* the documentation the bosses want to spend their budget on tasks more directly related to the product.

Sure, that makes complete sense.

While I trust what information Sinc and others have offered, I am just completely confused (being a Visual Studio noob), and find myself wondering if the software I have downloaded (VS 2010 VB/C#/C++) will be able to properly be utilized for my current platform version (Land Desktop Companion 2009), and newer.

Visual Studio is very much outside of my 'comfort zone' being a Visual LISP developer at present. However, I understand that Visual Studio is where development is going, and want to get on board before I miss a great opportunity.

bsardeson
2010-11-12, 07:44 PM
This will be a long term and large scale project.
What computer programming API’s should I be looking at?
How do I minimize the risk of investment verses having that system go obsolete?
I’m in the Toronto GTA area. Who should I be speaking to?
Any help you could offer me would be greatly appreciated.

Andrew,

I sent you an email regarding my moonlight activities in this regard. Being a manufacturing programmer and having just completed two major projects in the last year doing exactly what you describe, I'd love to help you get going on the right path. Thanks to the economy I know work for a different employer than those Inventor Automation projects, however, I like to keep my skills up to speed.

BlackBox
2010-11-13, 04:21 PM
This is interesting, I attempted to install C:\ObjectARX2011\Utils\ObjARXWiz\ArxWizards.msi, and got the following error (See attached image).

I am using AutoCAD Civil 3D 2011 (from home), and have just installed both Visual Studio 2010 C#, and VB.

Edit: Still trying to decide which language to use, and am following the 'AutoCAD .NET Developer's Guide' listed in the forum sticky by RobertB (v2010)

Edit: Just found the 'AutoCAD Civil 3D 2011 Developer's Guide' and under About the Developer's Guide > AutoCAD Civil 3D API's, it states:




AutoCAD Civil 3D APIs

There are three APIs available for customizing AutoCAD Civil 3D:


COM API — you can create clients that access the COM API from managed (.NET) or unmanaged (C++) code. See Creating Client Applications (page 277). In addition, this API can be used in the Visual Basic for Applications (VBA) IDE, which is available as a separate download. VBA support is deprecated.
.NET API — allows you to write extensions to AutoCAD Civil 3D in any .NET language. In general, the AutoCAD Civil 3D.NET API performs significantly faster than the COM API. Development requires Microsoft Visual Studio 2008 SP1 or better.
Custom Draw API (in C++) — an extension of the AutoCAD ObjectARX API that allows you to customize the way AutoCAD Civil 3D renders objects. Development requires Microsoft Visual Studio.



Have I done something wrong?

Edit: ... Or am simply supposed to use "the base libraries acdbmgd.dll, acmgd.dll,
AecBaseMgd.dll, and AeccDbMgd.dll"?