Autocad® apis: Meet the Experts



Download 34.85 Kb.
Date02.06.2017
Size34.85 Kb.
#19895

d:\users\tony\my documents\tiger heron\clients\autodesk\autodesk university\2012\graphic assets\resources\fy2013\logos\au_2012_logo_long_color_large.png

AutoCAD® APIs: Meet the Experts

Stephen Preston – Autodesk


CP1482 Have a great AutoCAD software plug-in or cool block library that you would like to try your hand at selling? The new AutoCAD Exchange makes it very easy to get your work in front of hundreds of thousands of AutoCAD users who might want to buy what you have to sell. Bring your AutoCAD plug-in (LISP, .NET, or ObjectARX®) or other content to this roundtable session. In 90 minutes, you will walk away ready to sell your first product through AutoCAD Exchange. We will help you through the app packaging and posting process, provide advice on product naming, pricing, licensing, and more.

Learning Objectives


At the end of this class, you will be able to

  • Go to the Exhibition Hall and have a beer



The “geekiest class at AU” just got geekier!


I’m very proud this year to introduce a panel consisting entirely of members of the AutoCAD Architects team. These are the people who set the technical direction for AutoCAD; implement ‘skunkworks’ projects to test how the latest technology can be incorporated into AutoCAD; and act as technical overseers and trouble-shooters for the teams implementing AutoCAD features.

However, this class isn’t just about the panelists. It’s about you. Yes - this is your chance to meet the panelists and pose your questions to them – but it’s also your chance to meet a roomful of really experienced AutoCAD programmers and maybe share some of your expertise. (The majority of our audience usually have between 5 and 20 years of AutoCAD programming experience). So don’t just sit and listen:



Ask questions … contribute to the discussion … make some friends.

You can ask about anything you like, so come prepared with your questions about all things AutoCAD. You can even ask them about future AutoCAD features (although they may not answer ).



Remember … This class is only as good as the questions you ask!

The Panel


Our panelists this year are:

  • Christer Janson

  • Ravi Krishnaswarmy

  • Alberty Szilvasy

  • Kean Walmsley

The main purpose of this handout is to tell you a little about the panelists, so I asked each of them to answer the same questionnaire. This is what they said (starting with me):

Stephen Preston (Panel host)

Job title


Senior Manager, DevTech Worldwide, Autodesk Developer Network

Biography


Stephen has been a member of the Autodesk Developer Technical Services (DevTech) team since 2000, starting as a support engineer and now as global manager for the Developer Technical Services Worldwide team – part of the Autodesk Developer Network team. In those roles, his responsibilities included supporting the AutoCAD APIs, including ObjectARX and AutoCAD .NET, as well as AutoCAD OEM and RealDWG™ technologies. Stephen started his career as a scientist, and has a Ph.D. in Atomic and Laser Physics from the University of Oxford.

What AU classes are you presenting this year?


Other than hosting this panel session, my classes are focused on the Exchange store. I’m presenting “AC1484 - The Top 10 Free AutoCAD® Apps from the AutoCAD Exchange”, and also two roundtables – “CP1486-R - Sell Your First AutoCAD® Plug-in on AutoCAD Exchange” and “CP2300-R - Sell Your First Autodesk® Revit® Plug-in on the Autodesk® Revit® Exchange

What feature(s) did you work on for AutoCAD 2013, or what are you working on now (if you can tell us)?


I don’t work on AutoCAD development directly, but I’m going to take a share in the credit for the Autodesk Exchange store – something we expect to quickly grow into a very valuable marketplace where even the smallest app developer can reach a global customer base. The ADN team has been heavily involved in this: creating installer templates, implementing the AutoCAD ‘Autoloader’ feature that is so important for easy deployment of apps, specifying requirements and guidelines, testing submitted apps and helping publishers tweak them to work well within the Exchange store infrastructure; and publishing those apps when they’ve passed testing. We now have about 250 AutoCAD compatible apps in the store with more being submitted every day.

Tell us about the first computer you ever programmed?


Being British, I used computers that most people this side of the pond have probably never heard of. The very first computer I programmed was my grandfather’s Sinclair ZX81. It had 1K of standard RAM and a 4K expansion pack. But that was just “hello world” programming. My first ‘real’ programming was on a BBC Micro Model B. 2MHz 6502 processor, 32K RAM. I think that was about 1984. I learned BBC BASIC helping my older brother with his Computer Studies homework. I was a master of Teletext graphics, because that graphics mode used the least RAM for the display. Later, on the same machine, I learned 6502 assembler (I had ambitions to be a schoolboy games programming prodigy ), FORTRAN and Pascal.

