Change line color to "by layer" in block in Civil 3D

HI
your blocks
Does not contain lines
They are all POLYLINES

TRY


import clr

# Add Assemblies for AutoCAD and Civil 3D APIs
clr.AddReference('acmgd')
clr.AddReference('acdbmgd')
clr.AddReference('accoremgd')

# Add standard Python references
import sys
sys.path.append('C:\Program Files (x86)\IronPython 2.7\Lib')

# 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.DatabaseServices import *
from Autodesk.AutoCAD.GraphicsInterface import TextStyle

adoc = acapp.DocumentManager.MdiActiveDocument
ed = adoc.Editor

# Example function
def set_ColorIndex(btrB):
	"""
	Sets the object color to ByLayer
	:returns: The list of objects in the drawing
	"""
	global adoc
	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 btrB:
					obj = t.GetObject(oid.InternalObjectId, OpenMode.ForWrite)
					obj.ColorIndex = 256
					output.append("GOOD")
				t.Commit()
	return output

	
	
OUT =  set_ColorIndex(IN[0])

1 Like