Learn CATSCRIPT with Real Code Examples
Updated Nov 27, 2025
Code Sample Descriptions
1
Simple CATScript to Create a Point
Dim partDoc As PartDocument
Set partDoc = CATIA.ActiveDocument
Dim part As Part
Set part = partDoc.Part
Dim hybridShapeFactory As HybridShapeFactory
Set hybridShapeFactory = part.HybridShapeFactory
Dim point As HybridShapePointCoord
Set point = hybridShapeFactory.AddNewPointCoord(10, 20, 30)
part.Update
A basic CATScript that creates a point at specific coordinates in a part document.
2
CATScript Loop to Create Multiple Lines
Dim partDoc As PartDocument
Set partDoc = CATIA.ActiveDocument
Dim part As Part
Set part = partDoc.Part
Dim factory As ShapeFactory
Set factory = part.ShapeFactory
Dim i As Integer
For i = 1 To 5
Dim line As Line
Set line = factory.AddNewLineCoord(i*10, 0, 0, i*10, 10, 0)
Next i
part.Update
This script draws 5 lines along the X-axis with incrementing coordinates.
3
Create a Circle in CATScript
Dim partDoc As PartDocument
Set partDoc = CATIA.ActiveDocument
Dim part As Part
Set part = partDoc.Part
Dim factory As ShapeFactory
Set factory = part.ShapeFactory
Dim center As HybridShapePointCoord
Set center = part.HybridShapeFactory.AddNewPointCoord(0, 0, 0)
Dim circle As HybridShapeCircleCtrRad
Set circle = factory.AddNewCircleCtrRad(center, 10)
part.Update
Creates a circle at a specified point with a given radius.
4
Create a Rectangle in CATScript
Dim partDoc As PartDocument
Set partDoc = CATIA.ActiveDocument
Dim part As Part
Set part = partDoc.Part
Dim factory As ShapeFactory
Set factory = part.ShapeFactory
Dim p1, p2, p3, p4 As HybridShapePointCoord
Set p1 = factory.AddNewPointCoord(0, 0, 0)
Set p2 = factory.AddNewPointCoord(10, 0, 0)
Set p3 = factory.AddNewPointCoord(10, 5, 0)
Set p4 = factory.AddNewPointCoord(0, 5, 0)
factory.AddNewLine(p1, p2)
factory.AddNewLine(p2, p3)
factory.AddNewLine(p3, p4)
factory.AddNewLine(p4, p1)
part.Update
Draws a rectangle by creating four lines connecting points.
5
Create Multiple Circles in Loop
Dim partDoc As PartDocument
Set partDoc = CATIA.ActiveDocument
Dim part As Part
Set part = partDoc.Part
Dim factory As ShapeFactory
Set factory = part.ShapeFactory
Dim i As Integer
Dim center As HybridShapePointCoord
Set center = part.HybridShapeFactory.AddNewPointCoord(0, 0, 0)
For i = 1 To 5
Dim circle As HybridShapeCircleCtrRad
Set circle = factory.AddNewCircleCtrRad(center, i*5)
Next i
part.Update
Draws 5 concentric circles with increasing radius.
6
Translate a Part in CATScript
Dim partDoc As PartDocument
Set partDoc = CATIA.ActiveDocument
Dim part As Part
Set part = partDoc.Part
Dim selection As Selection
Set selection = partDoc.Selection
selection.Add part
selection.Move 10, 20, 30
part.Update
Moves the entire part along X, Y, Z coordinates.
7
Rotate a Part in CATScript
Dim partDoc As PartDocument
Set partDoc = CATIA.ActiveDocument
Dim part As Part
Set part = partDoc.Part
Dim selection As Selection
Set selection = partDoc.Selection
selection.Add part
selection.Rotate 0, 0, 0, 45
part.Update
Rotates a part around a point by a specified angle.
8
Create a Point Array
Dim partDoc As PartDocument
Set partDoc = CATIA.ActiveDocument
Dim part As Part
Set part = partDoc.Part
Dim factory As HybridShapeFactory
Set factory = part.HybridShapeFactory
Dim i As Integer
For i = 1 To 5
Dim pt As HybridShapePointCoord
Set pt = factory.AddNewPointCoord(i*10, 0, 0)
Next i
part.Update
Generates an array of points along X-axis.
9
Create a Line Between Two Points
Dim partDoc As PartDocument
Set partDoc = CATIA.ActiveDocument
Dim part As Part
Set part = partDoc.Part
Dim factory As ShapeFactory
Set factory = part.ShapeFactory
Dim p1, p2 As HybridShapePointCoord
Set p1 = factory.AddNewPointCoord(0, 0, 0)
Set p2 = factory.AddNewPointCoord(10, 10, 0)
factory.AddNewLine(p1, p2)
part.Update
Prompts the user for two points and creates a line between them.
10
Create 3D Points Along Z-Axis
Dim partDoc As PartDocument
Set partDoc = CATIA.ActiveDocument
Dim part As Part
Set part = partDoc.Part
Dim factory As HybridShapeFactory
Set factory = part.HybridShapeFactory
Dim i As Integer
For i = 1 To 5
Dim pt As HybridShapePointCoord
Set pt = factory.AddNewPointCoord(0, 0, i*10)
Next i
part.Update
Generates points along the Z-axis for further modeling.