Jimmy Bergmark is the owner and principal of JTB World, a Swedish consulting company specializing in AutoCAD programming and customization. Jimmy is well known in the AutoCAD community because of his constant presence and highly qualified advice in several discussion forums and also because of his popular technical blog. Jimmy has been working with AutoCAD since 1989 and is one of the most qualified persons to discuss the evolution of AutoCAD as a platform to support custom applications. I asked him for an interview and Jimmy gladly accepted.
Jimmy, can you tell us a bit about yourself and your professional activities?
a lot of what I do is around AutoCAD as well as other products from Autodesk
I graduated as an Electronic Engineer with focus on electronics and computer science in 1989. Programming was something I started with using a Sinclair ZX81 in the early 80-ies and programming is what I still do. During the time that has passed I have also worked as Building Engineer and CAD Manager. For 9 years I was at an EPC (Engineering, procurement, and construction) company, Pharmadule Emtunga. On my free time I did run JTB World as a side business for several years and a year ago I and my wife decided to run JTB World at full time. My work now is software development and consulting. Since I and my wife do everything from development to sales it can be called a Micro-ISV (independent software vendor) company.
A lot of what I do is around AutoCAD as well as other products from Autodesk like AutoCAD Architecture but it’s not limited to that. Other types of applications I develop are for example an application that centralizes company’s email signatures so they all look the same and JTB FlexReport for network license reports. In essence, when someone or a company comes with a problem/wish/request I do what I can to help to solve that. Sometimes I help with work procedures like how to use existing software’s most effective or it can be software development or integration using languages like AutoLISP, VBA, VB.NET or whatever suits the job best.
What are the most recurring problems you have to solve when CAD end users ask for your help?
I answer very basic questions or it can be more tricky questions that no one else have been able to answer
I get questions by e-mail and I try to visit discussion groups from time to time and sometimes I answer very basic questions or it can be more tricky questions that no one else have been able to answer. CAD end users are often in a quite complex software world and if they don’t have a CAD Manager to go to or someone else to help them they are free to contact me. Sometimes I answer for free and if they want to have me as a resource for more help it is for a fee.
I know from experience that users can sometimes sit for hours with a problem and often I know the answer or can quickly find it and they can focus on their work as drafters or engineers. I would say that a lot of things are the same today compared to when I worked for a company as CAD Manager. Now I have somewhat more freedom though both when it comes to working hours and what type of works I select to do.
You have been working with AutoCAD for many years. Did AutoCAD evolve in the way you expected?
if AutoCAD hadn’t evolving in this good way I don’t think I still used it as much as I do
I have used AutoCAD since 1989 and almost used it continually since then. If AutoCAD hadn’t evolving in this good way I don’t think I still used it as much as I do. I must say that still I really like to work with AutoCAD a lot. In some ways I must say that not much have changed. Already back then AutoLISP was available as a programming language for AutoCAD and we did a lot of work in 3D with building information attached to the objects. Of course a lot has changed both with AutoCAD and Windows platforms.
Something that never seems to improve its performance for the user, at least it feels like that. In the early years there where things like you had to try to avoid to regenerate a drawing and used every trick to work around that as well as memory limitations. But even today there are sometimes problems with the command line not being responsive when characters entered comes in wrong order, when CUI (command user interface) was release most everyone complained on performance.
When I worked as CAD Manager I often run into the need for handling larger 3D models better. We used NavisWorks for navigation within the models and wished that the same good performance was in AutoCAD. Hopefully Autodesk will make use of the technology that NavisWorks has after their acquisition of that company. Most AutoCAD releases have had something for someone but you always expect more to be both fixed and added to each release.
Is there any feature that you really believe is missing from AutoCAD?
it should be possible to dynamically clip a 3D model (with support for all object types) in all directions so you easily can limit what you want to work with
It should be possible to dynamically clip a 3D model (with support for all object types) in all directions so you easily can limit what you want to work with. Along the same line it should be possible to show and hide on object (also when nested in xrefs or blocks) as well as easily set transparency. And when transparency is used you should be able to snap to these objects or not. AutoCAD should also support multiple users to work in the same model file. Even if you can use xrefs it’s not that dynamic workflow as one could wish. Something like a VISRETAIN=2 would be needed to be able to handle nested xrefs in several levels. Another thing is functions like the old Actrix had so you could easily connect things to each other. This would be a great addition to dynamic blocks for example, not to forget 3D support for dynamic blocks. And this list can go on with hundreds of other things.
The AutoCAD world seems to support legions of utilities, lists of tricks, and tips. Do you attribute this to the flexibility of the software or to its intrinsic complexity?
with these (AutoCAD APIs) you can do almost anything
AutoCAD has very mature and flexible APIs. I mostly use AutoLISP, VBA or VB.NET. With these and others you can do almost anything and therefore there are so many utilities and 3rd party applications. I like this flexibility because if AutoCAD should include everything that everyone wished for it would be a monster. One great proof on how good AutoCAD is as platform is to look at all the verticals Autodesk themselves has that are based on AutoCAD. AutoCAD is really complex as it is and I appreciate that it’s not an easy task to decide what should be included in a new version or not.
You have a popular blog full of great information for all AutoCAD users and developers. How has your experience as a blogger been?
I often find myself returning to my blog to find things
I think it has been great. Several times I have written articles for CAD Magazines and it always feels like you need to get it so perfected. With the blog it is not that kind of pressure. I can use it as my personal scratch book. I often find myself returning to my blog to find things. Still the blog seems to fill a need among others in the online community and that feels good. I have found that I spend somewhat less time in the newsgroups since I started blogging. Instead I try to spend time to make blog posts that not only are links to other blogs (sometimes I do that too). I try to either add something to a discussion, share a solution to a question I got per email or seen in a newsgroup, writing something really unique or in depth about a topic.
If, for example, you have an end user requiring a special feature for AutoCAD, when would you recommend developing an in house solution, and when to go for an external tool?
if what you want to do is involving integration of several systems it might be that you have the best background for the job
It could be either way. One thing I often recommend is to sign up at myfeedback.autodesk.com because that way you can actually be involved in what should be added to future versions of AutoCAD as well as come with suggestions on proposed new features.
If you don’t want to let Autodesk do the work and you have the knowledge and time to do the work in house it can be a good way to go. Consider if your in house resources have spare time between other projects. That might be a good opportunity to do it even though it might cost more than going for an external tool it is a great opportunity to increase the in house knowledge. Think about if what you are about to do can be done with the programming language and API you know or not. Maybe you know AutoLISP very well but for this specific feature managed .NET might be the best choice and instead of learning it this time it can be better to outsource it. I’ve done in house development so many times myself, sometimes just for the fun of it and sometimes because of the complexity. If what you want to do is involving integration of several systems it might be that you have the best background for the job.
But you really need to calculate the time and cost. Make a ROI calculation. It could be that if you don’t do development work full time it might be much cheaper to let a consultant do it or find an existing tool. Sometimes what you, your manager or users wants is too much. If you let the ideas flow too freely you almost every time will end up having to do a unique solution and that might not be the best thing. Try to use your existing tools as much as possible out-of-the-box. If you for example have AutoCAD Architecture consider alternatives like Revit instead of trying to build a new Revit upon AutoCAD Architecture. Try to keep it simple but remember too that a lot can be automated that you might not even think about. Don’t hesitate to send me the requirement, idea or the question and I will try to guide you, give you a quote and help you out.
I would like to thank Jimmy Bergmark for this interview. If you have any questions for Jimmy or for Novedge, please leave a comment below and we will be glad to answer.