Action Rule for Color

This action rule enables you to manage colors of the structural objects as per their category.

This page discusses:

General Information

This opening ID is invoked:

  • When you create structural objects.
  • When you edit the category of structural objects.

Arguments

NameType
InputFeature
ColorParametersList

Sample

The following sample explains the action rule for applying colors as graphic property to structural objects.

let SDD_Panel(SddPanel)
let SDD_Plate(SddPlate)
let SDD_ParametricPanel(SddContourBased)
let SDD_Member(SddMember)
let SDD_Stiffener(SddStiffener)
let SDD_StiffenerOnFreeEdge(SddStiffenerOnFreeEdge)
let SDD_Opening(SddOpening)
let SDD_Flange(SddFlange)

let Category(String)
let RValue(Integer)
let GValue(Integer)
let BValue(Integer)


let IsPhysicalObject(Boolean)

set SDD_Plate = Input
set SDD_Panel = Input
set SDD_ParametricPanel = Input
set SDD_Member = Input
set SDD_Stiffener = Input
set SDD_StiffenerOnFreeEdge = Input
set SDD_Opening = Input
set SDD_Flange = Input

if( NULL <> SDD_Plate)
{
	set IsPhysicalObject = SDD_Plate.IsPhysicalObject
	if(true == IsPhysicalObject)
	{
		set Category = SDD_Plate.Category
		if("SddPlate" == Category )
		{
			RValue = 0
			GValue = 0
			BValue = 255
		}
		else if("ShellPanel" == Category )
		{
			RValue = 0
			GValue = 255
			BValue = 255
		}
		else if("LongitudinalPanel" == Category )
		{
			RValue = 0
			GValue = 255
			BValue = 0
		}
		else if("DeckPanel" == Category )
		{
			RValue = 0
			GValue = 128
			BValue = 0
		}
		else if("TransversePanel" == Category )
		{
			RValue = 0
			GValue = 0
			BValue = 255
		}	
	}	
}
else if( NULL <> SDD_Panel)
{
	set IsPhysicalObject = SDD_Panel.IsPhysicalObject
	if(true == IsPhysicalObject)
	{
		set Category = SDD_Panel.Category
		if("SddPanel" == Category )
		{
			RValue = 0
			GValue = 0
			BValue = 255
		}
		else if("ShellPanel" == Category )
		{
			RValue = 0
			GValue = 255
			BValue = 255
		}
		else if("LongitudinalPanel" == Category )
		{
			RValue = 0
			GValue = 255
			BValue = 0
		}
		else if("DeckPanel" == Category )
		{
			RValue = 0
			GValue = 128
			BValue = 0
		}
		else if("TransversePanel" == Category )
		{
			RValue = 0
			GValue = 0
			BValue = 255
		}	
	}	
}
else if( NULL <> SDD_ParametricPanel)
{
	set IsPhysicalObject = SDD_ParametricPanel.IsPhysicalObject
	if(true == IsPhysicalObject)
	{
		set Category = SDD_ParametricPanel.Category
		if("SddContourBased" == Category )
		{
			RValue = 0
			GValue = 0
			BValue = 255
		}
		else if("ShellPanel" == Category )
		{
			RValue = 0
			GValue = 255
			BValue = 255
		}
		else if("LongitudinalPanel" == Category )
		{
			RValue = 0
			GValue = 255
			BValue = 0
		}
		else if("DeckPanel" == Category )
		{
			RValue = 0
			GValue = 128
			BValue = 0
		}
		else if("TransversePanel" == Category )
		{
			RValue = 0
			GValue = 0
			BValue = 255
		}
		else if("ParametricPanel" == Category )
		{
			RValue = 0
			GValue = 255
			BValue = 0
		}		
	}	
}
else if( NULL <> SDD_Member )
{
	set IsPhysicalObject = SDD_Member.IsPhysicalObject
	if(true == IsPhysicalObject)
	{
		set Category = SDD_Member.Category
		if("SddMember" == Category )
		{
			RValue = 0
			GValue = 0
			BValue = 255
		}
		else if("Beam" == Category )
		{
			RValue = 0
			GValue = 255
			BValue = 255
		}
		else if("Brace" == Category )
		{
			RValue = 0
			GValue = 255
			BValue = 255
		}
		else if("Column" == Category )
		{
			RValue = 211
			GValue = 178
			BValue = 125
		}
		else if("Pillar" == Category )
		{
			RValue = 211
			GValue = 178
			BValue = 125
		}	
	}
}
else if( NULL <> SDD_Stiffener )
{
	set IsPhysicalObject = SDD_Stiffener.IsPhysicalObject
	if(true == IsPhysicalObject)
	{
		set Category = SDD_Stiffener .Category
		if("SddStiffener" == Category )
		{
			
			RValue = 0
			GValue = 0
			BValue = 255
		}
		else if("DeckTransStiffener" == Category )
		{
			RValue = 0
			GValue = 0
			BValue = 255
		}
		else if("DeckLongStiffener" == Category )
		{
			RValue = 211
			GValue = 178
			BValue = 125
		}
		else if("TransBulkhdVerStiffener" == Category )
		{
			RValue = 211
			GValue = 178
			BValue = 125
		}
		else if("TransBulkhdHorStiffener" == Category )
		{
			RValue = 255
			GValue = 255
			BValue = 0
		}
		else if("LongBulkhdVerStiffener" == Category )
		{
			RValue = 211
			GValue = 178
			BValue = 125
		}
		else if("LongBulkhdHorStiffener" == Category )
		{
			RValue = 255
			GValue = 255
			BValue = 0
		}
		else if("ShellBotLongStiffener" == Category )
		{
			RValue = 255
			GValue = 255
			BValue = 0
			
		}
		else if("ShellBotTransStiffener" == Category )
		{
			RValue = 0
			GValue = 0
			BValue = 255
		}
		else if("ShellVerStiffener" == Category )
		{
			RValue = 0
			GValue = 0
			BValue = 255
		}
		else if("ShellLongStiffener" == Category )
		{
			RValue = 255
			GValue = 255
			BValue = 0
		}	
	}
}
else if( NULL <> SDD_StiffenerOnFreeEdge )
{
	set IsPhysicalObject = SDD_StiffenerOnFreeEdge.IsPhysicalObject
	if(true == IsPhysicalObject)
	{
		set Category = SDD_StiffenerOnFreeEdge.Category
		if("SddStiffenerOnFreeEdge" == Category )
		{
			RValue = 0
			GValue = 0
			BValue = 255
		}
		else if("FacePlate" == Category )
		{
			RValue = 0
			GValue = 0
			BValue = 255
		}	
	}
}
else if( NULL <> SDD_Opening )
{
	set IsPhysicalObject = SDD_Opening.IsPhysicalObject
	if(true == IsPhysicalObject)
	{
		set Category = SDD_Opening.Category
		if("SddOpening" == Category)
		{
			RValue = 0
			GValue = 255
			BValue = 255
		}
		else if("LighteningHole" == Category)
		{
			RValue = 0
			GValue = 255
			BValue = 255
		}
		else if("ManHole" == Category)
		{
			RValue = 0
			GValue = 255
			BValue = 255
		}	
	}
}
else if( NULL <> SDD_Flange )
{
	set IsPhysicalObject = SDD_Flange.IsPhysicalObject
	if(true == IsPhysicalObject)
	{
		set Category = SDD_Flange.Category
		if("SddFlange" == Category)
		{
			RValue = 255
			GValue = 255
			BValue = 0
		}	
	}
}
ColorParameters.Append(RValue)
ColorParameters.Append(GValue)
ColorParameters.Append(BValue)