Our free apps for Inventor – Part IV – linkParameters

linkParameters allows Inventor users to easily create dependencies between parameters in various parts and sub-assemblies in the context of the top-level assembly within which they reside.

Parameters can be visually selected from a source-component and linked to a specific parameter in a target-component creating the dependency. The mechanism employed is based on the iLogic functionality. It will automatically generate the iLogic code which is required to link the values of the parameters, without the need to manually write any iLogic instructions.

Like the other coolOrange plug-ins you can download it from the Inventor App Store and the installation is pretty straight forward. Just run the msi file and follow the instructions.

In the Manage menu of the ribbon in Inventor assemblies you will get a new command linkParameters in the iLogic section.

For example:  you want the diameter of a part to have the same value as the length of another part in your assembly. Select linkParameters and specify the name of the iLogic rule, which will be created in the background. This first dialog also provides the ability to select an existing rule if any.

Validating this dialog will display the main dialog of the tool:

Select the part with the length as source component and the part with the diameter as target component. Notice that the top-level assembly can also be used as source by checking the upper-left check-box. Drag the source parameter Length on the target parameter Diameter.

By right-clicking the target mappings, they can also be suppressed through a context-menu. An option to automatically map source and target parameters with the same name is also provided from this context menu.

Enjoy coolOrange linkParameters!

Posted in Uncategorized | Leave a comment

Our free apps for Inventor – Part III – pointLinker

Today, we introduce another really helpful tool to you: the pointLinker

Why do you need it? Here’s why:

Inventor can import point data from an Excel file, but once the data has been imported, the link with the Excel file is not retained. If updates to the point data in the Excel file are required, the data must be manually re-imported and the associated model has to be re-constructed. This is time consuming, inefficient and nerve-wracking.

The coolOrange pointLinker plug-in allows Inventor users to import points from an Excel file, retaining a link to that file. Data can be imported (as with the existing command), updated from the Excel file, or mapped to another Excel file.

Like the other coolOrange plug-ins you can download it from the Inventor App Store and easily install it. Just run the msi file and follow the instructions.

In the Tools panel of Inventor, you will find a new command Link Points. When the Link Points command is run, the pointLinker dialog appears. Importing one Excel file will generate one row in the form. You have the option to generate points, lines or connect the points with a spline.

By pressing the Import button, the add-in asks you to select one Excel file. If you select the item, the corresponding entities will be highlighted.

To update or resolve, select the item and right-click. Update will update the item with new date and original Point Type. Resolve will ask you to select another Excel file and import it with its data, with original Point Type.

That’s all, nothing more to it :) Have fun!

Posted in Inventor | Leave a comment

Our free apps for Inventor – Part II – threadModeler

Last week, I talked about our plug-in screenGrab for Inventor 2015. Today, I’d like to introduce our shooting star: threadModeler

You can find it in the “Most Downloaded” section of the Inventor App Store.

The threadModeler has been developed to allow Inventor users to generate a realistic modeled equivalent thread based on an existing Inventor thread feature.

Like all other coolOrange plug-ins you can download it from the Inventor App Store. The installation is again pretty straight forward. Just run the msi file and follow the instructions.

In the Tools menu of the panel in Inventor parts, you will get a new command “threadModeler”.

If you click it, an existing thread feature can be selected in the model browser, which the threadModeler then converts to a realistic 3D modeled thread – based on the underlying thread feature properties.

Modeled threads are accurately generated, saving a lot of time and effort for the user when compared with a manual approach. Your threads simply will look a lot more realistic!

Have fun with the threadModeler!

Posted in Inventor | Leave a comment

Our free apps for Inventor – Part I – screenGrab

So today we’re not talking about Vault or PowerShell, instead we have some treats for the Inventors users among you.

Recently, coolOrange has released 5 free plugin apps for Inventor 2015:

And I am frequently asked what they are doing. All apps have 3 things in common.

1. They are free

2. They can be downloaded from the Autodesk App Store

3. They consist of one feature that makes your work with Inventor easier.

Let me introduce screenGrab

screenGrab can be used within Inventor to simplify image capture of the entire Inventor application window, the graphics view of documents within Inventor, or parts of the graphics-screen.

First, you have to download it from the Inventor App Store (download). The installation is pretty straight forward. Just run the msi file and follow the instructions.

After the installation you will find a new button “Screenshot” in the Tools panel. When you run the Screenshot command, a dialog will appear.


This dialog shows the selection-options and settings. It also displays a preview of the screenshot. The screen will be captured according to the selection options and converted to a relevant bitmap.
You have options to save the bitmap to the clipboard, to a file or send it directly to a printer.

When choosing the “Application” or “Document” option, the borders of the screenshot will be calculated automatically. When using the “Window” option, the user needs to select a region of the screen.

All is pretty easy and intuitive. Try it and have fun!


PS: Don’t forget to rate, if you like it!

