구성요소 요소 참조

Components 요소를 사용하여 단일 플러그인 버전을 구성하는 구성요소를 지정합니다.

두 개 이상의 Components 요소를 사용하여 플러그인의 구성요소를 식별할 수 있습니다. 각 Components 요소가 하나 이상의 구성요소를 식별할 수 있습니다. Components 요소의 플랫폼 및 제품 정보는 RuntimeRequirements 요소를 통해 정의됩니다.

Components 요소 내에 정의된 모든 구성요소가 동일한 플랫폼에 적용되는 경우 RuntimeRequirements 요소를 각 개별 ComponentEntry 요소에 추가할 필요가 없습니다.

Components 요소는 RuntimeRequirements 요소와 함께 다음 요소를 하나 이상 포함할 수 있습니다.

주: Components 요소에 RegistryEntries, SystemVariablesEnvironmentVariables 요소는 하나만 포함할 수 있지만 ComponentEntry 요소는 여러 개 포함할 수 있습니다.

다음은 Components 요소 및 여기에 포함할 수 있는 모든 요소의 기본 관계를 나타냅니다.

<Components>
  <RuntimeRequirements ... />

  <RegistryEntries>
    <RegistryEntry ... />
  </RegistryEntries>

  <SystemVariables>
    <SystemVariable ... />
  </SystemVariables>

  <EnvironmentVariables>
    <EnvironmentVariable ... />
  </EnvironmentVariables>

  <ComponentEntry ... >
    <RuntimeRequirements ... />
  </ComponentEntry>

  <ComponentEntry ... />

  <Commands ...>
    <Command ... />
  </Commands>
</Components>

ComponentEntry 요소 - AutoCAD 2013 기반 제품 이상에서 지원됨

ComponentEntry 요소는 Components 요소의 개별 구성요소에 대한 상세 정보를 지정하는 데 사용되는 필수 요소입니다.

ComponentEntry 요소는 필요한 만큼 지정할 수 있습니다. 구성요소 유형은 다음 파일 형식 중 하나일 수 있습니다.

LoadReasons 속성이 LoadOnCommandInvocation으로 설정된 경우 ComponentEntry 요소는 Commands 요소를 포함할 수 있습니다.

주: ComponentEntry 요소는 나열된 순서로 아래에서 위로 로드됩니다. 따라서 다른 구성요소가 종속된 파일은 리스트에서 더 아래쪽에 있어야 합니다. 예를 들어 ObjectARX 모듈이 ObjectDBX 모듈에 종속되는 경우에는 ObjectARX 모듈이 리스트에서 ObjectDBX 모듈 위에 표시되어야 합니다.

ComponentEntry 요소에는 다음과 같은 속성을 연결할 수 있습니다.

속성

설명

AppName

AutoLISP의 경우 선택이고 ObjectARX 및 .NET의 경우 필수입니다. 구성요소 이름으로, ObjectARX API AcadAppInfo 클래스의 AppName과 동일합니다.

AppDescription

구성요소 설명으로, ObjectARX API AcadAppInfo 클래스의 AppDescription과 동일합니다.

AppType

구성요소 유형으로, ModuleName 속성에서 제공되는 파일 확장자에서 파생된 유형을 재지정합니다.

구성요소 유형은 다음 중 하나일 수 있습니다.

  • .Net – 관리/혼합 .NET 어셈블리
  • Arx – ObjectARX
    주: 번들에서 AutoCAD for Mac으로 ARX 파일을 로드해야 합니다.
  • Atc - 도구 팔레트
  • Bundle – 번들 패키지
  • Cui 또는 CuiX – 부분적 사용자화
  • Dbx – ObjectDBX
  • Dependency – 리소스 DLL(AutoCAD 기반 제품으로 로드되지 않음)
  • JavaScript – JavaScript
  • Lisp 또는 CompiledLisp – AutoLISP/Visual LISP
  • Mnu – 메뉴 사용자화
  • VBA – VBA 프로젝트
  • Xaml – 상황별 리본 탭을 구현하는 데 사용되는 XAML 파일

