From time to time I will post some files for download.  These may be code samples, macros, or possibly a more detailed explanation of something that is just too long to put in a blog post.

This is a private download area available only to subscribers of this blog.  It’s just a way of saying thanks to those subscribers!

How do I become a subscriber?

On average, I will post new topics about once a week. Sometimes I may add article content more often as time allows. If you want to easily follow all new topics, just click the link in the sidebar to automatically get all new posts by email. This is an incredibly easy way to follow the topics posted here so you don’t have to remember to revisit the site all the time and you will be able to access the downloads as well.

Don’t worry,  you won’t get spam! This is just an automated service provided by Google Feedburner.  Finally, if you decide you don’t like it, just unsubscribe at any time. Try it!

Available Downloads

Interactive Selections Using a Form (VBA)


This is an example showing how to efficiently handle interactive selection of objects on a form with a clean layout. The example includes three separate selections to show how flexible the technique is. In a real project, you would typically have other controls on your form to do other things but I just kept this example simple to just show the object selections.

Demonstrated concepts

  • Variable scope
  • Use of flags to check if CATIA is waiting for a previous selection
  • Use of Selection object to make a single selection
  • Use of one subroutine to handle all selections
  • Create an array and assign all it’s values in one line of code
  • Giving the user visual cues (Reporting the name of the selected object or Select…)
  • Dealing with restricted interfaces in CATIA API
  • Use of SendKeys to automate sending keystrokes to CATIA


Selected Object Info (Macro)


This is a simple tool that prompts you to select an object and it will then display some useful information about that object such as names and automation data types as well as detailed graphic property information including a comparison of real vs. inherited values (if applicable).

Demonstrated concepts

  • Interactive selection of a single object
  • Checking of visual property status and inheritance flags
  • Concatenating and replacing string values
  • Checking object types
  • Accessing parent objects
  • Formatting string data values into columns
  • Conversion of RGB color value to Hex value


%d bloggers like this: