?? acrxentrypoint.cpp
字號:
// (C) Copyright 1990-2002 by Autodesk, Inc.
//
// Permission to use, copy, modify, and distribute this software in
// object code form for any purpose and without fee is hereby granted,
// provided that the above copyright notice appears in all copies and
// that both that copyright notice and the limited warranty and
// restricted rights notice below appear in all supporting
// documentation.
//
// AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
// AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC.
// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
// UNINTERRUPTED OR ERROR FREE.
//
// Use, duplication, or disclosure by the U.S. Government is subject to
// restrictions set forth in FAR 52.227-19 (Commercial Computer
// Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
// (Rights in Technical Data and Computer Software), as applicable.
//
//-----------------------------------------------------------------------------
//----- acrxEntryPoint.h
//-----------------------------------------------------------------------------
#include "StdAfx.h"
#include "TransUtil.h"
//-----------------------------------------------------------------------------
#define szRDS _RXST("Drv")
//-----------------------------------------------------------------------------
//----- ObjectARX EntryPoint
class CDrvApp : public AcRxArxApp {
public:
CDrvApp () : AcRxArxApp () {}
virtual AcRx::AppRetCode On_kInitAppMsg (void *pkt) {
AcRx::AppRetCode retCode =AcRxArxApp::On_kInitAppMsg (pkt) ;
// TODO: Add your initialization code here
return (retCode) ;
}
virtual AcRx::AppRetCode On_kUnloadAppMsg (void *pkt) {
AcRx::AppRetCode retCode =AcRxArxApp::On_kUnloadAppMsg (pkt) ;
// TODO: Add your code here
return (retCode) ;
}
virtual void RegisterServerComponents () {
}
//多次拷貝
// ----- Drv._MulCopy command (do not rename)
static void Drv_MulCopy(void)
{
// Add your code for command Drv._MulCopy here
//選擇要復制的實體
ads_name sset;
// 選擇圖形數據庫中所有的實體
if (acedSSGet(NULL, NULL, NULL, NULL, sset)!=RTNORM)
{
acedAlert("無選擇對象!");
return;
}
// 選取復制時的基點
ads_point adsFrom, adsTo;
AcGePoint3d ptFrom, ptTo;
if (acedGetPoint(NULL, "\n輸入復制基點:", adsFrom) != RTNORM)
{
acedAlert("未選擇復制基點!");
return;
}
ptFrom=asPnt3d(adsFrom);
while (acedGetPoint(NULL, "\n輸入目的點:", adsTo) == RTNORM)
{
ptTo=asPnt3d(adsTo);
long length;
acedSSLength(sset, &length);
for (int i = 0; i < length; i++)
{
// 獲得指定元素的ObjectId
ads_name ent;
acedSSName(sset, i, ent);
AcDbObjectId objId;
acdbGetObjectId(objId, ent);
// 復制當前實體
CTransUtil::Copy(objId, ptFrom, ptTo);
}
}
acedSSFree(sset);
}
} ;
//-----------------------------------------------------------------------------
IMPLEMENT_ARX_ENTRYPOINT(CDrvApp)
ACED_ARXCOMMAND_ENTRY_AUTO(CDrvApp, Drv, _MulCopy, MulCopy, ACRX_CMD_MODAL, NULL)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -