The transform section defines the shape transformation to its parent coordinate system. It is a mandatory section and is represented by the NTransformSection class, an instance of which can be obtained from the TransformSection property. The following code example changes the width and height of a smart shape.
C# 
Copy Code


sheet.TransformSection.Width.Value = 100; sheet.TransformSection.Height.Value = 200; 
Visual Basic 
Copy Code


sheet.TransformSection.Width.Value = 100 sheet.TransformSection.Height.Value = 200 
The transform section contains the following set of named cells:
Cell Name  Cell Type  Description  Notes 

Width  Single  Controls the width of the shape local coordinate system. Accessible from the Width property. 
For a 1D shape it is typically expressed with a formula, which represents the distance between start and end points: 
Height  Single  Controls the height of the shape local coordinate system. Accessible from the Height property.  Usually a constant 
Angle  Single  Controls the rotation of the shape local coordinate system relative to the parent coordinate system. Accessible from the Angle property. 
For a 1D shape it is typically expressed with a formula, which represents the angle between the start and end points: 
PinX  Single  Defines the X coordinate of the pin point (in the parent coordinate system). Accessible from the PinX property. 
For a 1D shape it is typically expressed with a formula, which represents the X middle between start and end points: 
PinY  Single  Defines the Y coordinate of the pin point (in the parent coordinate system). Accessible from the PinY property. 
For a 1D shape it is typically expressed with a formula, which represents the Y middle between start and end points: 
LocPinY  Single  Defines the X coordinate of the pin point in the local coordinate system. Accessible from the LocPinX property.  Typically expressed with a formula, which represents half the width: Width*0.5 
LocPinX  Single  Defines the Y coordinate of the pin point in the local coordinate system. Accessible from the LocPinY property.  Typically expressed with a formula, which represents half the height: Height*0.5 
FlipX  Boolean  Specifies whether the local coordinate system is horizontally flipped relative to the parent coordinate system. Accessible from the FlipX property.  By default set to the false constant 
FlipY  Boolean  Specifies whether the local coordinate system is vertically flipped relative to the parent coordinate system. Accessible from the FlipY property.  By default set to the false constant 
The transform section defines an orthogonal transformation (a transformation, which preserves the orthogonality of transformed vectors). An orthogonal transformation can only be a combination of flip, rotate and translate operations  scaling is not allowed. The orthogonal transformation represented by the section is a matrix, which can be obtained from the Transform property.
To achieve scaling, all shape sheet content, which needs to be scaled along the the X or Y axes is represented with a formula in which the Width and Height cells are directly or indirectly referenced. For example the following code fills the local coordinate system with a rectangle:
C# 
Copy Code


// create a new geometry, which draws a rectangle NGeometrySection geometry1 = new NGeometrySection("Geometry1", "Geometry1"); sheet.Sections.Add(geometry1); geometry1.AddMoveTo("Width*0", "Height*0"); geometry1.AddLineTo("Width*1", "Height*0"); geometry1.AddLineTo("Width*1", "Height*1"); geometry1.AddLineTo("Width*0", "Height*1"); geometry1.AddLineTo("Width*0", "Height*0"); 
Visual Basic 
Copy Code


' create a new geometry, which draws a rectangle Dim geometry1 As New NGeometrySection("Geometry1", "Geometry1") sheet.Sections.Add(geometry1) geometry1.AddMoveTo("Width*0", "Height*0") geometry1.AddLineTo("Width*1", "Height*0") geometry1.AddLineTo("Width*1", "Height*1") geometry1.AddLineTo("Width*0", "Height*1") geometry1.AddLineTo("Width*0", "Height*0") 