Point scaling

Point scaling

Anonymous
Not applicable
2,466 Views
11 Replies
Message 1 of 12

Point scaling

Anonymous
Not applicable

How can a civil 3d points be scaled in x, y but filter out the z elevation, to keep the same z elevation?

Accepted solutions (1)
2,467 Views
11 Replies
Replies (11)
Message 2 of 12

civilman1957
Advisor
Advisor

By scaling, you mean what, exactly? The size of the node can be changed by altering the point style, and the size of the various text objects - as well as a variety of other things - can be changed by tweaking the point label style.

Cad Manager/Senior Engineering Technician
Autodesk Certified Professional

Intel(R) Core (TM) i7-7700 CPU
3.60 GHz/24 GB BEAST
Civil 3D 2013/2014/2017/2018/2020
0 Likes
Message 3 of 12

Jeff_M
Consultant
Consultant

The easiest and quickest way I know of: ScalePoints

Jeff_M, also a frequent Swamper
EESignature
Message 4 of 12

Anonymous
Not applicable

I would like to scale around a known northing easting keeping the elevatoin the same.  Basically we want to change the horizontal coordinate system.

0 Likes
Message 5 of 12

ACADuser
Collaborator
Collaborator

Export your points to a csv file.  Using the Autocad SCALE command, scale the points as desired.  Export the scaled points to a different csv file.  Open both csv files using MS Excel and sort the points in each by point number.  In the orignal csv copy the values from the elevation colum then paste over the elevation values in the scaled csv.  Save the file and import the points overwriting existing points.

ACADuser
Civil 3D 2018, Raster Design 2018
Windows 7 Enterprise
Dell Precision 5810 Workstation
Intel Xeon E5-1630 v3 @ 3.70GHz
32GB RAM, NVIDIA Quadro K2200 4 GB GDDR5
DUAL 27" Dell UltraSharp U2713HM
0 Likes
Message 6 of 12

tcorey
Mentor
Mentor
Accepted solution
Some LISP code so easy even I can do it:
 

(defun c:go( / p1 ss len sc ctr curpt obtyp vpt curz)


(vl-load-com)


  ;select points to scale
  (prompt "\nSelect points to scale: ")
  (setq ss (ssget))
  (setq len (sslength ss)
 ctr 0)




  ;get basepoint
  (setq p1 (getpoint "\nPick BasePoint: "))




  
  (setq sc (getreal "\nEnter Scale Factor: "))
 




  (while (< ctr len)
    (setq curpt (ssname ss ctr))
    (setq obtyp (cdr (assoc 0 (entget curpt))))
    (if (= obtyp "AECC_COGO_POINT")
      (progn
 (setq vpt (vlax-ename->vla-object curpt))
 (setq curz (vlax-get-property vpt 'Elevation))
 (vl-cmdf "Scale" curpt "" p1 sc)
 (vlax-put-property vpt 'Elevation curz)
 );end progn
      );end if
        
        (setq ctr (1+ ctr))
        
    );end while
  
  (vl-cmdf "REGEN")
(princ)





) ;end GO
 
 


Tim Corey
MicroCAD Training and Consulting, Inc.
Redding, CA
Autodesk Platinum Reseller

New knowledge is the most valuable commodity on earth. -- Kurt Vonnegut
Message 7 of 12

Anonymous
Not applicable

Ok now I feel stupid.  That will work.  seems Autodesk would make the ability to do this in a dwg file.

Thanks

0 Likes
Message 8 of 12

Anonymous
Not applicable

Tim,

 

Thanks that does the trick.  Makes my life easier.

0 Likes
Message 9 of 12

mathewkol
Advisor
Advisor

Here is another manual method.

Matt Kolberg
SolidCAD Professional Services
http://www.solidcad.ca /
Message 10 of 12

Anonymous
Not applicable

I'm trying to do this using this lisp code but it's not working for me. Do I copy the code as it is and paste it all into one .lsp file?

0 Likes
Message 11 of 12

wfberry
Mentor
Mentor

I'm not Tim but you are answering to a 1.5 year old post.  Just copy all of that into a notepad .txt empty file.  Rename the suffix to .lsp.

 

You can load it using APPLOAD and the command to run it is:

 

go

 

Bill

 

Message 12 of 12

Anonymous
Not applicable

Thanks. I wasn't getting the GO part.

0 Likes