매크로에서 DIESEL 표현식을 사용하여 AutoLISP에 응답 정보

AutoLISP 또는 ObjectARX로 정의된 명령에 응답하는 방식으로 DIESEL 문자열 표현식을 사용할 수 있습니다.

DIESEL 표현식은 표준 명령, AutoLISP, ObjectARX ® 루틴 및 기타 매크로에 대한 응답으로 사용할 수 있는 문자열 값(문자열)을 반환합니다.

주: AutoCAD LT for Mac OS에서는 AutoLISP를 사용할 수 없으며 ObjectARX는 AutoCAD LT에서 사용할 수 없습니다.

DIESEL 표현식에서 반환된 값이 문자열이기 때문에 AutoLISP getXXX 또는 ObjectARX acetGetXXX 함수 호출에 대한 응답에 사용할 수 있습니다. 이 기능을 사용하면 메뉴 항목이 현재 도면 조건을 평가하고 AutoLISP 또는 ObjectARX 루틴으로 값을 반환합니다.

다음 샘플 AutoLISP 루틴을 로드하고 실행하면 기호 이름과 크기 그리고 도면 내 위치를 묻는 프롬프트가 표시됩니다.

(defun C:SYMIN()
  (setq sym 
    (getstring 
      "\nEnter symbol name: ")      ; Prompts for a symbol name
  )

  (setq 
    siz (getreal 
          "\nSelect symbol size: ") ; Prompts for a symbol size

    p1 (getpoint 
          "\nInsertion point: ")    ; Prompts for insertion point
  )

  (command "._insert"               ; Issues the INSERT command
           sym                      ; using the desired symbol
           p1 siz siz 0)            ; insertion point, and size

 (princ)                            ; Exits quietly 
)
주: 정기적으로 사용하는 AutoLISP 루틴에는 사용자 입력의 유효성을 검사하는 오류 확인 기능이 포함되어야 합니다.

이전 예제가 실행되는 동안 프롬프트에 대한 응답으로 DIESEL 표현식을 실행하는 사용자 인터페이스 요소를 클릭할 수 있습니다. 예를 들어, $M=$(*,$(getvar,dimscale),0.375) 표현식을 통해 현재 DIMSCALE의 3/8인 축척 비율을 사용할 수 있습니다.

이 작업은 유사한 AutoLISP 코드로 수행할 수 없습니다. AutoLISP 표현식에서 반환한 값은 일반적으로 getXXX 함수 호출(예: 앞 샘플에서의 getreal 함수)에 대한 응답으로 사용됩니다.