The most searched question around the scale command in AutoCAD is not how to use it. It is how to make it stretch in one direction only. The blunt answer is that it cannot, by design.
This article sets out the route that does work — turning the geometry into a block and inserting it with two different factors — together with the Institute's SC1 lisp that does the job in one command, source code printed in full. For the full set of editing commands see our AutoCAD for Construction course.
The scale command in AutoCAD is uniform, and the prompt says so
The evidence is in the question the program asks, copied verbatim from the 2027 release:
Specify scale factor or [Copy/Reference]:
One factor. There is nowhere to declare a horizontal figure and a vertical one separately. That is why the command never distorts a shape, and why it is no help at all when you need to stretch in one direction.
Take a real shape: a 2000 × 1000 rectangle, with a factor of 2.
| Before | After |
|---|---|
| 2000 × 1000 | 4000 × 2000 |
Both sides doubled. The shape keeps its proportions and simply gets bigger.
This is deliberate rather than an omission. Autodesk's SCALE page describes the command in one sentence: "Enlarges or reduces selected objects, keeping the proportions of the object the same after scaling". Keeping proportions is the command's job, so asking it to distort is asking the wrong tool.
Where to start it, and the steps on the command line
Read straight out of the acad.cuix interface file of the 2027 release.
| Way in | What to use |
|---|---|
| Full command | SCALE |
| Alias | SC |
| Ribbon | Home → Modify → Scale |
| Classic menu | Modify → Scale |
| Toolbar | Modify → Scale |
The middle column below is copied verbatim from AutoCAD 2027.
| Step | What it asks | What you do |
|---|---|---|
| 1 | Select objects: | Pick the shape, then Enter |
| 2 | Specify base point: | Click the point that stays put |
| 3 | Specify scale factor or [Copy/Reference]: | Type a factor, or C, or R |
Step 2 is the one people skim. The same Autodesk page puts it plainly: "The base point you specify identifies the point that remains in the same location as the selected objects change size". The base point is the point that does not move; everything else runs away from it or shrinks towards it.
The Copy option keeps the original and scales a new copy. The Reference option lets you declare real measurements instead of a factor:
Specify reference length <1.00>:
Specify new length or [Points] <1.00>:
On the 2000 × 1000 rectangle, an old length of 2000 and a new length of 3000 give 3000 × 1500. Still uniform.
Why the stretch command is not scaling one direction
A great many tutorials point at STRETCH — alias S — as the way to scale one direction. That is a mistake about what the command does.
STRETCH does not multiply by a factor. It moves the vertices inside the selection window by a fixed distance. On a rectangle the two look the same, which is why the confusion spreads. Put other object types next to it and the difference is immediate.
Four objects: a 2000 × 1000 rectangle, a circle of radius 500, a line of text 300 high, and a block reference. One pull of 2000 horizontally, with a crossing window that cuts through the rectangle only:
| Object | Width before | Width after | Result |
|---|---|---|---|
| Rectangle | 2000 | 4000 | stretched by exactly 2000 |
| Circle | 1000 | 1000 | unchanged, and it does not move |
| Text | 4264.46 | 4264.46 | unchanged |
| Block reference | 800 | 800 | unchanged |
The second case is the opposite one, and it matters as much as the first. Open the window wide enough to catch every definition point:
| Object | Width before | Width after | Moved by |
|---|---|---|---|
| Rectangle | 2000 | 2000 | 2000 |
| Circle | 1000 | 1000 | 2000 |
| Text | 4264.46 | 4264.46 | 2000 |
| Block reference | 800 | 800 | 2000 |
This time nothing changes size; all four simply move. The command has become a move.
Three figures settle it: the circle's radius stays at 500 in both cases, the text height stays at 300, and the block's X scale factor stays at 1. A circle stretched in one direction has to become an ellipse. It never does here, because no stretching of that kind takes place.
The short version: STRETCH is useful, but it only changes the distance between the grips the window catches. It is not scaling one direction.
Scaling one direction with a block, step by step
This is the route that works, and it uses what the program already has. The idea: a block reference takes two separate factors, one for X and one for Y.
Step 1 — gather the geometry into a block. Type B for BLOCK, give it a name, pick a base point, select the objects, click OK. Creating and editing blocks is covered in our article on blocks in AutoCAD.
Step 2 — insert it with the hyphenated command. It has to be -INSERT, with the leading hyphen. Plain INSERT opens the Blocks palette, which offers a single scale box unless you unlock the ratio. The prompts, copied verbatim from the 2027 release:
| Step | What it asks, verbatim | What you do |
|---|---|---|
| 1 | Enter block name or [?]: | Type the name you just made |
| 2 | Specify insertion point or [Basepoint/Scale/X/Y/Z/Rotate/Explode/REpeat]: | Click a spot, or type coordinates |
| 3 | Enter X scale factor, specify opposite corner, or [Corner/XYZ] <1>: | Type the horizontal factor, say 2 |
| 4 | Enter Y scale factor <use X scale factor>: | Type the vertical factor, say 1 |
| 5 | Specify rotation angle <0>: | Enter if there is no rotation |
Step 4 is the whole story. Its default is use the X factor, so almost everyone presses Enter past it and never discovers that this is where the separate vertical factor is declared.
On a block holding a 1000 × 600 rectangle, a circle of radius 200 and a line of text:
| Insertion | Width | Height |
|---|---|---|
| Control, X = 1 and Y = 1 | 1000 | 887.86 |
| X = 2 and Y = 1 | 2000 | 887.86 |
The width doubles exactly and the height does not move.
Step 3 — change the factor whenever you like. This is the biggest advantage of the route. Both block scale factors stay editable for the life of the reference: select it, open the Properties palette with Ctrl+1, and edit the Scale X box directly. Changing it back and forth on the same reference:
| X factor | Width | Height |
|---|---|---|
| 1 | 1000 | 887.86 |
| 2 | 2000 | 887.86 |
| 0.5 | 500 | 887.86 |
| 1 | 1000 | 887.86 |
Back to the original figure exactly. Nothing is lost along the way, which is not true of exploding and fixing by hand.
Step 4 — explode it if you need ordinary geometry. Type X for EXPLODE. There is something worth knowing first, and this is the part other pages leave out. Exploding a reference whose X factor differs from its Y factor changes the object types inside:
| Inside the block | Explode the X = 1, Y = 1 copy | Explode the X = 2, Y = 1 copy |
|---|---|---|
| Circle of radius 200 | circle, 400 wide | ellipse, 800 wide |
| Closed polyline 1000 × 600 | polyline, 1000 wide | 4 separate lines, two of them 2000 long |
| Text 737.82 wide | text 737.82 wide | text 1475.65 wide |
The circle becoming an ellipse is correct rather than a fault: a circle stretched one way really is an ellipse. The polyline breaking into four separate lines is worth knowing in advance, because it no longer reports an area. Measuring areas is covered in our article on calculating area in AutoCAD.
One more thing to weigh up: text inside the block is distorted too. A title block inserted with X different from Y comes out with thin or fat lettering. And if the text style uses an .shx font without the glyphs it needs, accented characters are drawn as question marks, and the measured width follows suit. Our article on exporting point coordinates carries a test of all 41 Unicode fonts that ship with AutoCAD.
The Institute's SC1 lisp for scaling one direction
Doing those four steps by hand is correct but slow. That is why a number of lisp files circulate for the job, usually under the command name XSC or 1SC. They all do the same thing: gather the selection into a temporary block, insert it again with two different factors, then explode it.
Reading the circulating versions carefully turns up three gaps. The most widely shared one leaves a temporary block called vkc_temp in the drawing for good. None of them warns that circles will become ellipses and polylines will break apart. And at least one page offers only a download link with no source code, so nobody can read what they are about to run.
The Institute wrote its own and publishes it with the source in full.
APPLOAD; the source is printed below.Two commands once it is loaded:
| Command | What it does |
|---|---|
SC1 | scales one direction, then explodes into ordinary geometry |
SC1X | scales one direction but keeps a block reference, so the factor stays editable |
The working heart of it, exactly as in the download:
(setq ten (iic-ten-tam))
(command "_.-BLOCK" ten p0 ss "")
(if (= phuong "X")
(command "_.-INSERT" ten p0 hs 1.0 0)
(command "_.-INSERT" ten p0 1.0 hs 0))
(setq e (entlast))
(if no
(progn (command "_.EXPLODE" e) (setq ss2 (ssget "_P")))
(setq ss2 (ssadd e (ssadd))))
(iic-xoa-block ten)
Three things differ from the circulating versions. The temporary block takes the first free numbered name and is deleted the moment the job is done, so the drawing does not grow. The whole command sits inside one undo step, so a single U puts everything back. And when it finishes, the command prints a before-and-after count by object type, so nobody has to guess.
CIRCLE : 1 -> 0
POLYLINE : 1 -> 0
TEXT : 1 -> 1
ELLIPSE : 0 -> 1 (mới sinh ra)
LINE : 0 -> 4 (mới sinh ra)
A run on the 2027 release used a 2000 × 1000 rectangle, a circle of radius 300 and a line of text 2093.25 wide. Direction X, factor 2. The rectangle came out as four lines, 4000 long and 1000 high. The circle came out as an ellipse of 1200 × 600. The text came out 4186.49 wide, exactly double. Every horizontal figure doubled exactly and no vertical figure moved by a single unit.
Load the file with APPLOAD. If the machine shows a Security - Unsigned Executable File box, that is the SECURELOAD variable, and our article on the APPLOAD command in AutoCAD sets out what to do about it.
One last warning: keep dimensions out of the selection. Exploding breaks their association, and the figure stops updating itself.
The reference option and the align command
People asking about scaling between two points usually want to fit a shape to two existing marks rather than work out a factor.
The first route is inside SCALE itself. Choose Reference, and at Specify new length or [Points] <1.00>: type P. From there the new length is declared by clicking two points on the drawing.
The second is the align command, ALIGN, alias AL. It moves, rotates and scales in a single pass:
Specify first source point:
Specify first destination point:
Specify second source point:
Specify second destination point:
Specify third source point or <continue>:
Scale objects based on alignment points? [Yes/No] <N>:
The last question decides everything. Answer Y and the shape is scaled so the two source points land on the two destination points. The default is N, so anyone pressing Enter to hurry through sees the shape move and rotate without scaling.
To be clear: ALIGN also scales uniformly. It is not a way to stretch one direction.
Scaling for the right plot ratio
One misunderstanding is worth naming, because it wrecks a whole drawing package. Beginners scale geometry in model space to fit the title block, then plot. That falsifies every figure: dimensions no longer report real sizes.
The rule is to draw at true size in model space and set the ratio in the layout viewport. How to do it is in our article on layouts in AutoCAD.
There is exactly one case for scaling in model space: a drawing that arrives in the wrong units, for instance drawn in metres while your package is in millimetres. Scaling the whole drawing by 1000 once is right there, because you are correcting units rather than a plot ratio.
Three things people say that are not true
| What people say | What the 2027 release actually does |
|---|---|
| The scale command takes separate X and Y factors | The prompt reads Specify scale factor or [Copy/Reference]:, exactly one factor |
Typing S for STRETCH scales one direction | S is indeed STRETCH, but it only moves vertices: circles, text and block references do not change size at all |
ALIGN stretches one direction because it asks for two point pairs | It scales uniformly; the two pairs only produce a single factor |
Frequently asked questions
Which command scales one direction in AutoCAD?
No scale command does. The route is to make a block and insert it with -INSERT using a different X factor from the Y factor, or to use the SC1 lisp above to fold those four steps into one command.
Can the stretch command do it instead?
No. STRETCH moves the vertices inside the selection window by a fixed distance rather than multiplying by a factor. A circle stays a circle, text keeps its width, and a block reference keeps its factors.
Where does the circle go when the block is exploded?
It becomes an ellipse, and that is the correct result. To keep circles round, leave the result as a block reference by using SC1X instead of SC1.
Do dimensions update after scaling?
They do, if they are associated with the geometry and you include them in the SCALE selection. The block route is the opposite: exploding breaks the association, so keep dimensions out of the selection.
Where should the base point go?
On a point you want to stay where it is, usually a bottom-left corner or a centre. Click an empty spot at random and the shape comes out the right size but a long way from where you wanted it.