ModuleName

번들 내의 구성요소 상대 경로로, ObjectARX API AcadAppInfo 클래스의 ModuleName과 동일합니다.

구성요소 유형은 파일 확장자로 결정됩니다.

  • .atc - 도구 팔레트
  • .arx – ObjectARX
  • .cuix – 부분적 사용자화
  • .dbx – ObjectDBX
  • .dll – 관리되는 .NET 어셈블리
  • .dvb – VBA 프로젝트(AutoCAD 2015 기반 제품 이상)
    주: DVB 파일을 사용하려면 VBA Enabler를 먼저 설치해야 합니다. 로드된 경우 프로젝트 및 해당 매크로에 액세스하기 전에 "매크로 사용"을 클릭해야 합니다.
  • .js – JavaScript(AutoCAD 2015 기반 제품 이상)
  • .lsp, .fas 또는 .vlx – AutoLISP/Visual LISP
  • .xaml – XAML(Extensible Application Markup Language, AutoCAD 2015 기반 제품 이상)
    주: 속성 XamlType은 "ContextualTabRule"로 설정해야 합니다.

응용프로그램에서 여러 언어를 처리하는 경우에는 ModuleName을 로케일 코드와 결합하여 특정 구성요소를 여러 가지 버전으로 지정할 수 있습니다. 지원되는 로케일 코드의 전체 리스트는 지원되는 로케일 코드 참조를 참고하십시오.

주: 모든 경로 지정자는 '₩'가 아닌 '/'이며, 경로는 루트 .bundle 폴더를 기준으로 합니다.

PerDocument

AutoLISP에만 해당 - True인 경우 AutoLISP 파일이 문서당 한 번 로드됩니다. 기본값은 True입니다.

LoadReasons

여러 값을 지정할 수 있습니다. LoadReasons가 포함된 구성요소에 대한 로드 동작 매개변수 및 LoadOnCommandInvocation 매개변수의 예외를 정의합니다.

기본적으로 LoadReasons를 지정하지 않으면 LoadOnAutoCADStartup, LoadOnAppearanceLoadOnProxy가 사용됩니다(True로 설정됨). 매개변수를 사용하지 않아야 하는 경우(False로 설정), 매개변수를 False로 설정한 상태로 LoadReasons 요소를 지정해야 합니다.

기본적으로 LoadOnCommandInvocation은 사용되지 않지만 사용되는 경우, LoadOnAutoCADStartupLoadOnAppearance는 명시적으로 사용하도록 설정하지 않는 한 사용되지 않습니다. 하나 이상의 Command 요소가 Components 요소 일부로 정의되는 경우 LoadOnCommandInvocation이 암시적으로 사용됩니다.

AcadAppInfo LoadReasons에 대한 전체 상세 정보는 ObjectARX 참조 안내서를 참고하십시오.

유효한 매개변수는 다음과 같습니다.

  • True - 매개변수가 사용하도록 설정됩니다.
  • False - 매개변수가 사용하지 않도록 설정됩니다.

다음 매개변수를 사용할 수 있습니다.

  • LoadOnCommandInvocation. 사용자 명령을 호출할 때만 로드됩니다. 이 매개변수를 사용하는 경우에는 'Commands' 요소를 포함해야 합니다. LoadOnCommandInvocation이 사용되는 경우, LoadOnAutoCADStartupLoadOnAppearance는 명시적으로 사용하도록 설정하지 않는 한 사용되지 않는 것으로 간주됩니다. AutoLISP, ObjectARX 및 .NET 모듈에만 적용됩니다.
    주: 시작 성능상의 이유로, 구성요소가 명령을 정의할 때는 이 옵션을 사용하는 것이 매우 중요합니다.
  • LoadOnAutoCADStartup. AutoCAD 기반 제품 시작 시 로드됩니다. 지정하는 경우 이 매개변수는 다른 모든 매개변수보다 우선적으로 적용됩니다. LoadOnAutoCADStartup은 적절한 다른 매개변수가 없는 경우에만 사용하고, 가능한 경우에는 항상 사용하지 않도록 설정(False로 설정)하는 것이 좋습니다. LoadOnCommandInvocation이 사용되지 않으면 LoadOnAutoCADStartup 매개변수는 생략된 경우 기본적으로 사용됩니다(True로 설정). LoadOnCommandInvocation이 사용되면 LoadOnAutoCADStartup은 기본적으로 False로 설정됩니다. ObjectARX 및 .NET 모듈에만 적용됩니다.
  • LoadOnProxy. 사용자 도면요소의 프록시가 탐지되면 로드됩니다. 이 매개변수는 명시적으로 사용하지 않도록 설정(False로 설정)하는 경우가 아니면 기본적으로 사용하도록 설정됩니다. 이 매개변수가 사용되는 경우(True로 설정) LoadOnAutoCADStartup을 사용하지 않도록 설정해야 합니다. ObjectDBX 파일에만 적용됩니다.
  • LoadOnAppearance. 제품이 ApplicationPlugins 폴더 중 하나에서 응용프로그램 번들을 탐지하여 AutoCAD 기반 제품을 다시 시작할 필요 없이 설치할 때 즉시 로드가 지원되는 경우 로드됩니다. 로드 컨텍스트가 제품을 실행 중인 동안 응용프로그램을 설치하는 경우(예: Autodesk App Store 웹 사이트를 통해 응용프로그램을 설치하는 경우)와 관련이 있다는 점을 제외하면 이 매개변수는 LoadOnAutoCADStartup과 같은 방식으로 동작합니다.

XamlType

XAML 유형입니다. 현재 유일하게 지원되는 값은 "ContextualTabRule"이고 XAML 파일이 ModuleName 속성에 지정된 경우 필요합니다. XAML 파일이 포함된 ComponentEntry 요소 뒤에 XAML 파일을 사용하는 응용프로그램 파일이 나열되어 있어야 합니다.

RegistryEntries 요소 - AutoCAD 2015 기반 제품 이상에서 지원됨

RegistryEntries 요소는 선택적 요소이며 하나 이상의 RegistryEntry 요소를 포함할 수 있습니다. RegistryEntry 요소에는 플러그인에서 작성하거나 수정해야 하는 레지스트리 항목 정의가 포함되어 있습니다. 레지스트리 항목은 Windows 레지스트리 또는 Mac OS의 속성 목록(PLIST) 파일에 저장되어 있습니다.

주: Windows에서 레지스트리 항목은 HKEY_CURRENT_USER₩Software₩Autodesk₩AutoCAD₩<릴리즈>₩ACAD-<제품>:<언어> 아래에 작성됩니다. 다른 위치에서 레지스트리 항목을 작성할 수 없습니다. Mac OS의 PLIST 파일도 동일한 위치에 작성됩니다.
RegistryEntry 요소

속성

설명

이름

작성하거나 수정할 레지스트리 항목 이름입니다.

레지스트리 항목에 지정할 값입니다.

값에는 +, -, &| 연산자 머리말 중 하나가 포함될 수 있습니다(선택 사항).

자세한 정보는 "변수 값 연산자 머리말" 섹션을 참고하십시오.

주: 레지스트리 항목에 값이 적용되는 경우 연산자 머리말은 보존되지 않습니다.

유형

레지스트리 항목에 지정할 데이터 유형입니다. 기존 레지스트리 항목을 수정하는 경우 선택 사항입니다.

유효한 값은 다음과 같습니다.

  • REG_SZ – 문자열, null로 종료됨
  • REG_EXPAND_SZ – %APPDATA%와 같이 확장되지 않는 환경 변수가 포함된 문자열, null로 종료됨
  • REG_DWORD – 32비트 부호 없는 정수
  • REG_QWORD – 64비트 부호 있는 정수

연산자 머리말이 레지스트리 항목 값의 일부로 사용된 경우 적절한 데이터 유형을 지정해야 합니다. 적절한 데이터 유형이 사용되지 않으면 이 연산은 문자열 연산으로 처리됩니다.

플래그

선택 사항인 작성 및 수정 플래그입니다. 여러 플래그를 지정할 수 있으며, 파이프 기호를 사용하여 각 플래그를 구분할 수 있습니다.

다음 플래그가 지원됩니다.

  • Create – 레지스트리 항목이 없는 경우 작성되며 기본 동작입니다.
  • Open – 레지스트리 항목이 존재하는 경우에만 플러그인이 로드될 때마다 레지스트리 항목 값이 수정됩니다.
  • OpenOnce – 레지스트리 항목이 존재하는 경우에만 플러그인이 처음으로 로드될 때 레지스트리 항목 값이 수정됩니다. 플러그인을 설치제거 및 재설치하는 경우 레지스트리 항목 값이 다시 변경될 수 있습니다.
주: Open 또는 OpenOnce 플래그는 레지스트리 항목 값을 수정하는 데 사용해야 합니다.

다음 예제에서는 레지스트리 키 MYREGKEY를 작성하고 값 STRING 및 NUMBER를 추가합니다.

<RegistryEntries>
    <RegistryEntry
        Key="MYREGKEY"
        Name="STRING"
        Value="Example"
        Type="REG_SZ"
    />

    <RegistryEntry
        Key="MYREGKEY"
        Name="NUMBER"
        Value="123"
        Type="REG_DWORD"
    />
</RegistryEntries>

SystemVariables 요소 - AutoCAD 2015 기반 제품 이상에서 지원됨

SystemVariables 요소는 선택적 요소이며 하나 이상의 SystemVariables 요소를 포함할 수 있습니다. SystemVariable 요소에는 플러그인에서 작성하거나 수정해야 하는 시스템 변수 정의가 포함되어 있습니다.

SystemVariable 요소

속성

설명

이름

작성하거나 수정할 시스템 변수 이름입니다.

변수에 지정할 값입니다.

값에는 +, -, &| 연산자 머리말 중 하나가 포함될 수 있습니다(선택 사항).

자세한 정보는 "변수 값 연산자 머리말" 섹션을 참고하십시오.

주: 변수에 값이 적용되는 경우 연산자 머리말은 보존되지 않습니다.

PrimaryType

변수에 지정할 데이터 유형입니다. 기존 시스템 변수를 수정하는 경우 선택 사항입니다.

유효한 값은 다음과 같습니다.

  • Int16 – 16비트 부호 있는 정수
  • Int32 – 32비트 정수
  • Real – 부동 또는 이중 숫자 값
  • String – 단일 또는 다중 문자 값

연산자 머리말이 변수 값의 일부로 사용된 경우 적절한 데이터 유형을 지정해야 합니다. 적절한 데이터 유형이 사용되지 않으면 이 연산은 문자열 연산으로 처리됩니다.

StorageType

유지되는 경우 변수 값의 저장 위치입니다. 기존 시스템 변수를 수정하는 경우 선택 사항입니다.

유효한 값은 다음과 같습니다.

  • Database – 변수가 작성된 도면 파일에 유지됩니다.
  • Profile – 현재 AutoCAD 프로파일의 일부로 유지됩니다.
  • Session – 세션 간에 또는 작성된 도면에 유지되지 않습니다.
  • User – AutoCAD용 FixedProfile의 일부로 유지됩니다.

소유자

선택 사항인 AcRX 서비스 이름입니다.

시스템 변수를 읽기 전용으로 만들고 acrxRegisterService()를 사용하여 서비스 이름을 등록하는 응용프로그램에 의해서만 수정할 수 있도록 할 수 있습니다.

플래그

선택 사항인 작성 및 수정 플래그입니다. 여러 플래그를 지정할 수 있으며, 파이프 기호를 사용하여 각 플래그를 구분할 수 있습니다.

다음 플래그가 지원됩니다.

  • Create – 변수가 없는 경우 작성되며 기본 동작입니다.

  • Open – 변수가 존재하는 경우에만 플러그인이 로드될 때마다 변수 값이 수정됩니다.

  • OpenOnce – 변수가 존재하는 경우에만 플러그인이 처음으로 로드될 때 변수 값이 수정됩니다. 플러그인을 설치제거 및 재설치하는 경우 변수 값이 다시 변경될 수 있습니다.

  • SpacesAllowed – 명령 프롬프트에서 스페이스바 누름을 허용합니다. 지정하지 않은 경우 스페이스바를 누르면 Enter 키를 누른 것과 동일하게 동작됩니다.

    주: PrimaryType 속성이 문자열로 설정되어 있는 경우 그리고 플래그 작성으로만 사용합니다.
  • dotisempty – 변수 값에 대해서 "."(마침표)를 입력하여 변수 값 지우기를 허용합니다.

    주: PrimaryType 속성이 문자열로 설정되어 있는 경우 그리고 플래그 작성으로만 사용합니다.
  • NoUndo – 변수에 대한 변경 사항이 기록되지 않으며 U 또는 UNDO 명령을 사용하여 명령을 취소할 수 없습니다.

    주: 플래그 작성으로만 사용합니다.
  • Chatty – 변수 값이 해당 현재 값으로 설정된 경우에도 리액터 알림을 실행합니다.

    주: 플래그 작성으로만 사용합니다.
주: Open 또는 OpenOnce 플래그는 변수 값을 수정하는 데 사용해야 합니다.

다음 예제에서는 명명된 MYVARIABLE 시스템 변수를 작성합니다.

<SystemVariable
    Name="MYVARIABLE"
    PrimaryType="String"
    StorageType="User"
    Value="Example"
    Owner=""
    Flags="Create|DotIsEmpty|SpacesAllowed"
/>

다음 예에서는 플러그인이 처음 로드되는 경우 CURSORSIZE 시스템 변수 값을 100으로 변경합니다.

<SystemVariable
    Name="CURSORSIZE"
    Value="100"
    Flags="OpenOnce"
/>

EnvironmentVariables 요소 - AutoCAD 2015 기반 제품 이상에서 지원됨

EnvironmentVariables 요소는 선택적 요소이며 하나 이상의 EnvironmentVariable 요소를 포함할 수 있습니다. EnvironmentVariable 요소에는 플러그인에서 작성하거나 수정해야 하는 환경 변수 정의가 포함되어 있습니다. 환경 변수는 Windows 레지스트리 또는 Mac OS의 속성 목록(PLIST) 파일에 저장되어 있습니다.

주: 환경 변수 값은 항상 문자열로 저장되며 환경 변수 이름은 대소문자가 구분됩니다.
EnvironmentVariable 요소

속성

설명

이름

작성하거나 수정할 환경 변수 이름입니다.

변수에 지정할 값입니다.

값에는 +, -, &| 연산자 머리말 중 하나가 포함될 수 있습니다(선택 사항).

자세한 정보는 "변수 값 연산자 머리말" 섹션을 참고하십시오.

주: 변수에 값이 적용되는 경우 연산자 머리말은 보존되지 않습니다.

유형

이 나타내는 선택 사항인 데이터 유형입니다.

유효한 값은 다음과 같습니다.

  • Int16 – 16비트 부호 있는 정수
  • Int32 – 32비트 부호 있는 정수
  • Real – 부동 또는 이중 숫자 값
  • String – 단일 또는 다중 문자 값

연산자 머리말이 변수 값의 일부로 사용된 경우 적절한 데이터 유형을 지정해야 합니다. 적절한 데이터 유형이 사용되지 않으면 이 연산은 문자열 연산으로 처리됩니다.

플래그

선택 사항인 작성 및 수정 플래그입니다. 여러 플래그를 지정할 수 있으며, 파이프 기호를 사용하여 각 플래그를 구분할 수 있습니다.

