This command establishes a user-unit coordinate system by mapping user-defined coordinate values onto the scaling points P1 and P2.

**SC**
*X _{MIN},X_{MAX},Y_{MIN},Y_{MAX}
[,type[,left,bottom;]] *or

**SC**
*X _{MIN},X_{FACTOR},Y_{MIN},Y_{FACTOR},type[;]*
or

**SC** *[;]*

Parameter | Format | Functional Range | Default |
---|---|---|---|

XMIN,XMAX, | real | -2^{30} to 2^{30} - 1 |
no default |

YMIN,YMAX | real | -2^{30} to 2^{30} - 1 |
no default |

type | clamped integer | 0, 1, or 2 | 0 |

left | clamped real | 0 to 100% | 50% |

bottom | clamped real | 0 to 100% | 50% |

XFACTOR, YFACTOR | real | -2^{30} to 2^{30} - 1 |
no default |

There are three forms of scaling: anisotropic, isotropic, and point-factor. The Type parameter tells the printer which form you are using. Refer to the following table.

Scaling Form | Type | Description |
---|---|---|

Anisotropic | 0 | Establishes standard user-unit scaling allowing different unit size on X-axis and Y-axis. |

Isotropic | 1 | Establishes standard user-unit scaling with same unit size on X-axis and Y-axis. |

Point Factor | 2 | Establishes P1 user-unit location and a specific ratio of plotter units to user-units. |

**No Parameters** - Turns off scaling; subsequent coordinates are in plotter
units.

The following forms of scaling establish a user-unit coordinate system by mapping user-defined coordinate values onto the scaling points P1 and P2. The type parameter selects between anisotropic (Type 0) and isotropic scaling (Type 1).

Scaling Form | Type | Syntax |
---|---|---|

Anisotropic | 0 | SC X_{MIN} ,X_{MAX} ,Y_{MIN} ,Y_{MAX}
[,type;] |

Isotropic | 1 | SC X_{MIN} ,X_{MAX} ,Y_{MIN} ,Y_{MAX}
[,type[,left,bottom];] |

**X _{MIN}, X_{MAX}, Y_{MIN}, Y_{MAX}**
- These parameters represent the user-unit X- and Y-axis ranges, respectively.
For example, SC0,15,0,10 indicates 15 user-units along the X-axis and 10
user-units along the Y-axis. As a result, the first and third parameters
(X

Note X_{MIN} cannot be set equal to X_{MAX}, and
Y_{MIN} cannot be set equal to Y_{MAX}.

As their names suggest, you will normally want to specify X_{MIN}
smaller than X_{MAX}, and Y_{MIN} smaller than
Y_{MAX}. If you specify X_{MIN} larger than X_{MAX}
and Y_{MIN} larger than Y_{MAX}, your illustration is drawn
as a mirror-image, reversed and/or upside down, depending on the relative
positions of P1 and P2.

The parameters of the SC command are always mapped onto the current P1 and P2 locations. P1 and P2 retain these new values until scaling is turned off or another SC command redefines the user-unit values. Thus, the size of a user unit could change if any change is made in the relative position and distance between P1 and P2 after an SC command is executed.

**Type** - Specifies anisotropic or isotropic scaling.

0 |
Anisotropic scaling. Allows a user-unit along the X-axis to be
a different size than user-units along the Y-axis. Printed shapes are distorted
when you use anisotropic scaling. For example, a circle might be drawn as
an ellipse- oval-shaped instead of round. (Left and bottom parameters are
ignored for anisotropic scaling.) |

1 |
Isotropic scaling. Produces user-units that are the same size
on both the X- and Y-axes. The following illustrations show how the printer
adjusts the location of (X_{MIN},Y_{MIN}) and
(X_{MAX},Y_{MAX}) to create the largest possible isotropic
area within the P1/P2 limits. (Remember, the user-units are always square
regardless of the shape of the isotropic area.) |

**Left, Bottom** - Positions the isotropic area in the P1/P2 limits. (These
parameters are always specified together and are valid for isotropic scaling
only.) The left parameter indicates the percentage of the unused space on
the left of the isotropic area; the bottom parameter indicates the percentage
of unused space below.

The defaults for the left and bottom parameters are each 50%. This centers the isotropic area on the page with the unused space equally divided between left and right or top and bottom, as shown in the previous illustrations.

Although you **must **specify both parameters, the printer applies only
one: the left parameter applies when there is extra horizontal space; the
bottom parameter applies when there is extra vertical space. The following
examples illustrate left and bottom parameters of 0% and 100%.

The third form of scaling, point-factor scaling, sets a specific ratio of plotter units to user-units, and establishes the user-units coordinate of P1.

Scaling Form | Type | Syntax |
---|---|---|

Point Factor | 2 | SC X_{MIN} ,X_{FACTOR} ,Y_{MIN}
,Y_{FACTOR} ,type[;] |

**X _{MIN},X_{FACTOR},Y_{MIN},Y_{FACTOR}
**-Establish the user-unit coordinates of P1 and the ratio of plotter to
user-units. X

**Type** - Must be 2 for this type of scaling.

An SC command remains in effect until another SC command is executed, or the printer is initialized or set to default conditions.

**Examples: **The following examples explain the effect of several parameter
selections.

*(SC0,40,0,40,2)* allows scaling in millimeters since 1 millimeter =
40 plotter units. Each user-unit is 1 millimeter.

*(SC0,1.016,0,1.016,2)* allows scaling in thousandths of an inch since
1 inch = 1016 plotter units.

While scaling is on (after any form of the SC command has been executed), only those HP-GL/2 commands that can be issued in `current units' are interpreted as user-units; the commands that can be issued only in plotter units are still interpreted as plotter units. (The command syntax discussion pertaining to each command tells you which kind of units each parameter requires.)

The SC parameters are mapped onto the current locations of P1 and P2. P1 and P2 do not represent a graphic limit; therefore, the new user-unit coordinate system extends across the entire range of the plotter-unit coordinate system. Thus, you can print to a point beyond P1 or P2, as long as you are within the effective window. For example, you can print from the point (-1,3.5) to the point (5.5,1.5) as shown in the following illustration.

Related Commands | Group |
---|---|

IP, Input P1 and P2 IR, Input Relative P1 and P2 IW, Input Window |
The Configuration/Status Group |

Condition | Printer Response |
---|---|

no parameters | turns scaling off |

more than 7 parameters | executes first 7 parameters |

for types 0 or 1: 6 parameters or less than 4 parameters | ignores command |

for type 2: any more or less than 5 parameters | ignores command |

X_{MIN}=X_{MAX} or Y_{MIN}=Y_{MAX} or
number out of range |
ignores command |

X_{FACTOR}=0 or Y_{FACTOR}=0 |
ignores command |

file: /Techref/language/hpgl/sc.htm, 11KB, , updated: 2017/4/10 14:19, local time: 2024/7/19 20:09, |

©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?<A HREF="http://www.sxlist.com/techref/language/hpgl/sc.htm"> HPGL SC Command</A> |

Did you find what you needed? |

## Welcome to sxlist.com!sales, advertizing, & kind contributors
just like you! Please don't rip/copy
(here's why Copies of the site on CD are available at minimal cost. |

## Welcome to www.sxlist.com! |

.