1 Inside the application: After they have done it the long way, tell them how to do it the convenient way.
Let's say that Shift+Click changes the object into Rotate mode (or maybe Shift+mouse drag already rotates). A user who does not know that selects the model with simple click, then goes to the menus and selects Transform -> Rotate, which sets the object into Rotate mode, then he drags around to rotate. After he is done with rotation and switches back to normal mode, you overlay a tip saying "Next time, you can simply Shift+Click to activate Rotate modus", with the option to close the tip for this time, to never show this tip again, or to never show any tip again. Basically, it will work like the old "tip of the day", but the lesson will be given in a situation where the user is already paying attention to that functionality.
2 Before usage: Make an interactive tutorial.
Have you noticed that with game companies don't have any trouble to sell products with highly unusual interfaces and hidden controls, even to people who have no previous skill in the task they will have to solve with the software? The reason is that modern games start with a learning campaign. Instead of being given the usual freedom the first few levels, the players are typically told what to do, and what controls to use for it. And the smartphones and tablets everybody points at and says "this is really simple"? Well, mine came with a few screens which told me where to tap and pinch the first time; they disappeared when I had learned it.
You can devise something similar for your program. What are the basics of interaction with your program? Make a task out of them, and offer users to lead them by the hand through it, step-by-step. If you manage to make it a pleasant and informative experience, users will use it. But you will have to get it right:
make it as short as possible. Better to demonstrate a tiny proportion of what your software can do, but be able to tell the user "do you want to go through the tutorial, it is only 3 minutes", than to have a long and intricate demonstration which nobody will bother going through.
resist the temptation to showcase your latest and greatest features in it. You will have to find another way to promote them. In this tutorial, you want to only show features which are very frequently used, and which are especially hard to discover (like said Shift+clicks). You don't have to show how to make a text effect appear embossed into a part (too rare) or how to place a new cube in the work area (I assume there is a button with a cube icon for that, so easily discoverable).
make it a coherent story. Don't just say "Use this button to lay a new cube. Now use Shift+click to rotate it. Now delete the cube and use the next button to...". Instead, lead the user through a simple task which ends with the sense of having acomplished something. For example, let him make a model of coffee mug and show the simple use of extruding, punching, etc. instruments along the way; also lead him through rotation, applying textures and text. (This is a very rough idea; depending on the exact functionality of your program and the time it takes to make such a model, you might want to choose an entirely different object which is closer to common usage, or simpler).
offer the user to go through the tutorial on first start, but also let them know that it is available for later, e.g. through the menu.
tailor it for the correct skill set. UX experts these days are frequently pressed to make applications which are self-explanatory even to people who have no idea of the task at hand. If I am making a web site to book flights, it should be usable by people who never have been taught how to book flights. But you are making a specialist application. Assume that your user is an engineer, and knows how to do CAD. Don't teach them how to model, teach them what is the special about using your tool for modeling.
If you do that, you have something which both engages and teaches the user, making his introduction to your software smoother. And incidentally, you can also use it for other purposes - having a video of it being completed or a version of it started in some kind of kiosk mode on trade show booths can be good marketing material.