다음 플래그가 지원됩니다.

  • Create – 변수가 없는 경우 작성되며 기본 동작입니다.
  • Open – 변수가 존재하는 경우에만 플러그인이 로드될 때마다 변수 값이 수정됩니다.
  • OpenOnce – 변수가 존재하는 경우에만 플러그인이 처음으로 로드될 때 변수 값이 수정됩니다. 플러그인을 설치제거 및 재설치하는 경우 변수 값이 다시 변경될 수 있습니다.
주: Open 또는 OpenOnce 플래그는 변수 값을 수정하는 데 사용해야 합니다.

다음은 명명된 MYNUMVAR 및 MYSTRVAR 환경 변수 두 개의 작성 예제입니다.

<EnvironmentVariables>
    <EnvironmentVariable
        Name="MYNUMVAR"
        Value="123"
    />

    <EnvironmentVariable
        Name="MYSTRVAR"
        Value="Example"
    />
</EnvironmentVariables>

변수 값에 대한 연산자 머리말

연산자 머리말은 플러그인이 로드되는 경우 변수의 현재 값 수정에 사용됩니다. 다음 테이블에 나열된 연산자 머리말 중 하나를 RegistryEntry, SystemVariable 또는 EnvironmentVariable 요소의 값 속성에 추가할 수 있습니다.

머리말

설명

+(더하기 기호)

값을 기존 변수 값에 추가하거나 덧붙입니다.

Int16, Int32, Real: 을 기존 변수 값에 추가합니다.

String: 을 기존 변수 값에 덧붙입니다.

-(하이픈)

값을 기존 변수 값에서 빼거나 제거합니다.

Int16, Int32, Real: 을 기존 변수 값에서 뺍니다.

String: 을 기존 변수 값에서 제거합니다.

&(앰퍼샌드)

변수의 기존 값으로 하는 Bitwise-and 연산으로 숫자 값만 지원됩니다.

|(파이프 기호)

변수의 기존 값으로 하는 Bitwise-or 연산으로 숫자 값만 지원됩니다.

주: 변수 값이 연산자 머리말 중 하나와 시작하는 것이 지원되는 경우 연산자 앞에 백슬래시를 추가합니다. 예를 들어, 변수 값이 +radius인 경우 값을 ₩+radius로 입력합니다.

다음은 항상 객체 스냅을 실행하는 END, MID, CEN, NOD, QUA 및 INT를 사용하고 다른 모든 객체 스냅 설정을 그대로 둡니다.

<SystemVariable
    Name="OSMODE"
    Value="|63"
    Flags="Open"
/>

Commands 요소 - AutoCAD 2013 기반 제품 이상에서 지원됨

LoadReasons 속성에 대해 LoadOnCommandInvocation 매개변수를 사용하도록 설정한 경우가 아니면 Commands 요소는 선택적 요소입니다. LoadOnCommandInvocation에 대해 등록할 명령을 지정하는 데 사용됩니다.

필요한 경우 두 개 이상의 Command 요소를 지정할 수 있습니다.

Commands 요소에는 다음과 같은 속성을 연결할 수 있습니다.

속성

설명

GroupName

관련 명령을 구성하는 데 사용되는 이름입니다.

Command 요소 - AutoCAD 2013 기반 제품 이상에서 지원됨

각 명령의 전역 및 로컬 이름을 지정합니다.

Command 요소에는 다음과 같은 속성을 연결할 수 있습니다.

속성

설명

전역

전역 명령 이름입니다.

Local

로컬 명령 이름입니다.

Local을 로케일 코드와 결합하여 여러 언어에 대해 명령을 정의할 수 있습니다. 지원되는 로케일 코드의 전체 리스트는 지원되는 로케일 코드 참조를 참고하십시오.

HelpTopic

명령이 활성화되고 F1 키를 누르면 열리는 도움말 항목입니다.

주: 도움말 항목을 표시하려면 플러그인에 도움말 파일을 지정해야 합니다. 플러그인의 도움말 파일 위치는 ApplicationPackage 요소 아래에 있는 HelpFile 속성을 사용하여 지정합니다.

StartupCommand

True인 경우 명령을 실행합니다.