Product Documentation
Virtuoso Studio Design Environment SKILL Reference
Product Version IC23.1, November 2023

ccCreatePie

ccCreatePie(
d_cellviewId
l_lpp 
[ ?angle n_angle ] 
[ ?startRadius n_startRadius ]
[ ?length n_length ]
[ ?endWidth n_endWidth ]
[ ?endLength n_endLength ]
[ ?offset l_offset ]
[ ?rotation n_rotation ]
[ ?genFigs { t | nil } ]
) 
=> o_surface / nil

Description

(Virtuoso Photonics Option) Creates a pie slice figure bounded by outer circle and optionally by an inner circle, two radiuses at given angles, and optionally by an outer capping of given length. The function generates different figures based on the input.
When the startRadius is nil, the pie shape that is generated is a true pie shape, with the length being the radius.
When the startRadius is larger than 0.0, a donut shape is generated, with the inner part radius determined by the value, while the length is used to represent the thickness of the donut.
When endWidth is specified, a termination is generated, caping the coupler by a shape that is conceptually the union of a rectangle and the last pie shape, with the inner-curved radius as specified. In this case, endWidth must be smaller than the arc defined by sum of radius and length and larger than the arc from radius. If rotation or offset is specified, the resulting the object undergoes corresponding transformation.

Arguments

d_cellViewId

Database ID of a cellview.

l_lpp

tx_layer |  (tx_layer tx_purpose)

A layer or a layer-purpose pair.

?angle n_angle

Angle between the starting radius and the positive X-axis.

The ending radius will have the angle n_angle so that the X-axis is the symmetry axis of the resulting figure, before the rotation or offset is applied.

The default is 30 degrees.

?startRadius n_startRadius

Radius of the inner circle.

The default is nil, which means there is no inner circle.

?length n_length

Difference between the radiuses of the outer circle and the inner circle representing donut thickness, or a circle radius when g_startRadius is nil.

?endWidth n_endWidth

Width of the capping rectangle.

The default is nil, which means that the width is not capped.

?endLength n_endLength

Length of the capping rectangle.

The default is nil, which means length is not capped.

?offset l_offset

list(n_lhs n_rhs)

Offset of the resulting figure.

The default is (0,0).

?rotation n_rotation

Rotation of the resulting figure.

The default is (0,0).

?genFigs  

Specifies whether geometry is generated for the resulting figure.

The default is t, which means that geometry is generated.

Value Returned

o_surface

ID of the resulting ccSurface.

nil

An error.occured.

Examples

ccCreatePie(cv "waveguide" ?angle 45 ?startRadius 2 ?length 5 ?genFigs nil)
=> cc@0x269c83e0
ccCreatePie(cv "waveguide" ?length 5 ?endLength 4)
=> *** ERROR *** end length is too small. It must be at least 5 to generate the cap.

Related Topics

Curvy Core Shape Creation Functions


Return to top
 ⠀
X