Read time: 2 minutes

System integration is where the"rubber hits the road" when we talk about process computerization and automation in the same sentence. Computerization alone for tasks such as 3D part inspection or the analysis and preparation of scans for rapid prototyping may not provide an optimal process conversion from manual to digital.

Automation adds a new level of productivity, a new level of speed, and an integral part of it is communicating the resultant data to and from connected sensors and computing systems. Seamlessly transferring data to and from other formats, other systems, and other applications is crucial. However, there are times where a simple cut and paste will suffice, and although we are working hard to make this easier and GUI driven, GPSE has an answer...

Q: How can I Cut and Paste Feature Properties?

A: Using Python (within the Geomagic Python Scripting Environment) and the Scripting Panel Output Window, any property from a Feature can be"printed" to the Output Window and subsequently Cut and Pasted as desired.

The following script is a working example. It assumes an open .wrp file has at least one model with at least one Sphere Feature. Once executed the Sphere Features properties will be printed to the Output Window on the Scripting Tab and can then be Cut and Pasted from the Output Window:

import geoappall
for m in geoappall.execStrings: exec m in globals(), locals()
# Get the currently selected model in the model manager.
activeModel = geoapp.getActiveModel()
# Make sure there is a model selected.
if activeModel != None:
   # Returns a list of all the features attached to the active object.
   features = geoapp.getFeatures(activeModel)
   for feature in features:
      print("feature =" + str(feature.name)) 
      # Pick out any SphereFeatures and print them in the Output Window
      if isinstance(feature, SphereFeature):
             sphereAxis      = feature.axis
             sphereCenter    = feature.center
             sphereName      = feature.name
             sphereSeamDir   = feature.radDir
             sphereRadius    = feature.radius
             print sphereCenter
else:
   print("No model selected")

Note: Since Python is a fully featured interpreted scripting language there are many ways this data can be used. It can be written to disk as text, XML, etc, or it can be passed from or to other programs via winsocks, shared-memory space, or they can even be passed directly to an open Excel spreadsheet.

See also:

How can I interact with Microsoft Excel with Python?