Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations TugboatEng 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
Joined
Jun 2, 2005
Messages
56
Location
RO
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.
 
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

Back
Top