Community
Inventor Programming - iLogic, Macros, AddIns & Apprentice
Inventor iLogic, Macros, AddIns & Apprentice Forum. Share your knowledge, ask questions, and explore popular Inventor topics related to programming, creating add-ins, macros, working with the API or creating iLogic tools.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Who's using C#

9 REPLIES 9
Reply
Message 1 of 10
Qube-it
321 Views, 9 Replies

Who's using C#

I'm a regular Inventor user (and quasi CAD Manager), but I'm new to the land of programming and I'm taking courses at my local community college to go in that direction. I've just completed an intro to programming class (using C++ as the language) which really only gave me the ability to ask intelligent questions. I'm chomping at the bit to start developing some stuff for Inventor (lots of ideas rolling around up there), and I've got a choice ahead of me... Do I take the VB.NET class first or the C# class first.

I will eventually take both, but I also know that I will develop other applications in the future outside of Inventor (for my company) which is why I want to become proficient with C#.

I would like to hear from people who are using (or knowledgeable with) both and get there feedback on what they like and don't like about each one when developing add-ins for Inventor(if possible).

TIA

--
Brian Hall
-Brian Hall-
9 REPLIES 9
Message 2 of 10
Anonymous
in reply to: Qube-it

For Inventor add-ins (and many other programming tasks), either VB.NET or C#
will be equally capable. It really comes down to your preferance. If you are
familiar with VBA, VB.NET would probably be easier to pick up. As your
collection of add-ins grows, you can easily incorporate components (dll's)
created in either language.


wrote in message news:5913267@discussion.autodesk.com...
I'm a regular Inventor user (and quasi CAD Manager), but I'm new to the land
of programming and I'm taking courses at my local community college to go in
that direction. I've just completed an intro to programming class (using
C++ as the language) which really only gave me the ability to ask
intelligent questions. I'm chomping at the bit to start developing some
stuff for Inventor (lots of ideas rolling around up there), and I've got a
choice ahead of me... Do I take the VB.NET class first or the C# class
first.

I will eventually take both, but I also know that I will develop other
applications in the future outside of Inventor (for my company) which is why
I want to become proficient with C#.

I would like to hear from people who are using (or knowledgeable with) both
and get there feedback on what they like and don't like about each one when
developing add-ins for Inventor(if possible).

TIA

--
Brian Hall
Message 3 of 10
Anonymous
in reply to: Qube-it

C# is a bit more powerfully i like it more. its similar to java and it compiles to an intermediate language called MSIL then is converted into machine code later by something in the .net frame work.

but if you planing to do just small programs and inventor add ins both are equally good it wont make any difference. they say the language a programmer learns first usually becomes there favorite language.. and since u said u've learned C++ alread even an intro to it.. C# will be easy to pick up the syntax is similar.. VB is prolly the easiest language i've learned. key words are pretty logical but that means sometimes you have t0 type more.. if you have no problem with that..

Summary : it doesn't really matter.. i think u might find picking up C# a little faster
Message 4 of 10
Anonymous
in reply to: Qube-it

I think the main question is what are you going to be developing?

If all you are going to be developing is small tools for Inventor, then I would just go with VBA. No need for compiling, easier debugging.

If you are developing small to medium sized tools with some forms and need to catch and response to events, then I would go with VB.Net and write Add-Ins.

