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

dbSetCurvedPolygonPoints

dbSetCurvedPolygonPoints(
d_polygonId
l_curvedPoints
) 
=> t / nil

Description

(Virtuoso MultiTech Framework) Sets the given curved point list for the specified polygon. If the polygon is not curved, it is converted to curved and the points are set.

Arguments

d_curvedPolygonId

Database ID of a regular or a curved polygon.

l_curvedPoints

list(boundary [l_holes])

List of one boundary and zero or more holes forming a complex closed curve. Each boundary or hole is represented by a dbClosedCurve, which is a list of vertexes. In a vertex, pairs of adjacent vertexes represent edges, which can be straight or circular:

  • A straight edge is indicated by two end points without an arc qualifier on the beginning edge.
  • A circular edge may be indicated by explicitly specifying the center or implicitly specifying the center. The explicit specification requires the center to be on the DBU grid. The implicit specification does not require the center to be on the DBU grid.
The points list can be a mix of explicit center-based or implicit angle-based specifications. Each element in the list describes a vertex on the curved shape.

L_curvedPoints := (elem)*

elem := {<x:float> <y:float> ([("arc" | "arcByCenter") ("cw" | "ccw")] | ["arcByAngle" <angle:float>])}

Here, keywords for explicit specification are "arc" and "arcByCenter" followed by "cw"(clockwise), or "ccw" (counter clockwise), to specify the direction. Keywords for implicit specification, where you do not define the center explicitly, are "arcCentralAngle" and "arcByAngle". In implicit specification, to specify a clockwise arc, specify a negative value for the angle specification.

Value Returned

t

The given curved point list is set for the specified curved polygon.

nil

The operation fails.

Example

cp2 = list(list(0 0) list(200 0) list(200 200) list(100 200 "arc" "ccw") list(0 200))
=> ((0 0) 
     (200 0) 
     (200 200) 
    (100 200 "arc" "ccw") 
    (0 200)
    )
 
dbSetCurvedPolygonPoints(poly1 cp2)
=> t
; Sets the list of points for the polygon poly1.

Related Topics

License Requirements of Virtuoso RF Solution


Return to top
 ⠀
X