이번 포스팅에서는 Visual Studio 환경 설정을 설명하도록 하겠다.
1. Project 생성
2. 빌드 환경설정
보통 윈도우 64비트 환경에서 빌드되기 때문에 이를 가정하고, 환경설정을 진행한다.
3. 프로젝트 속성 설정
프로젝트에서 Library와 Link되어 컴파일하거나 디버그되어 빌드되는 과정을 진행하기 위해 다음과 같은 설정이 필요하다.
- rxapi.lib
- acdb23.lib
- accore.lib
- ac1st23.lib
4. 디버깅 설정
해당 프로젝트를 디버깅하며 오류난 곳을 수정하기 위해 디버깅 설정을 진행한다.
3-1)Command의 acad.exe파일을 통해 디버깅시 Autocad가 실행될 수 있도록 한다.
3-2)Attach Yes를 통해 프로그램 프로세스가 Autocad 프로그램과 연동될 수 있도록 한다.
3-3)Debugger Type을 Native Only로 변경한다.
4. Helloworld Test
#include "stdafx.h"
#include <tchar.h>
#include "rxregsvc.h"
#include "acutads.h"
#include "accmd.h"
#pragma comment(linker,"/EXPORT:acrxEntryPoint")
#pragma comment(linker,"/EXPORT:acrxGetApiVersion")
void myCommand()
{
acutPrintf(_T("\nHelloooo!"));
}
extern "C"
AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* appId)
{
switch (msg)
{
case AcRx::kInitAppMsg:
acrxDynamicLinker->unlockApplication(appId);
acrxRegisterAppMDIAware(appId);
//register the commands
acedRegCmds->addCommand(L"MYGROUP",
_T("MYCOMMAND"),
_T("MYCOMMAND"),
ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET,
myCommand);
acutPrintf(L"\nExample Application Loaded");
break;
case AcRx::kUnloadAppMsg:
acedRegCmds->removeGroup(L"MYGROUP");
acutPrintf(L"\nExample Application Unloaded");
break;
case AcRx::kLoadDwgMsg:
// initialize lisp functions here
break;
case AcRx::kUnloadDwgMsg:
// remove lisp functions here
break;
}
return AcRx::kRetOK;
}
프로젝트 Main문에 위와 같은 코드를 복붙해서 빌드를 진행한다. 그러면 .arx가 생성이 되고, 이를 Autocad 실행 후 Appload 명령어를 통해 Upload한다.
그렇다면 위 코드에서 MYCOMMAND 명령어가 등록되게 되며, 사용자가 MYCOMMAND 명령어를 치면, Helloooo!가 프린트된다.
※ .arx파일은 빌드 후 Visual Studio 하단에서 경로를 확인할 수 있다.
'코딩을 통한 기구설계' 카테고리의 다른 글
Autocad ObjectARX 환경설정(1) (0) | 2020.10.11 |
---|---|
Creo Toolkit(DLL모드)를 위한 Visual Studio 환경설정 (0) | 2020.03.28 |