Hello, here is the pythonized code:
#Edit Corridor Baseline Stations
__author__ = 'Jesus A Duran - jduran@moffattnichol.com'
__version__ = '0.0.0'
# Load the Python Standard and DesignScript Libraries
import sys
import clr
# Add Assemblies for AutoCAD and Civil3D
clr.AddReference('AcMgd')
clr.AddReference('AcCoreMgd')
clr.AddReference('AcDbMgd')
clr.AddReference('AecBaseMgd')
clr.AddReference('AecPropDataMgd')
clr.AddReference('AeccDbMgd')
clr.AddReference('AeccPressurePipesMgd')
clr.AddReference('acdbMgdbRep')
# Create an alias to the Autodesk.AutoCAD.ApplicationServices.Application class
import Autodesk.AutoCAD.ApplicationServices.Application as acapp
# Import references from AutoCAD
from Autodesk.AutoCAD.Runtime import *
from Autodesk.AutoCAD.ApplicationServices import *
from Autodesk.AutoCAD.EditorInput import *
from Autodesk.AutoCAD.DatabaseServices import *
from Autodesk.AutoCAD.Geometry import *
# Import references for PropertySets
from Autodesk.Aec.PropertyData import *
from Autodesk.Aec.PropertyData.DatabaseServices import *
# Import references from Civil3D
from Autodesk.Civil.ApplicationServices import *
from Autodesk.Civil.DatabaseServices import *
# The inputs to this node will be stored as a list in the IN variables.
dataEnteringNode = IN
adoc = acapp.DocumentManager.MdiActiveDocument
ed = adoc.Editor
def edit_station(co_name, re_name, new_station_val):
global adoc
corrid = None
output = {}
with adoc.LockDocument():
with adoc.Database as db:
with db.TransactionManager.StartTransaction() as t:
bt = t.GetObject(db.BlockTableId, OpenMode.ForWrite)
btr = t.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite)
for oid in btr:
obj = t.GetObject(oid, OpenMode.ForWrite)
if isinstance(obj, Corridor):
if obj.Name == co_name:
corrid = oid
break
if corrid is None:
return "Corridor not found"
corr = t.GetObject(corrid, OpenMode.ForWrite)
baseReColl = corr.Baselines[0].BaselineRegions
baseRegion = baseReColl[re_name]
baseRegion.StartStation = new_station_val
for a in dir(baseRegion):
try:
output[a] = getattr(baseRegion, a)
except:
pass
t.Commit()
return baseRegion.StartStation
OUT = edit_station(IN[0],IN[1],IN[2])
So the dynamo code will be like this:
Where “Edit Corridor baseline stations” has the phyton code.
Hope this is helpfull to someone