Posted in Inventor | Leave a comment

More power for your Jobprocessor

If you ever wanted to

  • trigger a job at a certain time or event
  • create a non-standard PDF
  • export your file in another format than PDF
  • know why your job wasn’t executed properly
  • do customizations yourself

… then we have a treat for you!

powerjobs, our extension for the Vault Jobprocessor, is out now, not only with a more polished appearance, but also with a ton of new helpful features.

Here are the new features in detail:

More creativity in PDF-creation

You already know that powerJobs helps you create PDF’s out of your Vault-files. What you didn’t know is that now you have the maximum control over the appearance of it. You define whether it’s gonna be in color or black & white, landscape or portrait format, and even where it will be stored under a filename that you choose. If you like, you can also add fancy stuff like a “Released”-stamp or a watermark.



So you’d like to receive a report every monday on the current status of your project? No problem, just tell powerJobs and it will do the rest. The trigger can also be connected to certain events like the release of a file. Just tell powerJobs that you’d like it to create a PDF automatically whenever a part gets released in your project! You can also monitor a folder and process the content automatically at a specific time interval. Possibilities seem endless…

The new dress

The interface of powerJobs has now incorporated the Jobprocessor. It’s also extended by a log window that keeps you updated on what is currently happening.


Remember the situations in which your job wasn’t executed and you had no clue what went wrong? <– Never gonna happen again!

As you like it

Who says it has to be a PDF? Why not export a TIF this time? Or a DWF? powerJobs is now able to export not only into PDF, and DWG formats, but also into STEP, DXF, GIF, BMP, TIF, JPG, and DWF!


Here’ s another goody: So far, the preferred application for generating PDF’s from AutoCAD was DWGTrueView. However, in case you like to create more sophisticated jobs around DWG a full AutoCAD is needed. Now you can define in your job whether full AutoCAD or DWGTrueView shall be used. This gives you tons of new opportunities around DWG jobs.

Tell Vault yourself

The best part of powerJobs is of course its ability to communicate with Vault via PowerShell commandlets. The best part about PowerShell commandlets is, that they’re so easy to write.

At this point I’d like to quote one of our developers and fellow co-blogger Martin. We were talking about developing, when I accidentally called PowerShell a programming language. He gave me that contemptuous look and said: “PowerShell is not even a programming language, it’s just a scripting language. Everybody can do this”. So, no coding skills needed. Just copy-paste-skills. ;)

powerJobs already came with some samples of commandlets, that we massively extended in the new version. You can find the complete list of commandlets here on our Wiki.

So that’s all for powerJobs’ new features, I hope you find it helpful. Make sure to download the newest version that we put up today, and enjoy!

Posted in powerJobs, PowerShell | Leave a comment

Let’s play Tetris in Vault

Are you performing a CopyDesign in the Vault client and have to wait until it completes? Then let’s play Tetris in the meantime :)

tetrisThis is just an example of what is possible. You can embed whatever process you like into another window.

What do we need for this?

  1. Data Standard for Vault
  2. The game, you want to embed
  3. PowerJobs

Thats all!
Getting started:
First, you have to extract the xaml file to this folder. Copy the dll’s to your Vault client installation directory and restart the Vault client. Select a file and the new tab should appear with Spider Solitaire.

Other examples:
- Internet explorer in Vault client

You can browse inside here, too! You could browse to some online game store and play other games via internet explorer as well!

- Commandline in Vault client


- Notepad in Vault client

How does it work?
By using Data Standard, we add a new xaml file-tab that uses an UI library from powerJobs in its namespace:

<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

Now you have to find these two assemblies in the powerJobs installation directory:

C:\Program Files\coolOrange\powerJobs 2015\PowerJobs.UI.dll
C:\Program Files\coolOrange\powerJobs 2015\powerJobs.Interfaces.dll

These assemblies have to be placed inside here: C:\Program Files\Autodesk\Vault Professional 2015\Explorer

And now you can start using the ExternalProcess control in your xaml.

1. Place this code in the control resources and give the path to the executable of your choice:

<pJProcess:ProcessSettings x:Key="processSettings" ProcessName="PATH TO THE EXECUTABLE" />

2. Define the ExternalProcess control by binding its settings to ‘processSettings’:

   <powerJobs:ExternalProcess ProcessSettings="{StaticResource processSettings}"/>

That’s it!

This control will start the process if it’s not already started. Otherwise it takes its MainWindow and embeds it with the size of the WPF-control into your WPF-window. When your window dies, it will kill the other process for you.

Internally, the window-handle for the MainWindow of the process is searched. Then it uses this handle for calling this pinvoke function: SetParent (http://www.pinvoke.net/default.aspx/user32/setparent.html). If the Parent window is a WPF window, you have to use a WinForms-Host control and pass this handle to SetParent.

That’s how it works, but now let’s go on playing Tetris :)


Posted in Uncategorized | Leave a comment

The power of shell – PowerShell commandlets for Vault

We built a new layer on top of the Autodesk API. This layer allowes to perform common operations via a single PowerShell-call on the Vault Server. We can say that this layer is made for newbies, who are neither familar with the Vault API, nor with .Net coding. It’s not made for people who want to do very complex things, but it covers a large area of different operations that a Vault programmer has to do every time he starts writing code against Vault!

powerJobs uses this layer in all it’s default scripts and modules. And because this layer is used, compatibility and maintainability is now much better than before. Just have a look at the scripts: the first thing that you’ll notice is, that the number of lines of code went down from over 70 lines to around 20. And that’s why I like it so much.

This is probably everything that I have to explain about it. I rather show you what it can do, and why it is so powerful:

1. Reading file properties

I don’t want to show you the code that you need in order to get the values of some file properties. I think you did it already a couple of times: first, you have to get the PropDefs, then you have to filter out the PropDefs that you need. After that, you have to retrieve the PropInst objects, …. You see, there is a lot to do just to get a property value.

Instead, use our layer and this code:

$file = Get-VaultFile -File "$/Designs/Pad Lock.iam"

This is not a miracle! All the UDP and system-properties are attached on the file object from the layer. And there is much more: this file object is so intelligent, that it converts the properties already into the right types:

#this is a system property of type DateTime where you can call DateTime functions
$file.'Date Modified'.DayOfWeek

2. Adding files to Vault

If you are not familar with Vault, you don’t know the concept of checking in and out files. If you want to add a file to Vault, you have first to check if the file already exists. If not, you have to perform an AddFile. If it exists, you have to check out the existing file and check in the file as a new version. The layer tries to hide this process behind an ease-to-use Add-VaultFile command-let that handles all these things for you:

$file = Add-VaultFile -From "C:\Temp\someFile.ipt" -To "$/Test.ipt"

3. Finding files

It provides functions to find files in Vault. The syntax is as easy as you think:

# you can search by properties and use wild cards
$files = Get-VaultFiles -Properties @{'Name'='Catch *.iam'}

# you can also search for more properties than just one
$files = Get-VaultFiles -Properties @{'File Extension'='iam';'State'='Released';'Title'='Hallo World!'}

# or do you want to get all the files from a specific folder?
$files = Get-VaultFiles -Folder "$/Designs"

4. Updating UDP’s, category, state and revision

To modify data on the Vault file, you can use the function Update-VaultFile. It compresses all the power you need to perform default update operations like updating file properties, states, categories, dependencies, comments, attachments, classification and so on.

# let's update some property values
Update-VaultFile -File '$/Padlock/Catch Assembly.iam' -Properties @{'Title'='Martin';'Engineer'='Manuel'}

# and now we change the category and the revision and set a comment
Update-VaultFile -File '$/Padlock/Catch Assembly.iam'  -Category 'Engineering' -Revision 'B' -Comment 'this is a test'

5. Working with file associations

This is a very hot topic, because the vault API allows a lot of configurability here. Our command-lets are covering the most often used cases: getting dependencies, getting attachments, setting dependencies and attachments, adding them, removing them and downloading them.

# getting the dependencies
$childs = Get-VaultFileAssociations -File '$/Designs/postBCP/Assembly1.iam' -Dependencies

# getting attachments only
$attaachements = Get-VaultFileAssociations -File '$/Designs/postBCP/Assembly1.iam' -Attachments

#adding a file and adding it as attachement
$parent = Get-VaultFile -File "$/Test1.iam"
$child = Add-VaultFile -From "C:\Temp\test.ipt" -To "$/Test2.ipt"
Update-VaultFile -File $parent.'Full Path' -AddAttachments @($child.'Full Path') -Comment "Added an attachment"

6. Downloading files

What do you think? Which command-let will download your Vault file? Of course, it is the Get-VaultFile command-let. If you want to download the file, you just have to tell it where to store the download like this:

$padlock = Get-VaultFile -File "$/Designs/Padlock.iam" -DownloadPath "C:\Temp\Padlock"
echo $padlock.LocalPath

Just set the path where to download the assembly and it will perform a very intelligent download. You have no configuration possibilities like with the Vault API, but it does its job very well: it downloads the file in a way, that it can be opened without problems! This means, it will download all its dependencies, it will keep the folder-structure like in Vault, it will not rename the files, and update the references.


You see, it gives you all the power to perform very common operations on your Vault!

It is meant to be used by newbies, by administrators without very detailed knowledge about programming and also by PowerShell gurus who want to write short and clean scripts!

More commandlets will come in the future, so if you miss a commandlet or have a suggestion, then just leave a comment or reach out to us directly. All these commandlets are part of powerJobs 2015 R2, which will be released in the next days!

Posted in powerGate, powerJobs, PowerShell, Uncategorized, Vault API | Tagged | Leave a comment