PD_FIX command
+------------------------------------------------------------+
| |
| +----------------------------------+ |
| | | |
-->(PD_FIX)-v-+-(PD_ANGLE_LINES)-v-|line 1|-|line 2|-+-----------+--^--+-v-->
| | | |
| +--|value|--+ |
| | | |
| +--|name|---+ |
| |
| |
| +-------------------+ |
| | | |
+-(PD_COLLINEAR)-v-|line 1|-|line 2|-^-------------------+
| |
| |
| +-----------------------------+ |
| | | |
+-(PD_DIMENSION)-v-|dimension|-+-----------+---^---------+
| | | |
| +--|value|--+ |
| | | |
| +--|name|---+ |
| |
| |
| +---------------------------------+ |
| | | |
+-(PD_DISTANCE)-v-|elm 1|-|elm 2|-+-----------+---^------+
| | | |
| +--|value|--+ |
| | | |
| +--|name|---+ |
| |
| |
| +-------+ |
| | | |
+-(PD_ELEM)-v-|elm|-^------------------------------------+
| |
| |
| +----------------------------------+ |
| | | |
+-(PD_FILLET)-v-|fillet|-|end elm 1|-|end elm 2|-^-------+
| |
| |
| +--------+ |
| | | |
+-(PD_HORIZONTAL)-v-|line|-^-----------------------------+
| |
| |
| +------------------+ |
| | | |
+-(PD_MIRROR)--|line|--v--|elm 1|-|elm 2|-^--------------+
| |
| |
| +--------------------------+ |
| | | |
+-(PD_POINT)-v-|point|--+-------------+-^----------------+
| | | |
| +---|name|----+ |
| |
| |
| +-----------------+ |
| | | |
+-(PD_POINT_ON)--v--|point|-|elm|--^---------------------+
| |
| |
| +-------------------+ |
| | | |
+-(PD_PARALLEL)-v-|line 1|-|line 2|-^--------------------+
| |
| |
| +-------------------+ |
| | | |
+-(PD_PERPENDICULAR)-v-|line 1|-|line 2|-^---------------+
| |
| |
| +---------------------------------+ |
| | | |
+-(PD_SAME_DISTANCE)-v-|elm 1|-|elm 2|-|elm 3|-|elm 4|-^-+
| |
| |
| +-----------------+ |
| | | |
+-(PD_SAME_SIZE)-v-|elm 1|-|elm 2|-^---------------------+
| |
| |
| +--------------------------+ |
| | | |
+-(PD_SIZE)-v-|elm|----+-----------+---^-----------------+
| | | |
| +--|value|--+ |
| | | |
| +--|name|---+ |
| |
| |
| +---------------------------+ |
| | | |
+-(PD_SLOPE)-v-|line|---+-----------+----^---------------+
| | | |
| +--|value|--+ |
| | | |
| +--|name|---+ |
| |
| |
| +----------+ |
| | | |
+-(PD_SYM_LINE)-v--|line|--^-----------------------------+
| |
| |
| +-----------------+ |
| | | |
+-(PD_TANGENT)-v-|elm 1|-|elm 2|-^-----------------------+
| |
| |
| +--------+ |
| | | |
+-(PD_VERTICAL)-v-|line|-^-------------------------------+
PD_FIX is used to define new constraints. These constraints will be used in future calls to PD_RESOLVE if the modify zone contains any of the elements involved. The meaning of each constraint type is described below in terms of how it effects PD_RESOLVE.
PD_ANGLE_LINES specifies the relative angle between two linear elements. If a value or name is not specified then the current angle is preserved.
PD_COLLINEAR will force two linear elements to be collinear.
PD_DIMENSION will cause the geometry associated with the dimension to take on the given value. If a value or name is not given, then the current value of the dimension will be preserved. If a parameter name is defined then either the value of the parameter will be used to define the geometry or the geometry will be used to define the value of the parameter.
PD_DISTANCE specifies the distance between any two point, linear or circular elements. If a value or name is not specified then the current distance is preserved.
PD_ELEM will maintain the position and size of the element.
PD_FILLET will force two real geometry elements to be filleted by a given circular arc. Each end of the arc must share an end point with one of the elements.
PD_HORIZONTAL will force a linear element to be horizontal.
PD_MIRROR will force the extension of two elements to be mirror images of each other about a given line.
PD_POINT will force the point to remain in its current position, or in the position indicated by the parameter. Alternatively, other constraints can position the point which will be used to define the value of the parameter. See NOTE below for additional information about this constraint type.
PD_POINT_ON will force a point to slide along the indicated element or its extension. See NOTE below for additional information about this constraint type.
PD_PARALLEL will force two linear elements to be parallel.
PD_PERPENDICULAR will force two linear elements to be perpendicular.
PD_SAME_DISTANCE will force the distances between two pairs of elements to be identical.
PD_SAME_SIZE will force two lines to have the same length or two circular elements to have the same radius.
PD_SIZE specifies the length of a line or the radius of a circular element. If a value or name is not specified then the current size is preserved.
PD_SLOPE specifies the slope of a linear element. The slope is measured counterclockwise relative to the positive x axis. If a value or name is not specified then the current slope will be preserved.
PD_SYM_LINE identifies a line as a symmetry line. Lines identified in this manner will be used by PD_RESOLVE GENERATE to search for pairs of mirrored elements.
PD_TANGENT will force two elements be tangent. One of the elements must be circular. Two elements can be tangent even if they do not touch. All that is required is that the extension of the elements are tangent.
PD_VERTICAL will force a linear element to be vertical.
|
|
All constraints are saved in the database by referencing elements. Two constraint types, PD_POINT and PD_POINT_ON, involve the user identifying model points. The system will look for a POINT or TEXT element attached to that model point and if one cannot be found then a POINT element will be created. The color, linetype, and visibility of the new point is controlled by the user with PD_NEW_POINT_COLOR, PD_NEW_POINT_LINETYPE, and PD_NEW_POINT_VISIBILITY.
|