At university, I programmed in Pascal on a NeXTSTEP machine as an undergraduate, and then finally found my way to C++ on an Apple Macintosh II System 7 as a graduate student. (My supervisor wouldn’t allow a PC in the lab ).


What’s your favorite programming language and why?


IMHO Microsoft beats the competition hands-down for developer tools, so it has to be programming .NET Framework in Visual Studio. If you’d asked me a year ago, I would have said Visual Basic .NET was my favorite, but I’ve recently changed my mind and think its worthwhile taking the slight extra pain to learn C#. The language is closer to the languages you need for programming mobile devices (especially Java for Android), so it’s a good investment. Whatever you do on the desktop these days, you should do with an eye to adding cloud and mobile functionality sooner or later.

However, whatever your favorite programming language, it’s important to broaden your horizons. Get a good grounding in your language of choice and then go play with some others.


What one piece of advice would you offer to someone who was starting to learn AutoCAD programming?


Don’t run before you can walk. Take the time to get a good grounding in general programming concepts before you get too focused on AutoCAD specifics. You’ll reap the rewards for that initial investment in years to come. Oh yes – and start with our ‘My First Plug-in’ tutorial.

What one piece of advice would you offer to someone who was already programming AutoCAD?


Start learning about cloud programming and mobile device programming. Even if you don’t believe that customers will ever put all their design data on the cloud, there are still amazing ways you can use those technologies to extend your desktop applications.

What’s your favorite beer?


When I used to drink beer it was Fullers ESB – cask conditioned, not the pasteurized/kegged version. I discovered it at a real ale festival when I was a student at Oxford.

What’s your favorite pizza topping?


Mushroom, spinach and ricotta.

What do you like to do to relax when you’re not programming?


I’m very lucky to live in a part of the world where there’s beautiful countryside in all directions. I like to get out walking whenever I can – particular along the California coastal paths and beaches.

I’ve also been known to dabble in online gaming – I’ve recently swapped my World of Warcraft subscription for an Eve Online subscription. I’m not yet sure whether the move from raid healing to asteroid mining is a step up.



Christer Janson

Job title


Senior Software Architect, AutoCAD Products

Biography


During my 20+ years as a developer at Autodesk I have worked on many products, including 3D Studio MAX and AutoCAD.

I started working at Autodesk in Sweden way back when a 386 was hot, then when the Pentium came out I migrated south to Neuchatel, Switzerland before finally ending up here in the San Francisco Bay Area in the age of Pentium II.

I am currently a Sr. Software Architect for AutoCAD working on reality capture, graphics and other initiatives.

What AU classes are you presenting this year?


I’m doing “CP3501 - GrumpyBlocks: A Tale of Writing a Game in AutoCAD® Using ObjectARX®”, where we’ll go through a couple of fun games that I wrote during a four day hacking contest here at Autodesk – one 2D dynamics simulation app and one ‘classic’ arcade shooter construction kit. If all goes well there will be another fun little surprise as well, but we’ll see how that goes.

I’m also here on “CP1482 - AutoCAD® APIs: Meet the Experts


What feature(s) did you work on for AutoCAD 2013, or what are you working on now (if you can tell us)?


The last few years I have mainly been involved with Reality Capture/Point Cloud initiative, but also done some work on graphics.

Tell us about the first computer you ever programmed?


It all started with a big lie. My brother and I convinced our parents into buying us Commodore VIC-20 in 1981 because “We wanted to learn about computers”. Naturally all we really wanted was to play games. A few months in, it became evident that if I learned how to program, I could modify the games so that pressing some key-combo would score 10 points (cheat). One thing led to another, and eventually I was coding both BASIC and 6502 Assembly on this little marvel.

Later favorites were the IBM-PC where I learned Turbo Pascal, and the Amiga 1000 where I started programming C with the eminent Lattice C compiler.


What’s your favorite programming language and why?


C++. Because I’m used to it and it does what I need. I like it because it doesn’t get in the way of writing fast and efficient code when I really need to, while still allowing me to express some kind of architectural intent and compartmentalize things on a high level.

