Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations IDS on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Differing x and y Scales 2

Status
Not open for further replies.

Ingy

Structural
Jun 2, 2005
56
I am working in ADT 2007. I need to work with a drainage profile drawing that has differing horizontal and vertical scales. I have scanned the original drawing in and traced over the components that I need. From this point, is there a way to modify the x and y scales so I am dealing with a 1:1 drawing?

Thanks.
 
Replies continue below

Recommended for you

Create a block of everything, insert it at desired x-y scale, then explode it. You'll end up with mostly line segments.
 
Just answered my own question. If I convert the lines to a block, I can then adjust the scales independently...

Out of curiosity, is there any other way to do this?
 
CarlB, Thanks! I didn't mean to steal your thunder. It seams to me that there ought to be a better way, but at least this works.
 
Try this... wish I could take credit; thanks to the unknown author.
Code:
;;;SCALEAXIS.LSP

;--------------------------------------------------
; ERROR TRAPPING
;--------------------------------------------------

(defun errtrap (msg)
  (cond
    ((not msg))
    (
      (member msg '("Function cancelled" "quit / exit abort"))
      (command "undo" "")
    )
    (
      (princ (strcat "\nError: " msg))
      (command "undo" "")
    )
  );cond
);defun

;--------------------------------------------------
;  MAIN ROUTINE
;--------------------------------------------------

(defun c:scaleaxis (/ *error* *ss1 bspt ax mult refpt refdx newdx)

(command "._undo" "end" "._undo" "begin")
(setq *error* errtrap)

(setq ss1 (ssget))
(setq bspt (getpoint "\nSelect basepoint: "))
(initget "X Y Z")
(if
  (not
    (setq ax (getkword "\nSpecify axis to scale: <X> "))
  );not
  (setq ax "X")
);if

(if
  (not 
    (setq mult (getreal "\nEnter scale factor or <Reference>: "))
  );not
  (progn
    (setq refpt1 (getpoint "\nSpecify reference length: "))
    (setq refdx (getdist refpt1 "\nSpecify second point: "))
    (setq newdx (getdist refpt1 "\nSpecify new length: "))
    (setq mult (/ newdx refdx))
  );progn
);if

(setvar "expert" 2)
(setvar "explmode" 1)
(command "._-block" "SCALETEMP" bspt ss1 "")
(command "._-insert" "SCALETEMP" ax mult bspt "0")
(command "._explode" "last" "")
(command "._-purge" "blocks" "SCALETEMP" "n")
(setvar "expert" 1)

(command "._undo" "end")

(princ)
(*error* nil)
)

____________________
Acad2006, Terramodel
 
lpseifert, a star for you. The code works great.
 
Are you sure that you want to change the scale. The reason for an exaggerated vertical scale from the horizontal scale is because you would not be able to distinguish too easily the differences in elevation when you print a plot using the horizontal scale factor.
 
Chicopee,
I agree with your statement; however, what I am trying to do is get accurate cross sectional areas for quantity takeoffs. We don't have any fancy earthwork takeoff software but we do have Autocad.
 
If you're just getting areas from the drawing, no need to scale the drawing. Just scale the area AutoCAD reports by the inverse of the vertical exaggeration. Say horizontal is 1"=20', vertical is 1"=5', scale your area by 1/4.

Try it, it doesn't matter the shape of the area.
 
Sounds like someone used to work with a planimeter...

____________________
Acad2006, Terramodel
 
To quantify your areas of the profiles, do an AREA inquiry and divide the result by the scale factor developed for the elevation. EX: let's say that in model space the profile has an area of 3600 sq.ft., and in paper space you assign a scale of 1"=200'' which actually applies to both horizontally and vertically,however, your vertical scale for the profile is let's say 1"=10' then the actual cross sectional area is 3600/20=180 sq ft.. This method will apply for any cross sectional shape.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor