• GstarCAD 2023 다운로드
  • 설치파일
  • 온라인 쇼핑몰
  • 카달로그
  • 파트너 가입문의

Q & A

C# 기능 오작동

페이지 정보

작성자 정영웅 조회   48회 작성일   24-03-01 08:59

본문

사용 환경 ; GStarCAD 2023 Professional Build 230629 64-Bit(English)

SDK 버전 : grxsdk for Gcad release ----- 20230629

개발 환경 : Microsoft Visual Studio Community 2022 (64-bit) Version 17.9.2 // .NET Framework 4.8.9181.0


하기의 예제 코드 실행 시 의도치 않은 동작을 합니다.

[CommandMethod("SalTestModifyDiametricDimensionPrefix")]
public void SalTestModifyDiametricDimensionPrefix()
{
    Document gcDoc = GrxCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
    Editor gcDocEd = gcDoc.Editor;

    PromptSelectionResult gcSSPrompt = gcDocEd.GetSelection();

    if (gcSSPrompt.Status != PromptStatus.OK) return;

    SelectionSet gcSSet = gcSSPrompt.Value;

    if (gcSSet == null) return;

    Database gcCurDb = gcDoc.Database;
    using (Transaction gcTrans = gcCurDb.TransactionManager.StartTransaction())
    {
        foreach (SelectedObject gcSelectedObject in gcSSet)
        {
            if (gcSelectedObject == null) continue;

            var objectId = gcSelectedObject.ObjectId;
            var entity = gcTrans.GetObject(objectId, OpenMode.ForWrite) as Entity;

            if (entity is DiametricDimension)
            {
                var gcDiametricDimension = entity as DiametricDimension;

                gcDiametricDimension.Prefix = "PREFIX"; // 이 부분에서 의도치 않은 작동 문제 발생
            }
        }

        gcTrans.Commit();
    }
}

주석 처리된 부분에서, 선택된 지름 치수의 prefix를 변경하려 하면 실제 실행 시, suffix가 변경됩니다. 결과 화면 아래 그림 참고 바랍니다.

CAD 자체의 속성창에서 prefix를 변경하면 정상적으로 작동하나 코드로 실행할 때에만 그렇습니다.

당 문제에 대한 해결 방법 문의 드립니다.

97092dfb3464de37c82c0da762d76db6_1709250798_7536.jpg
 

스크롤 상단 이동