Skip to main content
9-Granite
June 10, 2026
Question

Performance issues when opening DRW files through Creoson/Creopyson

  • June 10, 2026
  • 1 reply
  • 49 views

Hello everyone,

 

First of all, I would like to express my sincere thanks to the authors of Creoson and Creopyson for their work and for everything these tools make possible.

 

We have developed a Python application to automate the export of DRW drawings into various output formats while applying specific file naming conventions.

However, we are experiencing significant delays when our application requests Creo to access DRW files. For example, opening a relatively small drawing can sometimes take several minutes. We do not observe these delays when opening the same file directly in Creo.

For reference, Creoson, our Python application, and all Creo files are hosted on an internal company server.

 

We are trying to determine the source of these delays. Could they be caused by our Python application, Creoson, Creo itself, or the server/network infrastructure?

Is there a way to monitor the communication between Creoson and Creo, enable detailed logging, or use another troubleshooting method to identify the root cause of the issue?

 

Any advice or recommendations would be greatly appreciated.

Kind regards.

 

Environment:

  • Creo 9.0.11.0
  • Creoson 3.0.1
  • Creopyson 0.7.8
  • Python 3.13.9

1 reply

17-Peridot
June 12, 2026

Very cool.  Great use case.

 

There are a lot of variables in your post that could be causing some delays.

 

The location of your content (on a shared network drive vs locally) could be a contributing factor in delay vs local access.  But I don’t think this the issue based on your manual test vs programatic tests.

 

I would add logging to your program and run like 3-4 drawings.  Logging specifically meaning write/append a timestamp and operation for each critical step and within some looping operations, to a local file so you can trace the time of execution.

 

The log data you create will help visualize what your code is actually doing, in what order, and a simple diff between event times can help identify long operations quickly.  Then it would be easier to profile the structure and execution of the program (e.g. resetting connections each file, network search / load of content, Creo search paths, transactions with Creo, etc.) -- you might discover there is a loop, or nested loop, in your code that is running multiple times compounding delays or queries to Creo in some way or writing multiple versions of your exports over and over and over - or it could be you are overloading Creo and it is queuing your requests for execution and hanging things up.   But the point is to write log data out from your program to a console or log file so you can trace out the event times and understand the sequences to help find the pain.

 

One thing that would also help is to copy your files locally, set your working directory to where the content is locally, and try to run a simplified version of your code to head-check performance.

 

Another thing to consider is how you are performing the operation (native command or mapkey) to do the export?  If Mapkey, was it created for the version you have, and is it only the body of the Mapkey being executed?  Just throwing that out here for some consideration as you have not shared any code.   If you are dealing with a handful of files to batch through, you might be able to just load them all into Creo session, and export by looping through the files in session - but a better practice would be to get the list of files in the working directory, then erase memory, load the first drawing, export, erase memory, load next drawing, export… continue until the end as a loop.

 

So - it is likely either network / search path / or the code itself is looping incorrectly and/or overloading Creo with instructions (mapkeys stepping on mapkeys possibly).

 

When we run these types of jobs - it is super fast -- even when we are using mapkeys.   The only issues we have seen is timing issues with extremely large files or long export times where we need to add a small delay to allow Creo to finish before the next command/cycle (rare).

 

Hope this helps!

 

Dave