##  [Script Tip Friday- Create and export contact tool results for all time steps](/blog/script-tip-friday-create-and-export-contact-tool-results-all-time-steps) 

The brilliant Pernelle Marone-Hitz, Lead Application Engineer at Ansys, is back again for this week's Script Tip to show us how to create and export contact tool results for all time steps.

![](https://developer.ansys.com/sites/default/files/inline-images/Pernelle.png)

Let's break down the following scenario:

"Using ACT scripting, I would like to create a contact tool pressure result for all contacts with names ending by "YES". Then I would like to export the contact pressure results to a text file, for each time step."

The following script can be adapted to do this:

- Define path to where results will be exported:

```Python
FilePath="C:\\Users\\pmaroneh\\Downloads\\"  
FileExtension=r".txt"

```

Reference some necessary items:

```Python
analysis =  ExtAPI.DataModel.Project.Model.Analyses[0] # change number of analysis if necessary
  solution = analysis.Solution        
  connections = ExtAPI.DataModel.Project.Model.Connections

```

- In connections, find children that are contacts and create a list of these contact regions:

```Python
contactList = connections.GetChildren(DataModelObjectCategory.ContactRegion,True)

```

- From this list, create another list for contacts which name end by "YES":

```Python
myContactList = [contact for contact in contactList if str(contact.Name).endswith("YES")]

```

- For contacts in myContactList, create a contact tool / pressure result:

```Python
listContactIds=[contact.ObjectId for contact in contactList] # list of ids of items in contactList
  pressureList=[]
  for contact in myContactList: # loop on all contacts in myContactList
      newContactTool = solution.AddContactTool() # add a Contact Tool    
      # remove all scoped contacts
      for id in listContactIds:
          newContactTool.InternalObject.RemoveScopedContact(id)
      # add scoping for contact
      newContactTool.InternalObject.AddScopedContact(contact.ObjectId)
      # add a pressure result
      pressure = newContactTool.AddPressure()
      # change result name
      pressure.Name="ContactPressure_" + contact.Name
      # store reference to result to reuse it later
      pressureList.append(pressure)

```

- Loop on all time steps and export results:

```Python
resultData = analysis.GetResultsData()
  dataSets=resultData.ListTimeFreq # get result sets
  for resultSet in range(len(dataSets)):
      displayTime=dataSets[resultSet] # select display time
      unitTime='[sec]'
      # loop on pressure results
      for result in pressureList:    
          # change display time 
          result.DisplayTime=Quantity(str(displayTime) + unitTime)
          # evaluate result
          result.EvaluateAllResults()
          # export result
          result.ExportToTextFile(FilePath+result.Name+"_Time_"+str(displayTime)+FileExtension)

```