I spent the better part of the last decade writing C# code and I still sometimes turn to the .Net environment if I want to quickly code up some utility, but for anything serious C++ is my choice. I’m also a slow adopter of new language features, I still hesitate to use templates unless there is a real architectural need.


What one piece of advice would you offer to someone who was starting to learn AutoCAD programming?


Don’t give up. Programming is great. AutoCAD is great. Programming AutoCAD is awesome! Start small, build on what you learn.

Of course, it helps to know AutoCAD first, and then have an idea for something useful or fun, but it doesn’t have to be anything fancy.

I’m a big believer of keeping things simple. If things turn too complex it is easy to confuse yourself. Most problems, even very complex ones, can be solved by solving a number of much simpler problems one by one.

What one piece of advice would you offer to someone who was already programming AutoCAD?


Focus on what the customer needs. Take pride in what you do. Keep things simple, and of course, don’t forget to have fun!

What’s your favorite beer?


These days it’s Stella Artois, but I grew up on Kronenbourg 1664.

Unfortunately Kronenbourg is not easy to come by here in California, but when available it’s still high ranking on my preferred beverage list.


What’s your favorite pizza topping?


What kind of question is that? Pizza is not about any individual topping, it’s about the synergy achieved when combinations of toppings become more than its parts.

Everybody knows that if you want good pizza you go to Italy, but if you want great pizza you go to Sweden. It’s true. Google it.

And if you must know, the “Traditional” Swedish Kebab Pizza is legendary.

What do you like to do to relax when you’re not programming?


Programming *is* relaxing for me – there’s different kinds of programming though and I often play with non-work related programming when I’m at home. Often music/synthesizer/MIDI related software. Or something fun with graphics.

Away from the computer I love hanging out with my kids, doing fun art projects, biking and other things.

I also enjoy building various electronic contraptions. Usually Arduino or Raspberry Pi based things with LEDs, motors, servos and gyros. Anything that blinks and/or moves is cool in my book.

When that’s not enough, I really like learning how to play instruments, and have a full recording studio setup with a bunch of keyboards, drums, guitar, bass and microphones where I spend many late evenings.

Oh and needless to say, when I’m tired of everything else, watching Star Trek always cheers me up.

Ravi Krishnaswarmy

Job title


Senior Software Architect

Biography


Ravi has worked on AutoCAD for over 19 years.

He was part of the original team that created ObjectARX, and one of the 2 person team that added Solid Modeling (ACIS) to AutoCAD.

He has also contributed to several features in AutoCAD over the years including xref clipping, dynamic blocks, CER.

In his current role as Software Architect and team lead – he, along with the other Architects, provides technical oversight and guidance for the AutoCAD product line.


What AU classes are you presenting this year?


CP2568 - PaaSt the Desktop: Implementing Cloud-Based Productivity Solutions with the AutoCAD® ObjectARX® API.

What feature(s) did you work on for AutoCAD 2013, or what are you working on now (if you can tell us)?


I’ve been involved with the data services and point cloud features, as specific features go.

I'm currently helping define cloud and connectivity directions for AutoCAD, including interoperability with our own internal products, like AutoCAD WS.


Tell us about the first computer you ever programmed?


Other than programmable calculators, it is the EC-1030 – a Russian computer that was a clone of the IBM 360!

What’s your favorite programming language and why?


I like Java a lot, though I mainly program in C++ for the most part.

Languages like Java (C# too) make the programmer enforce discipline, e.g. class/file names, organization of modules etc., and make one very productive.


What one piece of advice would you offer to someone who was starting to learn AutoCAD programming?


Samples are a great guide. Also – understand the basics of the AutoCAD components – the editor (selection sets, reactors …) and the object model (Database, Blocks, Entities).

That will give you the fundamental context you need.


What one piece of advice would you offer to someone who was already programming AutoCAD?


AutoCAD has a really broad API. It’s worth browsing through related areas when you are working in some parts of the code.

You might find interesting opportunities!  

Also, worth paying attention to impact of use of APIs on things like performance if for example you use reactors on many objects, or add data to objects.

What’s your favorite beer?


Corona

What’s your favorite pizza topping?


Cheese!

What do you like to do to relax when you’re not programming?


I like doing small home improvement projects when I can.

Albert Szilvasy

Job title


Software Architect

Biography


Albert Szilvasy has been with Autodesk for 15 years and worked in various roles within the AutoCAD® development organization. Most recently, he has been involved with .NET APIs and preparing AutoCAD for the Mac® and Cloud.

What AU classes are you presenting this year?


CP3346 - The Confluence of AutoCAD® Mobile, Desktop, and the Cloud

What feature(s) did you work on for AutoCAD 2013, or what are you working on now (if you can tell us)?

In AutoCAD 2013 I worked on integrating the C# ‘dynamic’ keyword with our .NET object model, startup performance and other stuff that hasn’t shipped yet so I can’t talk about…

Tell us about the first computer you ever programmed?


Commodore Plus/4. It was a nice little guy but I don’t remember much about it. Heck, I don’t even remember what I had for dinner last night…

What’s your favorite programming language and why?


C#: it is a clean and flexible language with excellent tooling. I spend most of my time reading/writing C++ code for work though.

What one piece of advice would you offer to someone who was starting to learn AutoCAD programming?


Use the .NET API. It has the best balance between power and learnability.

What one piece of advice would you offer to someone who was already programming AutoCAD?


Convert your app to C#. Keep up with what’s happening in .NET. There are some nice productivity boosters there every time you look.

Don’t be a bigot: use the language that works.


What’s your favorite beer?


I don’t have a favorite. I know what I don’t want: big international brands. I always want to drink the most local one can get.

What’s your favorite pizza topping?


Bacon and pineapple.

What do you like to do to relax when you’re not programming?


I’m blessed to live in an area where the sea and the mountains meet so I can wave ski in the morning and go for a bicycle ride in the afternoon.

Kean Walmsley

Job title


Software Architect

Biography


Kean has been with Autodesk since 1995, working for most of that time in a variety of roles – and in a number of different countries – for the Autodesk Developer Network organization. Kean’s current role is Software Architect for the AutoCAD family of products, and he continues to write regular posts for his popular development-oriented blog, “Through the Interface” (http://blogs.autodesk.com/through-the-interface). Kean currently lives and works in Switzerland.

What AU classes are you presenting this year?


I was involved in 3 sessions prior to this one, today. I was a panelist on “CP3573 – AutoCAD Programming Gurus Go Head to Head”, I presented “CP1914 – Moving code to the cloud – it’s easier than you think!” and then hosted “CP4342-R – Cloud and mobile developer round-table”. Tomorrow I have my second lecture-style class, “CP1921 – Developing a simple Metro-style application for Windows 8”.

What feature(s) did you work on for AutoCAD 2013, or what are you working on now (if you can tell us)?


I was still in the ADN team for most of the 2013 product development cycle, but right now I’m busy acting as the main internal contact for our vertical product teams.

Tell us about the first computer you ever programmed?


It might have been the BBC Micro Model B or the TRS-80 Model III – it’s hard to remember which came first. On a side note, I’ve been having lots of fun getting emulators for these machines – and a number of others I’ve used – on my Raspberry Pi. It’s mind-boggling that you can carry around multiple equivalent machines – along with all their software – on such a small device. :-)

What’s your favorite programming language and why?


For general-purpose programming I prefer C#, although I also have a lot of time for C++, F#, Java & Ruby. C# has evolved to provide really important programming language concepts – many have been inspired by functional programming, for instance – and it’s this continued evolution that I find both impressive and helpful on a day-to-day basis.

What one piece of advice would you offer to someone who was starting to learn AutoCAD programming?


Subscribe to my blog. ;-) And work through “My First Plug-In” and check out some of the “Plug-Ins of the Month” on Autodesk Labs.

What one piece of advice would you offer to someone who was already programming AutoCAD?


The same! :-) In seriousness, to anyone with programming experience, don’t be afraid to broaden your horizons. Try out coding in another language for a few days: it’s not as painful as you might think, and the confidence you get from being a polyglot will help you adapt to this world of increasingly rapid technological change.

What’s your favorite beer?


Guinness.

What’s your favorite pizza topping?


I’m a sucker for an egg in the middle of my pizza.

What do you like to do to relax when you’re not programming?


Lately I’ve been having *lots* of fun with the Raspberry Pi. It’s mostly not about programming – a lot of it is installing or building and configuring existing components – so I suppose that counts as a valid answer. Sort of.

I also enjoy – and find I need to play – sport on a regular basis. I’m not too fussy about the type of sport, but floor hockey and soccer are among my favourites. And I read Sci-Fi on a near-daily basis.

Download 34.85 Kb.

Share with your friends:




The database is protected by copyright ©ininet.org 2024
send message

    Main page