About-Shapes-in-Custom-Linetypes

About Shapes in Custom Linetypes

    About Shapes in Custom Linetypes

    A complex linetype can contain embedded shapes that are saved in shape files. Complex
    linetypes can denote utilities, boundaries, contours, and so on.

    As with simple linetypes, complex lines are dynamically drawn as the user specifies
    vertices. Shapes and text objects embedded in lines are always displayed completely;
    they are never trimmed.

    Linetype pattern descriptors that include shape objects is similar to that for simple
    linetypes.

    The syntax for shape object descriptors in a linetype description is as follows:

    [shape_name,shape_filename] or [shape_name,shape_filename,transform]

    where transform is optional and can be any series of the following (each preceded by a comma):

    R=## Relative rotation

    A=## Absolute rotation

    U=## Upright rotation

    S=## Scale

    X=## X offset

    Y=## Y offset

    In this syntax, ## is a signed decimal number (1, -17, 0.01, and so on), the rotation is in degrees,
    and the remaining options are in linetype-scaled drawing units. The preceding transform letters, if they are used, must be followed by an equal sign and a number.

    The following linetype definition defines a linetype named CON1LINE that is composed
    of a repeating pattern of a line segment, a space, and the embedded shape CON1 from
    the ep.shx file. (Note that the ep.shx file must be in the support path for the following example to work properly.)

    *CON1LINE, --- [CON1] --- [CON1] --- [CON1]
    A,1.0,-0.25,[CON1,ep.shx],-1.0

    Except for the code enclosed in square brackets, everything is consistent with the
    definition of a simple linetype.

    As previously described, a total of six fields can be used to define a shape as part
    of a linetype. The first two are mandatory and position-dependent; the next four are
    optional and can be ordered arbitrarily. The following two examples demonstrate various
    entries in the shape definition field.

    [CAP,ep.shx,S=2,R=10,X=0.5]

    The code above draws the CAP shape defined in the ep.shx shape file with a scale of two times the unit scale of the linetype, a tangential
    rotation of 10 degrees in a counterclockwise direction, and an X offset of 0.5 drawing units before shape elaboration takes place.

    [DIP8,pd.shx,X=0.5,Y=1,R=0,S=1]

    The code above draws the DIP8 shape defined in the pd.shx shape file with an X offset of 0.5 drawing units before shape drawing takes place, and a Y offset of one drawing unit above the linetype, with 0 rotation and a scale equal
    to the unit scale of the linetype.

    Character Descriptor Format

    The format for adding a shape to a linetype description is as follows:

    [shape_name,shape_filename,scale,rotate,xoffset,yoffset]

    Scale, rotation, x-offset, and y-offset values must be expressed as signed decimal
    numbers such as 1, -17, and 0.01.

    Shape name

    The name of the shape to be drawn. This field must be included. If it is omitted,
    the linetype definition fails. If shape_name does not exist in the specified shape file, the linetype is loaded and can be used
    but without the embedded shape.

    Shape filename

    The name of a compiled shape definition (SHX) file. If it is omitted, the linetype
    definition fails. If shape_filename is unqualified (that is, no path is specified), the support paths of the program
    are searched for the file. If shape_filename is fully qualified and not found at that location, the path is removed and the support
    paths of the program are searched for the file. If the file is not found, the linetype
    is loaded and can be used but without the embedded shape.

    Scale

    The scale factor to be used for the shape by which the shape’s internally defined
    scale is multiplied. The scale factor provided must be prefixed with S=, for example S=.5 indicates a scale factor of 0.5. If the shape’s internally defined scale is 0, the
    S= value alone is used as the scale.

    Rotate

    The rotation angle of the shape to be displayed in the linetype. The rotation angle
    must be prefixed with U=, R=, or A=.

    • U= specifies upright or easy-to-read text.
    • R= specifies relative or tangential rotation with respect to the line.
    • A= specifies absolute rotation of the text with respect to the origin; that is, all
      text has the same rotation regardless of its position relative to the line.

    The value can be appended with a

    • d for degrees (degrees is the default value)
    • r for radians
    • g for grads
    NOTE:Drawings containing legacy linetypes that do not use the U (upright) rotation flag
    can be updated to the latest linetype definition by reloading the linetype from the
    LIN files. Custom linetypes can be updated by changing the R (rotation) flag to the
    U (upright) flag prior to reloading a linetype definition.

    X-offset

    The shift of the shape in the X axis of the linetype computed from the end of the linetype definition vertex. The
    offset provided must be prefixed with X=, for example X=.1 indicates an offset of 0.1. If an offset is omitted or is 0, the shape is elaborated
    with no offset. Include this field if you want a continuous line with shapes. This
    value is not scaled by the scale factor defined by S=value.

    Y-offset

    The shift of the shape in the Y axis of the linetype computed from the end of the linetype definition vertex. The
    offset provided must be prefixed with Y=, for example Y=.1 indicates an offset of 0.1. If an offset is omitted or is 0, the shape is elaborated
    with no offset. Include this field if you want a continuous line with shapes. This
    value is not scaled by the scale factor defined by S=value.

    Learning AutoCad