대화 상자 제어 언어
Dialog Control LanguageDCL(Dialog Control Language)은 간단한 그래픽 대화 상자를 만들기 위한 AutoCAD 내의 고급 설명 언어 및 통역기이다.AutoLISP 확장은 이를 사용하여 AutoCAD 환경에서 사용자와 상호 작용한다.
특징 및 사용법
다른 주요 GUI API와 달리 DCL은 애플리케이션 프로그래밍을 위한 완전한 GUI 툴킷이 아니다.AutoCAD 내에서 간단한 대화만 제공하기 위한 것이다.텍스트 상자, 단추, 확인란, 목록 상자 등의 기본 양식 위젯이 포함되어 있다.DCL은 객체 지향적이며, 상속과 구성을 통해 재사용이 가능하다.
DCL 구문은 '타일'의 정의와 사용에 기초한다.'tile'은 텍스트 상자 또는 텍스트 레이블과 같은 GUI 위젯을 나타낸다.타일은 또한 열, 라디오 버튼 그룹 및 대화 상자 자체와 같은 다른 위젯을 포함하는 위젯을 나타낸다.DCL은 모든 주요 위젯에 내장 타일을 제공하며, 다른 타일의 상속과 구성을 통해 새로운 타일을 정의할 수 있다.
DCL은 Lisp 코드로 런타임에 대화 상자와의 상호작용을 허용한다.특정 위젯은 실행할 AutoLISP 함수와 전달할 값을 지정하여 관련 작업을 수행할 수 있다.다른 유형의 GUI와 달리 DCL 대화 상자는 런타임에 실질적으로 변경될 수 없다.텍스트 상자, 목록 상자 등 특정 위젯의 내용은 변경할 수 있지만, 위젯은 대화상자에서 제거하거나 대화상자에 추가할 수 없다.
예
다음은 DCL의 주요 기능을 보여주는 DCL 파일(및 함께 제공되는 AutoLISP 파일)의 예다.
name_button : 버튼 { label = "Submit name", 동작 = "(chang-name)", } hello : { label = "DCL 예", : edit_box { label = "이름", } : name_button { key = "submit-name", } : 문자 {key = "geting", }대화 상자는 내장된 타일 '대화상자'에서 이어받아 생성된다.속성은 대화상자와 다른 위젯에서 이름/값 쌍으로 설정된다.타일 이름을 지정하거나 이름을 지정하고 추가 속성을 지정하여 대화 상자 내부에 타일을 배치할 수 있다.새 타일('name_button')은 이름을 지정하고 속성을 지정하여 사용할 수 있도록 정의된다.
; DCL은 "hello.dcl"로 저장됨 (반기를 들다 이름을 바꾸다 () (set_set "greeting" (발가벗기다 "안녕, " (get_beats "이름") "!"))) (setq. 헬로드클 (load_message "Hello.dcl")) (new_new "안녕" 헬로드클) (start_lights) (언로드_미리더 헬로드클) DCL 대화 상자는 AutoLisp 파일에서 일련의 기능을 호출하여 인스턴스화된다.타일은 특정 이벤트에서 AutoLISP 코드를 다시 호출할 수 있으며, 리스프는 대화 상자가 실행되는 동안 타일의 내용을 조작할 수 있다.
대체 기술
CAD 내에서 더 많은 일반 GUI 및 기타 확장을 만들기 위해 AutoDesk는 몇 가지 다른 옵션을 제공한다.오브젝트C++용 ARX API는 마이크로소프트 Visual Studio 내에서처럼 확장이 가능하도록 한다.VBA는 Microsoft Office 및 기타 애플리케이션과 마찬가지로 AutoCAD에 드래그 앤 드롭 프로그래밍을 허용한다.
AutoCAD 2007 이상 버전에서 AutoLISP 또는 Visual-LISP 프로그램은 Visual Studio 에 작성된 루틴을 호출할 수 있다.NET(VB 또는 C#).이제 프로그래머는 에서 찾을 수 있는 전체 범위의 컨트롤을 가진 VB 또는 C#에서 대화 상자를 만들 수 있다.NET Forms API, Visual-LISP에서 호출 및 액세스할 수 있음.