É, parece que não teve interessados 
neste post, mas tudo bem...
O problema consistia em definir as propriedades de tubos e estruturas (as pipenetwork do civil 3d). Propriedades como o 
Coeficiente de Manning via 
API do Civil 3D...
o interessante que no 2008 e 2009 a api COM dá conta disso na boa, por exemplo:
Sub DefManning()
 Dim tubo As AeccPipe
 ThisDrawing.Utility.GetEntity tubo, pt, "Selecione um tubo"
 tubo.PartDataRecord.Find("ACMan").Tag = 0.015
 MsgBox tubo.PartDataRecord.Find("ACMan").Tag
End Sub
Mas no 2010 ".Tag" é read only... é... que beleza né? 
Obrigado autodesk!!! foi muito legal da sua parte isso!!Bem, Bem, mas o 2010 tem 
API .NET!!! Opa, Isso sim!!!
Mas... ela não faz tudo o que a API COM faz, e algumas coisas ainda faz errado...
Em fim, em .NET eu posso fazer:
tubo.PartData.GetDataFieldBy("ACMan").Value = 0.015Veja completo...
Imports Autodesk.Civil.PipeNetwork.DatabaseServices
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Microsoft.VisualBasic
Imports Autodesk.AutoCAD.EditorInput
Imports Autodesk.AutoCAD.Runtime
Public Module c3d2010
     _
    Public Sub test()
        Dim doc As Document = Application.DocumentManager.MdiActiveDocument
        Dim ed As Editor = doc.Editor
        Dim ts As Transaction = doc.Database.TransactionManager.StartTransaction()
        Dim pipeid As ObjectId = ed.GetEntity( _
           New PromptEntityOptions(vbNewLine & "Select Pipe:")) _
          .ObjectId
        Dim fieldname As String = ed.GetString( _
           New PromptStringOptions(vbNewLine & "tag:")) _
           .StringResult
        Dim value As Double = ed.GetDouble( _
           New PromptDoubleOptions(vbNewLine & "value:")) _
           .Value
        Dim tubo As Pipe = ts.GetObject(pipeid, _
            Autodesk.AutoCAD.DatabaseServices.OpenMode.ForWrite)
        Dim pf As PartDataField = tubo.PartData.GetDataFieldBy(fieldname)
        Dim oldval As Double = pf.Value
        pf.Value = value
        ts.Commit()
        ed.WriteMessage(vbNewLine & "New=" & pf.Value & _
                        vbNewLine & "Old=" & oldval & _
                        vbNewLine & "real value=" & _
                        tubo.PartData.GetDataFieldBy(fieldname).Value)
    End Sub
End Module
 Sim, posso!!! mas não funciona!!!!
Huahuahuahuahuahuahua!!!
Após muito quebrar a cabeça, 
aqui e 
aqui, usando a ideia de algumas pessoas, e fazendo uns testes, acendendo uma vela, e fazendo um despacho na esquina, descobri que era possível alterar o valor do coeficiente de manning ( e de qualquer outra propriedade ) se esta tivesse uma unidade de medida. 
Mas .Units na API NET é read only, certo... na API COM é read-write... vai entender...
então olha só o tamanho da lambança que tive de fazer:
Veja completo...
Imports Autodesk.Civil.PipeNetwork.DatabaseServices
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Microsoft.VisualBasic
Imports Autodesk.AutoCAD.EditorInput
Imports Autodesk.AutoCAD.Runtime
Public Module c3d2010
     _
    Public Sub test()
        Dim NEW_UNITS As String
        Dim civildoc As CivilDocument = CivilApplication.ActiveDocument
        If civildoc.Settings.DrawingSettings.UnitZoneSettings.DrawingUnits = _
        Autodesk.Civil.Settings.DrawingUnitType.Meters Then
            NEW_UNITS = "m"
        Else
            NEW_UNITS = "ft"
        End If
        Dim acaddoc As Document = Application.DocumentManager.MdiActiveDocument
        Dim ed As Editor = acaddoc.Editor
        Dim ts As Transaction = acaddoc.Database.TransactionManager.StartTransaction()
        Dim pipeid As ObjectId = ed.GetEntity( _
           New PromptEntityOptions(vbNewLine & "Select Pipe:")) _
          .ObjectId
        Dim tuboNET As Pipe = ts.GetObject(pipeid, _
            Autodesk.AutoCAD.DatabaseServices.OpenMode.ForWrite)
        Dim tuboCOM As AeccPipe = tuboNET.AcadObject
        Dim PF_COM As AeccPartDataField = tuboCOM.PartDataRecord.Find("ACMan")
        Dim OLD_UNITS As String = PF_COM.Units
        PF_COM.Units = NEW_UNITS
        Dim PR As PartDataRecord = tuboNET.PartData
        Dim PF_NET As PartDataField = PR.GetDataFieldBy("ACMan")
        PF_NET.Value = 0.015
        tuboNET.PartData = PR
        PF_COM.Units = OLD_UNITS
    End Sub
End Module
 É um mix de uso da API COM e API NET:
- Com a api COM eu defino temporariamente a unidade de medida da propriedade "ACMan" para metros ou pés (veja que se o desenho estiver em pés, e eu definir como metros o ACMan, vai haver uma conversão de valor e vai dar errado).
- Depois com a API NET, eu defino o valor numérico do "ACMan"
- Por fim, redefino a unidade de medida de "ACMan" com a API COM
Xunxo legal né?
A solução inicial você pode ver no 
forum da autodesk, 
aqui, você pode ver o mesmo (obrigado por postar os créditos)
Isso tudo aí, estou usando no 
C3DRENESGAh, como ninguem consegiu, está encerrada a promoção, hehehe