Showing results for 
Search instead for 
Did you mean: 
Showing results for 
Search instead for 
Did you mean: 

The PTC Community email address has changed to Learn more.

OpenSource Creo Automation - CREOSON 2.6.0 + CREOPYSON 0.5.0 RELEASED!


OpenSource Creo Automation - CREOSON 2.6.0 + CREOPYSON 0.5.0 RELEASED!

OpenSource Creo Parametric Automation just got even better!


We are pleased to announce the latest releases of CREOSON and CREOPYSON are available😎🎉


Special thanks to ALL users, contributors and customers who provided feedback and supported the development!


CREOSON Distribution release notes:


  • Get the latest : CREOSON Latest Release
  • New Functionality
    • imports of ProductView, STEP, IGES and Neutral file types are now supported
    • exports of Neutral file types are now supported
    • material functions now support wildcards on model names. To preserve backwards compatibility, new functions get_cur_material_wildcard and list_materials_wildcard were added for wildcard handling, and get_cur_material and list_materials functions do not support wildcards
    • file.massprops now returns inertia matrices
    • in file.assemble, if the user does not specify either asmref or compref on a csys constraint, the constraint is ignored and will assemble in a "packaged" condition by default
  • New Distributed Documentation
    • updated web template and libraries 
    • new playground
      • sample code editing and testing samples using the creoson_js library
      • remote connect to CREOSON server
      • remote open model sample (live code)
      • remote parameter search (live code)
      • remote batch open (live code)
    • new function help navigation w/ examples
    • creoson_js - the first release of a reference JavaScript library has been included within the distribution.  This is for streamlining the automation of Creo Parametric using JSON requests from HTML Web Page and/or Node.js environments. (sorry - no npm package... yet)

CREOPYSON Distribution (Python Library)

For Python Lovers ... CREOPYSON provides access to CREOSON as a Python Library and has been updated to the latest CREOSON capabilities!



Main Website Updates:


  • New main CREOSON web page!
  • New Function Browser w/ samples are on-line!
  • More obvious links to various distributions!
  • Schedule consulting and support is now easier and faster!
  • Added Donate Buttons for project and contributed libraries (people asked - so we are providing it!)


How is CREOSON being used?!

Every customer has their own use-case and/or scenario. Here are a few common themes we have observed for both local and remote automation of Creo Parametric:


  • automating redundant user / administrative process
  • data validation / synchronization with other business systems
  • automated build / configuration processes from external data sources
  • batch processing
  • design / drawing automation creation/cleanup


Have Fun!




Hello David,


CREOSON seems very interesting and I am looking forward to exploring it more for our major creo to windchill automation project. However, When I went through the list of Functions available in CREOSON. I did not see functions that can add to or checkout CAD objects to Windchill workspace, check-in, save, and upload. Is there anything that I am missing or these functions are not at all supported.

You are correct - we do not support those functions currently (I think it is a limitation in JLINK - I may be incorrect).


Opening a file via Creo (when connected to Windchill) does pull the latest version out of Windchill... so that works fine (along with Create / Clear / Delete Workspaces).


One possible solution would to look at another library like AHK (AutoHotKey) or similar to fill the gaps for functionality ...  we have heard that have written their own scripts to automate Creo and Windchill functionality using this... it seems to work very well.


If the functionality does exist in JLINK, and you feel like adding it to the source... I am sure it would be welcomed functionality.


Hope that helps.



These functions are part of JLink



Checkout is often accompanied by a download action, where the objects are
brought from the server-side workspace to the local workspace cache. In J-Link,
both operations are covered by the same set of methods.
Methods Introduced:
• pfcServer.Server.CheckoutObjects
• pfcServer.Server.CheckoutMultipleObjects


After you have finished working on objects in your workspace, you can share the
design changes with other users. The checkin operation copies the information and
files associated with all changed objects from the workspace to the PTC Windchill
Methods Introduced:
• pfcServer.Server.CheckinObjects


An upload transfers PTC Creo Parametric files and any other dependencies from
the local workspace cache to the server-side workspace.
Methods Introduced:
• pfcServer.Server.UploadObjects


Also thank you for the recommendation I will explore AutoHotKey but would love to have these actions part of CREOSON as CREOSON is way easier to use and implement. To explain to you (in a nutshell) what we are trying to achieve is the automation of adding an instance in the Family table. (Parameters/values will come from an input file). CREOSON supports modifying a Family table but it does not support checkout and check-in to Windchill workspace which I really hope you guys bring in your next release.

You are correct.... These DO EXIST in the PTC API... 


After a bit more discussion internally... We have not had the time or resources to stand up a Windchill env and test these out.


Current functionality was customer-driven/tested - to their needs, and did not require a full deep dive in to all JLINK / Windchill functions.


If you want to develop the functionality and add it into CREOSON - we can help with navigating the API to get it done (and the existing functionality is there as a bit of a reference obviously).


OR ... We can work with you more directly (consulting/setup fee) to get this moving IF you are interested (we have done this for a few customers) specific to CREOSON + CREOPYSON with great success.  Just schedule a meeting on the page when you are available.  We would need you to test/validate the code we would develop against your Windchill Env.


Thanks for the positive feedback!




Hello Dave,


I will have an internal discussion with stakeholders and get back to you.



Hi David

I have started using creopyson to automate some tasks, including to create a sheet with lots of drawings in it.

Using note_set I am able to insert a note for each drawing, but I am unable to locate the note beneath each drawing.

How can I locate the note?

The documentation indicates the location can be set, but there  are no arguments to define this for a note.

Hope you can help out.




This is possible in CREOSON -- "note : set" which is used to do this.


CREOPYSON seems to indicate it is possible with the creopyson.note.set_


But it looks like it is missing a reference for the point location in the API.


I would recommend pushing a request to the CREOPYSON maintainer for a look at this -


You might look at using the "Vanilla" Creoson Usage in CREOPYSON to try the CREOSON "note : set" to see if it works.


The "note : set" function can be found here :



Hi Dave

Thanks for the reply and info.. Wil have a look at "Vanilla" and also request the maintainer to maybe have a look.