I am having an issue using the SURFOFFSET command. When prompted to "select surfaces or regions to offset", I click on the target surface and I am returned "Not a valid object type." Can anyone help me figure out what the problem is?
Perhaps I am wrong. I believe that the surface that command is referring to is not OUR surfaces in normal Civil 3D. It probably is referring to AutoCad surfaces (solids, etc.)
Bill
Thanks for your input. Is offsetting Civil 3D surfaces something we will be able to do in the near future?
It's marked for "future consideration". I think that translates to maybe later but not real soon.
Allen Jessup
CAD Manager - Designer
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.
Where there's an api, there's a way:
;surface offset function (vl-load-com) (defun c:go() (setq srf (vlax-ename->vla-object (car (entsel "\nSelect Surface: ")))) (while (not (= (vlax-get-property srf 'ObjectName) "AeccDbSurfaceTin")) (prompt "\nYou must select a TIN Surface...") (setq srf (vlax-ename->vla-object (car (entsel "\nSelect Surface: ")))) ) (setq newsrf (getstring "\nEnter new surface name: ")) (setq offdist (getreal "\nEnter offset distance: ")) (vlax-invoke-method srf 'Copy) (setq srf (vlax-ename->vla-object (entlast))) (vlax-put-property srf 'Name newsrf) (setq point (vlax-make-safearray vlax-vbdouble '(0 . 2))) (vlax-safearray-put-element point 0 0) (vlax-safearray-put-element point 1 0) (vlax-safearray-put-element point 2 offdist) (vl-cmdf "move" (entlast) "" (vlax-safearray->list point) "") (princ) );end defun
Can't find what you're looking for? Ask the community or share your knowledge.