The Parametric Construction Circle window

Also see :

Quick Notes
  • obj.Erase() is a method for erasing a parametrically added construction circle (obj in this example). You might use this method in a script that generates construction circles and gives the user an option to locate a point on those construction circles. Once the user has located the point, the construction circles are no longer needed, and thus can be erased.

Example:

The hexagon template shown here was generated by the parametric script shown below. Any user who Runs that parametric can set the rotation of the construction lines and the diameter of the construction circle.
The same template as shown above , but with a hexagon inscribed in it. Notice that the vertices of the hexagon are at INCL points where construction lines intersect with the construction circle.

# Generates a template for cutting hexagonal shapes.
from param import *
from cons_line import ConsLine
from cons_circle import ConsCircle
Units("feet")
from point import Point, PointLocate
cntr_pt = PointLocate("Locate the hexagon's center")
user_diam = Prompt("1-0", "Diameter:")
rot = Prompt(22.5, "Number of degrees:")
cc1 = ConsCircle()
cc1.Center = ( cntr_pt )
cc1.Diameter = user_diam
cc1.PenNumber = 'Blue'
cc1.Add()
cl2 = ConsLine()
cl2.Point1 = ( cntr_pt )
cl2.Rotation = 0 + rot
cl2.PenNumber = 'Blue'
cl2.Add()
cl3 = ConsLine()
cl3.Point1 = ( cntr_pt )
cl3.Rotation = 120 + rot
cl3.PenNumber = 'Blue'
cl3.Add()
cl4 = ConsLine()
cl4.Point1 = ( cntr_pt )
cl4.Rotation = 240 + rot
cl4.PenNumber = 'Blue'
cl4.Add()

The following dialogs are used in the above script. These two dialogs could have easily been incorporated into a single multi-field dialog.

Prompt("1-0", "Diameter:")
Prompt("22.5", "Number of degrees:)