random_guy Posted April 24, 2014 Posted April 24, 2014 Hello, my first post here. Recently we have been trying to do some quantities on a project and are trying to start using C3D for this type of work. I've used it on a perevious project and it's worked well. This time however the level of the DTM (both existing and new levels) comes in at a factor of 1000 too low. As an example, a level that should be 85.760 comes out as 0.086. In order to create the DTM I used the convert from drawing objects option, the same as last time but I don't see any reason for this new scaling factor. The objects in question are blocks brought over from ACAD 2014. I've searched through the options and I also don't see anything that would bring in the change. Does anyone have any pearls of wisdom to share. Regards, Quote
JerryG Posted April 24, 2014 Posted April 24, 2014 Welcome to the Forum RandomGuy! When you bring in the Block how are you inserting them? Just cut and paste or are you selecting a point/line etc to place them in the correct location? I'm assuming these are blocks of a surface or contour lines? One possible way to correct it is once your surface is created - Raise or lower it as needed. From the Help file...... In Toolspace, on the Prospector tab, expand the surface Definition collection, right-click , and click Raise/Lower Surface.The following prompt is displayed: Amount to add to all elevations: Enter a positive value to raise the surface or a negative value to lower the surface.The surface is adjusted to the new elevation.The operation is added as a Raise/Lower operation to the Edits list view in the Prospector tree.NoteThe Description column in the Prospector list view displays the value by which the surface was raised or lowered. Quote
BIGAL Posted April 25, 2014 Posted April 25, 2014 (edited) Jerryg can not add height adjust as its a scale factor problem sounds like the blocks have incorrect Z to start or have their Z scale set to 0.001. A way around is export the surface model back to 3dfaces you can then modify all levels of the faces by * 1000 then make a new surface. This is a trick to make flat surfaces when viewed in 3d have hills and valleys. Heres a couple of lines to get started will try to find time to complete & test (defun triup ( / x y z xyz e3dface len ss3dfaces) (setq icnt 0) ;(command "-layer" "n" "new3dfaces" "s" "new3dfaces" "") ;new layer if required (setq ss3Dfaces (ssget "X" '((0 . "3DFACE")))) (setq len (sslength ss3dfaces)) (repeat len (setq e3dface (entget (ssname ss3Dfaces iCnt))) (setq xyz (cdr (assoc 10 e3DFace))) (setq x (nth 0 xyz)) (setq y (nth 1 xyz)) (setq z (* 1000.0 (nth 2 xyz))) (setq pt1 (list x y z)) (setq xyz (cdr (assoc 11 e3DFace))) (setq x (nth 0 xyz)) (setq y (nth 1 xyz)) (setq z (* 1000.0 (nth 2 xyz))) (setq pt2 (list x y z)) (setq xyz (cdr (assoc 12 e3DFace))) (setq x (nth 0 xyz)) (setq y (nth 1 xyz)) (setq z (* 1000.0 (nth 2 xyz))) (setq pt3 (list x y z)) ; now update 3dface or create new one pt1 pt2 pt3 pt4 (command "3dface" pt1 pt2 pt3 "" "") (setq icnt (+ 1 icnt)) ) ; repeat ) ; defun (triup) Edited April 26, 2014 by BIGAL Quote
BIGAL Posted April 26, 2014 Posted April 26, 2014 Fixed up code above to work properly with z*1000 Quote
JerryG Posted April 28, 2014 Posted April 28, 2014 Ahh thanks Bigal - I misunderstood. Would it not be a simple matter of just using the same insert point then and scaling up the block by 1000? (Assuming he knows the insertion point) Quote
BIGAL Posted April 29, 2014 Posted April 29, 2014 Need a sample dwg to see whats going on. Random_guy your turn. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.