Community
Civil 3D Forum
Welcome to Autodesk’s Civil 3D Forums. Share your knowledge, ask questions, and explore popular AutoCAD Civil 3D topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Scaling points without changing elevations?

35 REPLIES 35
Reply
Message 1 of 36
Anonymous
4619 Views, 35 Replies

Scaling points without changing elevations?

Does anyone know of a way to scale points, and or objects in a 2 dimensional manner only? I've got a bunch of survey points imported from a csv file, and they are at a grid scale. I need to scale the data by a factor of 1.000125 in this case to get ground distances between the points for the client. I do not want the elevations to change. In LDDT this was not an issue as I always had the points inserted at zero elevation, but they maintained the elevation data as part of the point. It seams that in Civil 3D my points automatically appear at true elevation, so when I scale a group of points, the elevations changes as well as the elevation of any lines connected to the points. Is there a way to work 2 dimensionally with 3D data?
35 REPLIES 35
Message 21 of 36
Anonymous
in reply to: Anonymous

2009, 2010, and all future versions I'm sure, unless Autodesk makes a
conscious change.

These are true 3D objects, regardless of what the point style is set to
(that only allows OSNAPs to work in 2D). With that said, the fact that the
scale command scales the Z is totally expected. Take any 3D object in
AutoCAD and it will scale the Z. Same goes for these points.

Land Desktop points are different objects from old software so you can't
really compare them to Civil 3D points.

--

Matt Kolberg
GCS - A Division of Cansel


wrote in message news:6281678@discussion.autodesk.com...
The original poster wrote "It seams that in Civil 3D my points automatically
appear at true elevation".

You can insert the points not at their true elevation the same way you could
in LDDT 2004. It won't help with your scaling issue because it still scales
the elevation value using the Autocad Scale command.

In the Point display settings on one of the tabs there is a choice for how
you want the point entities inserted. True elevation or fixed elevation
which you can then set it to insert at Zero or whatever you want. You'll
need to set this for each point display style.

When you set this to zero (or some fixed value for all point styles) you
then get a horizontal distance when snapping to them using the Autocad
"distance" command on the command line.

On a similar subject, I'm confused over why the scale command is able to
scale the elevation of the points.

In Land Desktop 2004 you had to update the point database to reflect the
coordinate values for the points after you scaled them. The point entities
were moved in the drawing and you had to update the coordinate database to
reflect the new position of the points in the drawing. This doesn't affect
the elevations in 2004 so I assumed Autocad wasn't able to access the Land
Desktop information. At least this is how it works for me. We insert our
points at zero rather than "true" elevation.

Now moving to 2009 using the Autocad scale command not only do you move the
point entities in the drawing but it scales the elevations.
I understand that in 2009 the point information is in the drawing, but I
assumed that when you would use the Autocad scale command it would move the
point entities in an x,y,z(z=entity location not true elevation) manner
rather than a Northing, Easting, Elevation manner? I don't understand how
the autocad scale command is able to access the elevation data and why it
changes that rather than the z value of the entity itself. Does 2010 do
this as well?
Message 22 of 36
wang890
in reply to: Anonymous

i didn't pay attention to these z scale for a long time, but today someone  checked this and says its causing like 80mm error. it's actually quite a big deal.

 

anyways. for once i have to say microstation do better on the scale command. that software can force z to be 1.0 and x and y to be anything.

 

here i made a program which will deal with polyline (contours) and aeccpoints.

 

rename dwg to dll and command is ccv

 

works with 2012 only.

Stantec
Dell Precision 5530, Prism M320PU, C3D 14/17/19
Message 23 of 36
tcorey
in reply to: Anonymous

I know this is an old thread, but in case someone else searches for this topic, the following lisp code will scale the points from a basepoint you pick and using your scale factor. Elevations will be maintained.

 

Copy and paste into notepad and save as any file name, but extension must be .lsp.

 

(vl-load-com)

