홈
[다정다감]
[다정다감]소개
[다정다감]Download
[다정다감]FAQ
[다정다감]Q&A
[다정다감]매뉴얼
돌종이의 교량이야기
엔지니링 소셜코딩
프로그래밍Tips
Excel,CAD VBA강좌
SMath
[구조설계미래포럼]
포럼소개
입회안내
포럼자료실
구조설계 커뮤니티
구조설계뉴스
구조설계게시판
구조설계자료실
구조설계 업무 Tips
교량갤러리
공지사항
자유게시판
가입인사
토론방
설문방
한계상태설계게시판
토목구조기술사
토목구조기술사 소식
토목구조기술사 기출문제
토목구조기술사 통계
구조설계데이터
구조설계데이터(게시판)
구조설계데이터
OpenBIM
OpenBIM
ID:
PW:
토목엔지니어 돌종
dolljong
[다정다감] Q&A
[다정다감]에 관한 질문/답변을 올리는 곳입니다.
Q. AUTOLOAD가 안됩니다.
이석종
2020-02-21 06:47:19, 조회 :
6,064
, 추천 :
1280
-
Download #1
:
acad.lsp (3.9 KB)
, Download : 511
Q. [DJDG] 메뉴를 로드하면 이런 에러가 발생합니다.
; error: no function definition: AUTOLOAD
무가 문제인가요?
A. autoload함수가 작동 안한고 있는 것입니다. 첨부한 acad.lsp파일을 support방에 복사해 넣으세요.
[DJDG]은 autoload함수를 이용합니다.
이 함수는 acad.lsp, acad2020.lsp, acad2020doc.lsp 등 autocad가 실행될 때 자동으로 실행되는 파일에 정의되어있습니다.
만약 사용하고 계신 캐드환경에 위의 파일들이 없으면 autoload가 작동하지 않습니다.
이런 경우에는 첨부한 acad.lsp파일을 support방에 복사해 넣으시면 됩니다. 이 파일에는 (autoload함수가 정이되어 있습니다.)
만일 acad.lsp파일이 이미 존재한다면 이 파일이름을 acad<캐드버전>.lsp로 바꿔주세요.
예를 들어 캐드버전이 2016이라면 acad2016.lsp 이런 식으로요.
만일 acad2016.lsp파일도 이미 존재한다면 파일이름을 acad2016doc.lsp로 바꿔주세요.
[TIP] autoload 함수의 기능은 이렇습니다.
우리가 command상태에서 어떤 명령을 내리면 캐드는 이 명령이 등록된 명령인지 아닌지 확인한 후 실행합니다.
우선 원래 캐드명령이면 당연히 실행하겠죠. 하지만 lisp파일로 등록된 명령이라면 우선 lisp을 load해야 합니다. autoload명령은 명령을 등록하고 그 명령에 해당하는 lisp파일을 load해주는 역할을 합니다.
auto가 붙은 이유는 일단 명령만 등록해놨다가 명령이 실행될 때 load하기 때문입니다. 명령을 등록하면서 load하는 것이 아닙니다. 그렇게 load하면 메모리에 너무 많은 lisp파일들이 올라가기 때문입니다.
즉 명령이 실행될 때 lisp파일을 load하기 때문에 auto 가 붙은 것입니다.
[DJDG]작동 원리는 아래와 같습니다.
1.[DJDG]메뉴를 load하면 djdg.mnl이 실행됩니다. 이 파일은 lisp파일입니다. menu가 load될 때 자동으로 실행되는 파일이라 확장자가 mnl입니다. 아마도 menu lisp의 약자가 아닌가 싶습니다.
2. djdg.mnl파일에는 (prefix)함수가 정의되어 있습니다.
이 함수는 acad.exe파일이 존재하는 경로명을 알려줍니다.
3. (prefix)함수를 이용해서 acad가 설치된 경로 아래에서 djdg 폴더 안의 loadjdg.lsp파일을 실행시킵니다.
4. loadjdg.lsp파일에는 [DJDG]명령어들과 그 명령어가 실행되면 어떤 lisp파일을 실행시킬 것인지에 대한 정보가 들어있습니다.
5. 이제 command상태에서 [DJDG]명령을 내리면 해당 lisp파일이 load되고 실행됩니다.
6. 한번 load되면 unload되는 건 아닙니다. 한번 load되면 다시 load하지 않습니다.
추천하기
목록보기
Copyright 1999-2026
Zeroboard
/ skin by
zero
구조설계의 미래를 준비하는 모임 [구조설계미래포럼]