public static void SetBlockRefDynPropsBasedOnParameters(ParametersFromEng parameters, int BlockType, BlockReference blkRef)
{
DynamicBlockReferencePropertyCollection blockDynProps = blkRef.DynamicBlockReferencePropertyCollection;
if (BlockType != 2) //only for those blocks which have a "Visibility" dynamic property
{
//LookupDynProp = blockDynProps.Cast<DynamicBlockReferenceProperty>().Where(x => x.PropertyName == "Visibility1").Single();
//need to add a switch here to set the value based on whether the plan block is normal or one of the corner options.
//string StartingVal = LookupDynProp.Value.ToString();
//LookupDynProp.Value = "Standard"; // parameters.SystemReference;
//LookupDynProp.Value = StartingVal;
//LookupDynProp.Value = "Standard";
switch (BlockType)
{
case 0:
foreach (DynamicBlockReferenceProperty dynProp in blockDynProps)
{
switch (dynProp.PropertyName)
{
case "Visibility1":
//set this based on the SystemReference
dynProp.Value = "Standard";
break;
case "AngleCentreToBracketCentre":
dynProp.Value = parameters.AngleCentreToBracketCentre;
break;
case "AngleDepth":
dynProp.Value = parameters.AngleDepth;
break;
case "OptimumAngleLength":
dynProp.Value = parameters.OptimumAngleLength;
break;
case "AngleThickness":
dynProp.Value = parameters.AngleThickness;
break;
case "LeftMitreAngle":
dynProp.Value = parameters.LeftMitreAngle;
break;
case "RightMitreAngle":
dynProp.Value = parameters.RightMitreAngle;
break;
case "WallBracketBendRadius":
dynProp.Value = parameters.BracketThickness * 2;
break;
case "WallBracketDepthOne":
case "WallBracketDepthTwo" :
case "WallBracketDepthThree":
case "WallBracketDepthFour":
dynProp.Value = parameters.BracketDepth1;
break;
case "WallBracketThickness":
dynProp.Value = parameters.BracketThickness;
break;
case "WallBracketWidthOne":
case "WallBracketWidthTwo":
case "WallBracketWidthThree":
case "WallBracketWidthFour":
dynProp.Value = parameters.BracketWidth;
break;
case "WallBracketOneToTwo":
dynProp.Value = parameters.WallBracketOneToTwo;
break;
case "WallBracketTwoToThree":
dynProp.Value = parameters.WallBracketTwoToThree;
break;
case "WallBracketThreeToFour":
dynProp.Value = parameters.WallBracketThreeToFour;
break;
}
}
break;
case 1:
foreach (DynamicBlockReferenceProperty dynProp in blockDynProps)
{
switch (dynProp.PropertyName)
{
case "AngleA":
dynProp.Value = parameters.AngleHeight;
break;
case "AngleB":
dynProp.Value = parameters.AngleDepth;
break;
case "AngleBracketd":
dynProp.Value = parameters.AngleDrop;
break;
case "AngleThickness":
dynProp.Value = parameters.AngleThickness;
break;
case "Visibility1":
//set this based on the SystemReference
dynProp.Value = "Standard";
break;
case "WallBracketD2":
dynProp.Value = parameters.BracketDepth2;
break;
case "WallBracketDepth":
dynProp.Value = parameters.BracketDepth1;
break;
case "WallBracketh":
dynProp.Value = parameters.BracketFrontHeight;
break;
case "WallBracketHeight":
dynProp.Value = parameters.BracketHeight;
break;
case "WallBracketND":
dynProp.Value = parameters.BracketNotchDepth;
break;
case "WallBracketNH":
dynProp.Value = parameters.BracketNotchHeight;
break;
case "WallBracketThickness":
dynProp.Value = parameters.BracketThickness;
break;
case "WallBracketX":
dynProp.Value = parameters.BracketDepth1;
break;
}
}
break;
}
}
}