⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arxmain.cpp

📁 这是树上的代码
💻 CPP
字号:
/* ArxMain.cpp - Interface file of ObjectARX */

#include "AcDbEquiTriangleJig.h"
#include <aced.h>
#include <rxregsvc.h>
#include <dbapserv.h>		// for acdbHostApplicationServices macro
#include <dbsymtb.h>		// for AcDbBlockTable class
#include <geassign.h>		// for asDblArray
#include <adslib.h>

#include <string.h>			// test

void createTriangle(void)
{
	AcDbEquiTriangleJig* pEquiTriangleJig = new AcDbEquiTriangleJig;
	pEquiTriangleJig->setDispPrompt("开始画正三角形...\n左下角点: ");
	// 获取两个角点
	pEquiTriangleJig->setFlag(0);	// 更改输入标志
	if(pEquiTriangleJig->drag() != AcEdJig::kNormal)
	{
		delete pEquiTriangleJig;
		return;
	}
	pEquiTriangleJig->setDispPrompt("\n右下角点: ");
	pEquiTriangleJig->setFlag(1);		// 更改输入标志
	if(pEquiTriangleJig->drag() != AcEdJig::kNormal)
	{
		delete pEquiTriangleJig;
		return;
	}
	// 将实体添加到数据库中
	pEquiTriangleJig->append();
	delete pEquiTriangleJig;	
	return;
}

void initApp()
{
	/* 向AutoCAD注册一个定制的命令 */
	acedRegCmds->addCommand("ASDK_LLH_COMMANDS", "ADSK_LLH_COMMANDS_TRIANGLE",
		"ADSK_TRIANGLE", ACRX_CMD_MODAL, createTriangle);

    // 注意:派生类需要进行初始化
	AcDbEquiTriangle::rxInit();
	acrxBuildClassHierarchy();	

	return;
}

void unloadApp()
{
    acedRegCmds->removeGroup("ASDK_LLH_COMMANDS");
	return;
}

extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)
{
    switch (msg) {
    case AcRx::kInitAppMsg:
        acrxDynamicLinker->unlockApplication(pkt); //允许应用程序能够卸载
        acrxRegisterAppMDIAware(pkt);
		initApp();					//初始化应用程序
        break;
    case AcRx::kUnloadAppMsg:
        unloadApp();				//应用程序退出前进行必要的清理
        break;
    case AcRx::kLoadDwgMsg:        
        break;
    }

    return AcRx::kRetOK;
}

//

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -