기본 콘텐츠로 건너뛰기

라벨이 EYESHOT인 게시물 표시

[EYESHOT] BlockReference의 Attribute를 Text로 생성

두 도면 비교를 쉽게 하기 위해 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 =...

[EYESHOT] Ver 2022에서 Ver 2023으로 업그레이드

기존 2022버전에서 2023으로 업그레드하기 위해 GIT에서 2023 브랜치를 새로 만들었습니다. devDept 사이트 에서 최신 2023 버전을 다운받습니다. 오늘 들어가 보니 2023.3.630 이 최신 버전입니다. 설치한 후 Activate 툴의 Convert 탭에서 기존 프로젝트를 Eyeshot 2023프로젝트로 변환할 수 있습니다. 아래 Got It! 버튼을 눌러 기존 프로젝트 폴더를 선택하면 선택한 프로젝트의 Eyeshot 버전이 표시됩니다. 2023으로 업그레이드한 화면을 캡쳐했네요.. Upgrade 버튼을 누르면 자동으로 코드를 변경합니다. 이때 레퍼런스까지 자동으로 변경됩니다. 레퍼런스가 자동으로 추가된 모습 프로젝트를 열어 컴파일해서 자동으로 변경하지 못한 부분에서 발생한 오류나 프로그램 동작 시 이상한 부분들을 수정해줍니다. 2023 변경 사항 에서 2023 버전에서의 변경 사항을 확인할 수 있습니다. 실제 프로젝트를 변경해보니 Designer쪽에 넣어놓은 컨트롤들은 거의 변경되지 않았습니다. Workspace 및 ProgressBar의 namespace가 devDept.Eyeshot에서 devDept.Eyeshot.Control로 변경되어서 Designer쪽에서 변경해주고나면 코드 쪽에서는 거의 대부분 자동으로 변환됩니다.

[EYESHOT] LinearDim 생성하기

Eyeshot에서 LinearDim을 생성하는 방법을 찾아봐도 자세한 설명이 나오지 않아 조금의 시행 착오를 거쳤습니다. Eyeshot 도움말을 찾아보면 LinearDim의 생성자는 아래와 같습니다. 1 2 3 4 5 6 7 public  LinearDim(     Plane dimPlane,    Point3D extLine1,    Point3D extLine2,    Point3D dimLinePos,     double  textHeight ) cs Parameters dimPlane     The dimension plane extLine1     First extension line point extLine2     Second extension line point dimLinePos     Dimension line position. Affects text position when the text cannot fit between extension lines. textHeight     Text height dimPlane은 Dimension이 놓여지는 평면입니다 음... 백문이불여일견이라 아무래도 말이나 글로 설명하는 것보다 그림으로 보여주는 것이 이해하기가 더 쉬울 것 같습니다 하지만 Eyeshot에서는 그림을 제공하지 않아 제가 그려봤습니다. 여기서 dimPlane을 변경하면 같은 위치의 extLine1, extLine2라도 표시되는 Dimension이 바뀌게 됩니다. dimPlane 변경 extLine1과 extLi...