If you are developing an application, need to develop your own classes, need to specifically control memory management, need to interface to a 3rd party API that is written in C++ or C, or need to do some intensive calculations, then I would go with C++ (I'm actually a big fan of Standard C++ and the STL). If you want to jump on the .Net bandwagon, then C# is another option, but I haven't programmed w/ C# so I don't know what advantages it has.


As a general rule, I wouldn't limit myself to one language. It depends on the task as to what language is easiest to use and get the job done quickly. However, if you are taking computer courses, I would tend to stick to the theoretical side of things (e.g. logic, algorithms, numerical methods, containers, procedural vs. OO, machine language and Von Neumann, lazy vs. strict evaluation, interpreted vs. compiled). This will give you a good base knowledge to apply to any language and know what is "do-able".
Message 5 of 10
Qube-it
in reply to: Qube-it

Jeez Josh; are you the jack of all trades? I see you everywhere!! 🙂 Thanks for the response.

What I will be developing will be an evolving set of tools, add-ins, and application(s). I will obviously start with small tools and move to add-ins and then ultimately to something that interfaces with my company's database(s) through a stand alone application of some kind. We're a small company so this isn't on a massive corporate scale or anything, but it is still quite an undertaking from our perspective. This is why I will define it with some loosley stated objectives and specs, with some lattitude to allow for a natural progression to occur (see Agile Programming).

I will be jumping on the .NET bandwagon, which is why I'm interested in C#. I will be learning everything I can about programming in general (including all of the theoretical aspects of it) so I will eventually be taking a class on C and a class on C++ (that's not an intro) as well as other classes that are in the curriculum requirements. The problem is that I can only take one class per semester due to my work and family schedule (mainly work); so each semester I'm trying to take something that will have a more immediate impact on what I'm brainstorming about at work.
-Brian Hall-
Message 6 of 10
Anonymous
in reply to: Qube-it

>Jeez Josh; are you the jack of all trades?

no, not really, just an engineer that uses IV all day long. (I have done quite a bit a programming in my college days)

The biggest hurdle I've seen with C++ and possibly C# is compiler issues and deciphering what the error messages mean. New programmers can spend ALOT of time trying to "debug" what is really just an error in build settings.

For your next class, I'd probably go with VB.NET. You can practice with the Inventor API with VBA and then go towards compiling your own add-ins. This would give the most bang for the buck and allow you to see immediate results.
Message 7 of 10
Qube-it
in reply to: Qube-it

Thanks for the response guys. Most everything I've seen developed for Inventor is done in VBA or VB.NET. Could I develop something for Inventor in C# as quick as in VB.NET?

I guess my biggest fear is only in the short term. I fear that if I learn VB.NET first that I will have trouble moving to C# later, and if I learn C# first that it will take longer for me to start developing stuff in Inventor due to a slightly steeper learning curve and/or the possibility that it takes longer to develop something in C# than in VB.NET. In the long term that won't matter because I will know both languages and when the right time would be to use them.

As I'm writing this, I realize that I'm probably overcomplicating this. I have a tendancy to do that from time to time. I think I will simply face my "fears" and get over it by starting with VBA to get my feet wet with the Inventor's Object model and basic programming and then go from there.
-Brian Hall-
Message 8 of 10
Anonymous
in reply to: Qube-it

Sounds like you're on the right track. When you eventually "get into it",
probably the best programming investment you could make would be to take out
an ADN membership. Great developer help for IV specific issues, discounts on
IV API training, etc.


wrote in message news:5914099@discussion.autodesk.com...
Thanks for the response guys. Most everything I've seen developed for
Inventor is done in VBA or VB.NET. Could I develop something for Inventor
in C# as quick as in VB.NET?

I guess my biggest fear is only in the short term. I fear that if I learn
VB.NET first that I will have trouble moving to C# later, and if I learn C#
first that it will take longer for me to start developing stuff in Inventor
due to a slightly steeper learning curve and/or the possibility that it
takes longer to develop something in C# than in VB.NET. In the long term
that won't matter because I will know both languages and when the right time
would be to use them.

As I'm writing this, I realize that I'm probably overcomplicating this. I
have a tendancy to do that from time to time. I think I will simply face my
"fears" and get over it by starting with VBA to get my feet wet with the
Inventor's Object model and basic programming and then go from there.
Message 9 of 10
Qube-it
in reply to: Qube-it

Yeah, that's what I was thinking too. You make a good point in regards to debugging. That really brings it home for me. One of the biggest problems I had in my C++ intro class was logic errors, which is somewhat akin to the build settings that you talk about. Like I said in my other post, I have a tendancy to overcomplicate things; especially when I want that "instant gratification". That's the way I will go then... VB.NET first.

Thanks again.
-Brian Hall-
Message 10 of 10
Qube-it
in reply to: Qube-it

Yeah, I've been looking into that. I'll try to do that (become an ADN member) before this year's AU so that I can get into the conference on Monday. Thanks for the advice.
-Brian Hall-

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report