비밀번호를 잊으셨나요?

비밀번호를 잊으셨나요? 비밀번호를 재설정하려면 이메일 주소를 입력해주세요.

계정이 있나요? 로그인

You must login to ask a question.

비밀번호를 잊으셨나요?

아직 계정이 없으신가요? 회원가입 하기

해당 질문을 신고하는 이유를 간단히 입력해주세요.

해당 답변을 신고하는 이유를 간단히 입력해주세요.

해당 유저를 신고하는 이유를 간단히 입력해주세요.

로그인회원가입

고캐드 – 캐드(CAD) 정보의 중심

고캐드 – 캐드(CAD) 정보의 중심 Logo 고캐드 – 캐드(CAD) 정보의 중심 Logo

고캐드 – 캐드(CAD) 정보의 중심 Navigation

  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
검색
질문하기

Mobile menu

닫기
질문하기
  • 홈
  • 카테고리
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 투표
  • 커뮤니티 그룹
  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
홈/ 질문/Q 113296
다음
진행 중
Lv.0
등록일: 2021-08-252021-08-25T15:24:27+09:00 2021-08-25T15:24:27+09:00카테고리: AutoCAD & CADian

리습관련 함수를 정의하는 방법을 알려주세요.

안녕하세요 리습을 공부하고 있습니다.
https://autolisp-exchange.com/Tutorials/MyDialogs.htm
위 사이트 예제중에 MyPopupLists를 해 보고 있는데 
다음과 같은 에러가 뜹니다.
MyPopupLists; 오류: no function definition: SET_TILE_LIST
원인이 뭘까요 고수님의 조언 부탁드립니다.
감사합니다.^^
//———————————————————————————————————
// MyPopupLists
//———————————————————————————————————
MyPopupLists : dialog {
  key = “Title”;
  label = “”;//Title$ from lsp file
  initial_focus = “List1”;
  spacer;
  : row {//<
    fixed_width = true;
    : column {
      width = 24.76;
      fixed_width = true;
      spacer;
      : text {
        key = “Text1”;
        label = “”;//Text1$ from lsp file
      }
    }
    : popup_list {
      key = “List1”;//Value1$ from lsp file
      width = 11.42;
      fixed_width = true;
    }
  }//>
  : row {//<
    fixed_width = true;
    : column {
      width = 24.76;
      fixed_width = true;
      spacer;
      : text {
        key = “Text2”;
        label = “”;//Text2$ from lsp file
      }
    }
    : popup_list {
      key = “List2”;//Value2$ from lsp file
      width = 11.42;
      fixed_width = true;
    }
  }//>
  spacer;
  ok_only;
}//MyPopupLists
;———————————————————————————————————-
; c:MyPopupLists – Dialog to select choices from popup lists
; Syntax: MyPopupLists
;———————————————————————————————————-
(defun c:MyPopupLists (/ Dcl_Id% List1@ List2@ Return# Value1$ Value2$)
  (princ “nMyPopupLists”)(princ)
  ; Set Default Variables 
  (if (not *MyPopupLists@);Unique global variable name to store dialog info
    (setq *MyPopupLists@ (list nil “” “”))
  );if
  (setq Value1$ (nth 1 *MyPopupLists@)
        Value2$ (nth 2 *MyPopupLists@)
        List1@ (list “” “Red” “Orange” “Yellow” “Green” “Cyan” “Blue” “Magenta”)
        List2@ (list “” “0” “1” “2” “3” “4” “5” “6” “7” “8” “9”)
  );setq
  ; Load Dialog
  (setq Dcl_Id% (load_dialog “MyPopupLists.dcl”))
  (new_dialog “MyPopupLists” Dcl_Id%)
  ; Set Dialog Initial Settings 
  (set_tile “Title” ” My Popup Lists”)
  (set_tile “Text1” “My Favorite Color”)
  (set_tile_list “List1” List1@ Value1$);*Included 
  (set_tile “Text2” “My Favorite Number”)
  (set_tile_list “List2” List2@ Value2$);*Included 
  ; Dialog Actions 
  (action_tile “List1” “(set_list_value ”List1@” ”Value1$”)”);*Included 
  (action_tile “List2” “(set_list_value ”List2@” ”Value2$”)”);*Included 
  (setq Return# (start_dialog))
  ; Unload Dialog
  (unload_dialog Dcl_Id%)
  (setq *MyPopupLists@ (list nil Value1$ Value2$))
  (princ)
);defun c:MyPopupLists
  • 0
  • 6 6 답변
  • 11 조회
공유
  • Facebook

    관련 있는 질문들

    • 오토캐드 2016 맞춤법 검사기 끄는 방법 아시나요
    • 캐드에서 여러도면을 한번에 배치출력 할 수 있는 방법이 있나요
    • step파일, iges 파일을 열어서 볼 수 있는 방법이 있을까요?
    • 캐디안으로 도면을 열때 한글이 ???로 표시되는 문제

    6 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. [Deleted User]
      2021-08-27T14:01:48+09:00답변 등록 답변 등록 일시 2021-08-27 2:01 pm

      올려주신 리습이 에러없이 정상적으로 작동을 합니다.

      기존 예제 리습과 비교하면 뭐가 문제인지 공부 중 입니다.
      너무나도 큰 도움이 되었습니다.
      정말 감사합니다. ^^
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    3. 수야12 Lv.21
      2021-08-27T08:16:28+09:00답변 등록 답변 등록 일시 2021-08-27 8:16 am
      ;———————————————————————————————————-
      ; c:MyPopupLists – Dialog to select choices from popup lists
      ; Syntax: MyPopupLists
      ;———————————————————————————————————-
      (defun c:ff (/ Dcl_Id% List1@ List2@ Return# Value1$ Value2$ L1 L2)
        (princ “nMyPopupLists”)(princ)
        ; Set Default Variables 
        (if (not *MyPopupLists@);Unique global variable name to store dialog info
          (setq *MyPopupLists@ (list nil “” “”))
        );if
        (setq Value1$ (nth 1 *MyPopupLists@)
              Value2$ (nth 2 *MyPopupLists@)
              List1@ (list “” “Red” “Orange” “Yellow” “Green” “Cyan” “Blue” “Magenta”)
              List2@ (list “” “0” “1” “2” “3” “4” “5” “6” “7” “8” “9”)
        );setq
        ; Load Dialog
        (setq Dcl_Id% (load_dialog “MyPopupLists.dcl”))
        (new_dialog “MyPopupLists” Dcl_Id%)
        ; Set Dialog Initial Settings 
        (set_tile “Title” ” My Popup Lists”)
        (set_tile “Text1” “My Favorite Color”)
        
        (start_list “List1”)
        (mapcar ‘add_list List1@)
        (end_list)
       (set_tile “List1” “0”)
        (set_tile “Text2” “My Favorite Number”)
        (start_list “List2”)
        (mapcar ‘add_list List2@)
        (end_list)
        (set_tile “List2” “0”)
        ; Dialog Actions 
        (action_tile “List1” “(setq L1(nth(atoi $value)List1@))”);*Included 
        (action_tile “List2” “(setq L2(nth(atoi $Value)List2@))”);*Included 
        (setq Return# (start_dialog))
        ; Unload Dialog
        (unload_dialog Dcl_Id%)
        
         (alert
           (strcat
      “당신은 DCL창을 통해”
      “n색상 “(if(= L1 nil)”선택안했으며” (strcat L1 “를 선택 했습니다”))
                  “n번호 “(if(= L2 nil)”선택안했습니다” (strcat L2 “를 선택 했습니다”))
            )
        )
         
        (princ)
      );defun c:MyPopupLists
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    4. [Deleted User]
      2021-08-27T01:08:48+09:00답변 등록 답변 등록 일시 2021-08-27 1:08 am

      제가 초짜이고 공부중이다보니 수정된 데이터를 올려 주시면 정말 감사하겠습니다.

      이왕이면 다이얼로그 박스에서 ok를 눌렸을때 메세지 박스로 선택한 내용을 표시까지 
      가능하다면 공부에 엄청 도움이 될거 같습니다. 정말 감사합니다. ^^
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    5. 수야12 Lv.21
      2021-08-26T07:26:03+09:00답변 등록 답변 등록 일시 2021-08-26 7:26 am

      제 게시글 앞부분에 

      SET_TILE_LIST
      SET_LIST_VALUE
      두 함수가 강의자가 만든 함수 인데 포함 돼있지 않았다고 말씀 드렸는데요 ㅎㅎ;;
      이 DCL자체가 딱히 어떤 기능을 하는게 아니라 창만 띄어 볼 수 있도록 제가 수정 한겁니다 
      결과값도 보시고 싶으시면  수정 파일 올려 드릴까요? (구지 그럴필요는 없는 파일이라…)


      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    6. [Deleted User]
      2021-08-26T03:00:21+09:00답변 등록 답변 등록 일시 2021-08-26 3:00 am

      제 글에 관심 가져 주셔서 감사합니다.

      수정해 주신 리습을 실행해 보니 다이얼로그 박스는 실행이 되는데요 
      그중 하나를 선택하니 
      MyPopupLists; 오류: no function definition: SET_LIST_VALUE
      이렇게 또 오류가 뜨는군요 
      혹시 이것도 이유를 알 수가 있을까요?
      감사합니다.
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    7. 수야12 Lv.21
      2021-08-25T22:11:08+09:00답변 등록 답변 등록 일시 2021-08-25 10:11 pm

      강의 사이트에서 만든 함수같습니다 2개의 함수가 정식함수가 아니군요 

      SET_TILE_LIST
      set_list_value
      이 두함수가 정식 함수가 아닙니다  강의자가 임의로 만든 개인 함수 같습니다 
      강의 자료를 잘못 다운 받으셨던가 아니면 작성자가 잊어버리고 누락했던가 둘중에 하나네요 

      ;———————————————————————————————————-
      ; c:MyPopupLists – Dialog to select choices from popup lists
      ; Syntax: MyPopupLists
      ;———————————————————————————————————-
      (defun c:ff (/ Dcl_Id% List1@ List2@ Return# Value1$ Value2$)
        (princ “nMyPopupLists”)(princ)
        ; Set Default Variables 
        (if (not *MyPopupLists@);Unique global variable name to store dialog info
          (setq *MyPopupLists@ (list nil “” “”))
        );if
        (setq Value1$ (nth 1 *MyPopupLists@)
              Value2$ (nth 2 *MyPopupLists@)
              List1@ (list “” “Red” “Orange” “Yellow” “Green” “Cyan” “Blue” “Magenta”)
              List2@ (list “” “0” “1” “2” “3” “4” “5” “6” “7” “8” “9”)
        );setq
        ; Load Dialog
        (setq Dcl_Id% (load_dialog “MyPopupLists.dcl”))
        (new_dialog “MyPopupLists” Dcl_Id%)
        ; Set Dialog Initial Settings 
        (set_tile “Title” ” My Popup Lists”)
        (set_tile “Text1” “My Favorite Color”)
        
        (start_list “List1”)
        (mapcar ‘add_list List1@)
        (end_list)
        (set_tile “Text2” “My Favorite Number”)
        (start_list “List2”)
        (mapcar ‘add_list List2@)
        ; Dialog Actions 
        (action_tile “List1” “(set_list_value ”List1@” ”Value1$”)”);*Included 
        (action_tile “List2” “(set_list_value ”List2@” ”Value2$”)”);*Included 
        (setq Return# (start_dialog))
        ; Unload Dialog
        (unload_dialog Dcl_Id%)
        (setq *MyPopupLists@ (list nil Value1$ Value2$))
        (princ)
      );defun c:MyPopupLists




      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    이화캐드
    이화캐드Lv.0
    등록일: 2014-09-052014-09-05T09:44:25+09:00 2014-09-05T09:44:25+09:00카테고리: AutoCAD & CADian

    리습관련 함수를 정의하는 방법을 알려주세요.

    안녕하세요.
    표면적을 구하는 리습인데요.
    제가 실행을 하면
    no function definition : getsurfacearea2
    이렇게 뜹니다.

    도금구간을 구할 때 유용하게 사용되는 리습인데요. 실행이 안됩니다.

    이 리습이 월래 AutoCAD2013Mechanical 에서 사용하던 리습입니다.

    제가 함 사용을 해볼려구 autocad2013 버전에 실행을 해봣는데요..

    안되네요.

    (defun dan_cal1()
    (Setq dArea (GetSurfaceArea2))
    (if dArea
    (progn
    (setq text_point (getpoint “n 삽입 기준점: “))
    ;;(setq text_point1 ‘(330.0 65.0 0.0))
    (initGet 7)
    ;;(setq dia_size (getstring “nDIA&CBN SIZE 입력 : “))
    (command “text” text_point “3” “0” (STRCAT “표면적 : ” (rtos dArea 2 1) ” mm^2″))
    ;;(command “text” text_point1 “3” “0” (STRCAT “# : ” DIA_SIZE))
    (princ)
    );end of progn
    );end of if
    )

    이렇게 되어있습니다.
    해결방안 부탁드려요..
    함수 정의 하는 방법을 알려주세요.

    • 0
    • 1 1 답변
    • 0 조회
    공유
    • Facebook

      관련 있는 질문들

      • 오토캐드 2016 맞춤법 검사기 끄는 방법 아시나요
      • 캐드에서 여러도면을 한번에 배치출력 할 수 있는 방법이 있나요
      • step파일, iges 파일을 열어서 볼 수 있는 방법이 있을까요?
      • 캐디안으로 도면을 열때 한글이 ???로 표시되는 문제

      1 답변

      • 작성 순
      • 최신 순
      • 공감 순
      1. 수야12 Lv.21
        2014-09-14T08:24:22+09:00답변 등록 답변 등록 일시 2014-09-14 8:24 am
        사무실에서 사용하는 리습이 이런경우가 많죠 (개인이 개인의 용도로 만든경우는 거의 모든 함수를 
        한파일에 넣어 놓는데.. 사무실에서 사용하는경우는 여러 리습에서 같이 사용하도록 폴더단위로 관리하니 다른곳에 복사해서 사용하려고 하거나 하면 이런식으로 파일이 모자랄 경우가 생깁니다..)
         

        (GetSurfaceArea2)<== 이함수는 개인이 만든 함수입니다  그러므로  이함수가 캐드에 로딩이 돼있어야 하겠죠..  단축키(2008기준) AP로 찾아서 로딩 하세요 

        또는 (GetSurfaceArea2) 함수 내용을 위 파일과 합치시던가요..
        합치는 방법은 간단합니다  메모장으로  두 파일을 다 열어서 (GetSurfaceArea2)내용을 
        저 위의 파일 밑에 복사 붙혀넣기 하시면 됩니다.. 안되면 두파일 다 올리시면 합쳐드릴께요 ^^;

        파일 찾는법은 아시죠?? 기존에 이상없이 사용하던 컴퓨터 리습 폴더에서 찾으시면 됩니다.. 
        • 0
        • 공유
          공유
          • 공유 Facebook
          • 공유 Twitter

      Sidebar

      질문하기
      공지사항

      • AI CAD의 미래! 캐디안 2025 1+1 프로모션 안내 2025-05-14

      Adv 234x60

      aalan

      Adv 234x60

      aalan

      Adv 120x600

      aalan

      Explore

      • 홈
      • 카테고리
        • AutoCAD & CADian
        • Inventor & Solidworks
        • Revit & ArchiCAD
        • 자유질문
        • 기타
      • 투표
      • 커뮤니티 그룹
      aalan

      Footer

      Support

      • 회사 및 서비스 소개
      • 자주 묻는 질문
      • 문의하기

      Guide

      • 제휴/협업 안내
      • 광고 서비스 안내

      Policy

      • 서비스 이용약관
      • 개인정보 처리방침
      • 광고성 정보 수신 동의

      Contents

      • 고밍스토리
      • 리습 시리즈

      정소프트 | 사업자등록번호 : 677-40-00198 | 대표 : 정은숙 | 이메일 : gocad.manager@gmail.com
      주소 : 서울특별시 강서구 양천로 400-12, 6층 614,615,617호(등촌동, 더리브골드타워)
      Copyright. 2012-2024 GOCAD All rights reserved