Hi there,
I want to share a small Python (node) script to use for raising (or lowering) a TIN surface in Civil 3D, because this function node is not available yet in the current versions of available packages.
The input is a TIN surface and a number as delta Elevation for raising (+) or lowering (-) this surface.
Best way to use this is to make a custom node of it. See attachment.
Have fun.
Thx for the support @zachri.jensen and @geert.drijfhout
import System
import clr
clr.AddReference('AcMgd')
clr.AddReference('AcDbMgd')
clr.AddReference('AeccDbMgd')
from Autodesk.AutoCAD.ApplicationServices import *
from Autodesk.AutoCAD.DatabaseServices import *
from Autodesk.Civil.ApplicationServices import *
from Autodesk.Civil.DatabaseServices import *
from Autodesk.Civil import *
adoc = Application.DocumentManager.MdiActiveDocument
surface = IN[0]
deltaElevation = IN[1]
def RaiseSurface(surface, deltaElevation):
global adoc
with adoc.LockDocument():
with adoc.Database as db:
with db.TransactionManager.StartTransaction() as t:
surfId = surface.InternalObjectId
surf = surfId.GetObject(OpenMode.ForWrite)
surf.RaiseSurface(deltaElevation)
t.Commit()
pass
return surface
OUT = RaiseSurface(surface, deltaElevation)
RaiseSurface.dyf (7.5 KB)