(defun c:go()
(getdoc)

  ;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











(defun getdoc ()


  (setq prod (vlax-product-key))
  (setq	aecappno (strcat "AeccXUiLand.AeccApplication"
			 (cond ((vl-string-search "\\R17.0\\" prod)
				".4.0"
			       )
			       ;;2007
			       ((vl-string-search "\\R17.1\\" prod)
				".5.0"
			       )
			       ;;2008
			       ((vl-string-search "\\R17.2\\" prod)
				".6.0"
			       )
			       ;;2009
			       ((vl-string-search "\\R18.0\\" prod)
				".7.0"
			       )
			       ;;2010
			       ((vl-string-search "\\R18.1\\" prod)
				".8.0"
			       )
			       ;;2011
			       ((vl-string-search "\\R18.2\\" prod)
				".9.0"
			       )
			       ;;2012
			       ((vl-string-search "\\R19.0\\" prod)
				".10.0"
			       )
			       ;;2013
			       ((vl-string-search "\\R19.1\\" prod)
				".10.3"
			       )
			       ;;2014

			       (t "")
			 )
		 )
  )

  (setq	acadapp	(vlax-get-acad-object)
	c3dapp	(vla-getinterfaceobject acadapp aecappno)
	C3Ddoc	(vla-get-activedocument C3Dapp)
  )

)					;end function

 Best regards,

 

Tim

 



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

New knowledge is the most valuable commodity on earth. -- Kurt Vonnegut
Message 24 of 36
IanMcClain
in reply to: Anonymous

Import the points into a survey database via fbk file and include the line "SCALE FACTOR 1.000125" at the top of the file.

Ian McClain
Message 25 of 36
tcorey
in reply to: Anonymous

Hey Matt,

 

When I cut and paste that link, http://www.civil3d.com/2009/10/scale-your-points-keep-the-elevations/, it takes me to an Autodesk page. Did they steal your url?

 

Tim

 



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

New knowledge is the most valuable commodity on earth. -- Kurt Vonnegut
Message 26 of 36
_Hathaway
in reply to: Anonymous

You will need to get your survey database setup for this to work properly.  Once you do that you can insert points from your survey database to your drawing and with the proper settings in the drawing utilities > drawing settings> transformation settting; your points will translate as you wish.

 

There is alot that goes into what I just posted above, particularly in how you setup your survey database and how you setup your drawing templates.  Civil3d works great but it requires a massive amount of proper setup (and testing on non-project files) before you would ever want to use it on a real project.

Message 27 of 36
wang890
in reply to: Anonymous

The challenge is make a program to scale "everything"
I made use of my program quite a bit. It's useful for day to day tasks since points and poly line are most important.
Stantec
Dell Precision 5530, Prism M320PU, C3D 14/17/19
Message 28 of 36
mathewkol
in reply to: Anonymous

Civil3d.com was changed to civil4d.com and is now managed by katie mercer. None of the old links work anymore. Most of the articles are still there, you just have to search the new domain.
Matt Kolberg
SolidCAD Professional Services
http://www.solidcad.ca /
Message 29 of 36
tcorey
in reply to: wang890

Scaling everything would be a challenge, indeed. There are several Civil 3D object types you would want to ignore: Surfaces, Assemblies, Subassemblies, Sample Lines.

 

Most commonly, I am asked about scaling points or polylines. The LISP code I posted earlier in this thread handles Points. Handling 2d polylines is even simpler. If anyone needs code for that, just let me know: tcorey at shasta dot com. 

 

 

Happy holidays to everyone, 

 

Tim

 

 



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

New knowledge is the most valuable commodity on earth. -- Kurt Vonnegut
Message 30 of 36
Anonymous
in reply to: tcorey

1) how can i use your thread

2) and after i save it as lsp should i copy it to some place and update the Autocad commands 

i am kinda confused here with your answer since my experience in civil 3d is not much its just 2 years 

also can this help in scaling the contour lines too

Message 31 of 36
aausummit
in reply to: tcorey

Hi, Tim,

If you're still around, I tried to use your GO lisp routine in Civil 3D 2018 and got a load error (imagine that). I even reformatted it in VLISP with no luck. Any thoughts? 

; error: Automation Error. Problem in loading application

Thanks in advance,

Andy Urban, STT

===========
C3D 2020.5.2
===========
W10 Pro v1903/18362.1016
Intel Core i7-2600K CPU @3.40GHz
24 GB RAM
AMD Radeon HD 6900 Series
Message 32 of 36
tcorey
in reply to: aausummit

Yes, I'm still around.

 

That error is a version problem. The code works for versions up to 2014. If you will send me a reminder email, support at deltaengineeringsystems dot com, I will post an update this week.

 

 



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

New knowledge is the most valuable commodity on earth. -- Kurt Vonnegut
Message 33 of 36
wfberry
in reply to: tcorey

Tim:

 

Did you update this lsp for 2020?

 

Thanks,

Bill

 

Message 34 of 36
tcorey
in reply to: wfberry

Hi @wfberry,

 

I am away from the office this week, but remind me next Monday and I can update this for you...

 

Tim



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

New knowledge is the most valuable commodity on earth. -- Kurt Vonnegut
Message 35 of 36
Djerem_KH
in reply to: tcorey

Hello Sir!

It would be great!

Best regards,

Jeremy

Message 36 of 36
Bruceybee
in reply to: tcorey

Hi Tim, I've only had cause to use one 'lisp' before, that was 'z' arc, to make an arc relevant to the end and mid point elevations. To do that I just copy and paste it into the command bar and it's in there for the duration of that session. I have tried it with this lisp for maintaining the original 'z' values of points but without any joy. So I'm not sure if I'm executing it correctly in the operation. I did copy and paste it into my command bar, then selected 'ALL', > 'SCALE', > for the base point I put in '0', TAB '0' as I want to scale the x/y coordinates from millimetres to metres, press 'ENTER', specify scale factor as 0.001 > 'ENTER', the dwg has moved to the correct x/y coordinates but when I check the 'z' values, they have scaled aswell. So I guess I'm not using the 'lisp' correctly then. Any guidance would be much appreciated. Thanks,

Kind regards,

Bruceebru

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Rail Community


 

Autodesk Design & Make Report