두 도면 비교를 쉽게 하기 위해 BlockReference를 Explode 시키기로 했습니다. Attribute를 제외한 다른 항목들은 Expolode한 결과를 그대로 사용하면 되는데 Attribute는 Explode한 결과가 Explode하기 전과 달랐습니다. 이를 해결하기 위해 여러 방법을 시도해 봤는데 그 결과가 만족스럽지 못했습니다. Explode한 Attribute의 수가 화면에 보이는(Explode하기 전의) 수와 다를 경우도 있고, Attribute의 TAG를 찾지 못하는 경우도 있었습니다. 여러 방법을 시도하는 중 가장 합리적인 방법을 찾았습니다. 아래는 Attribute에 대응하는 Text를 생성하는 방법입니다. var attributes = blkref.Attributes.Where(x => x.Value.Visible).ToList(); foreach(var attr in attributes) { var pt = attr.Value.InsertionPoint.Clone() as devDept.Geometry.Point3D; var plane = attr.Value.Plane.Clone() as devDept.Geometry.Plane; string TextString = attr.Value.Value; #region 특수 문자 처리 TextString = TextString.Replace("%%", string.Empty); #endregion var txt = new Text(plane, pt, TextString, attr.Value.Height) { LayerName = LayerName, Color = color != Color.Empty ? color : GetAttributeColor(Layers, GetEntColor(Layers, blkref), attr.Value) ColorMethod =...