private string GetSize(Element target) { switch (TargetType) { case PAATargetType.Pipe: var size = UnitHelper.ConvertFromFootTo(target.GetParameters(PAAContext.SharedParameterDiameter).First().AsDouble(), VLUnitType.millimeter); return("DN" + size); case PAATargetType.Duct: if (IsRoundDuct(target)) { size = UnitHelper.ConvertFromFootTo(target.GetParameters(PAAContext.SharedParameterDiameter).First().AsDouble(), VLUnitType.millimeter); return("Φ" + size); } else { var height = UnitHelper.ConvertFromFootTo(target.GetParameters(PAAContext.SharedParameterHeight).First().AsDouble(), VLUnitType.millimeter); var width = UnitHelper.ConvertFromFootTo(target.GetParameters(PAAContext.SharedParameterWidth).First().AsDouble(), VLUnitType.millimeter); return(width + "x" + height); } case PAATargetType.CableTray: size = UnitHelper.ConvertFromFootTo(target.GetParameters(PAAContext.SharedParameterHeight).First().AsDouble(), VLUnitType.millimeter); return(size + "x" + size); case PAATargetType.Conduit: default: throw new NotImplementedException("暂未支持该类型"); } }
/// <summary> /// 从 CompoundStructure 中获取标注信息 /// </summary> /// <param name="doc"></param> /// <param name="compoundStructure"></param> /// <returns></returns> public static List <string> FetchTextsFromCompoundStructure(this CSAModel model, Document doc, CompoundStructure compoundStructure) { var layers = compoundStructure.GetLayers(); var texts = new List <string>(); foreach (var layer in layers) { string name = ""; var material = doc.GetElement(layer.MaterialId); if (material == null) { name = "<按类别>"; } else { name = doc.GetElement(layer.MaterialId).Name; } texts.Add(UnitHelper.ConvertFromFootTo(layer.Width, VLUnitType.millimeter) + "厚" + name); } model.Texts = texts; return(texts); }
internal string GetFull_L(Element target) { var offset = (target as Instance).GetTotalTransform().Origin.Z; switch (LocationType) { case PBPALocationType.Center: break; case PBPALocationType.Top: var DN = GetDN(target); offset += DN / 2; break; case PBPALocationType.Bottom: DN = GetDN(target); offset -= DN / 2; break; default: break; } return(AnnotationPrefix + UnitHelper.ConvertFromFootTo(offset, VLUnitType.millimeter).ToString("f1").TrimEnd(".0")); }
internal string GetFull_L(Element target) { var offset = target.get_Parameter(BuiltInParameter.RBS_OFFSET_PARAM).AsDouble();//target.GetParameters(PAAContext.SharedParameterOffset).First().AsDouble(); switch (LocationType) { case PAALocationType.Center: break; case PAALocationType.Top: var DN = GetDN(target); offset += DN / 2; break; case PAALocationType.Bottom: DN = GetDN(target); offset -= DN / 2; break; default: break; } return(AnnotationPrefix + UnitHelper.ConvertFromFootTo(offset, VLUnitType.millimeter).ToString("f1").TrimEnd(".0")); }