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

📄 cmdutilities.h

📁 能在MDT5/6环境下对已经存在地曲面进行全部和局部区域展开
💻 H
字号:
#ifndef CMD_UTILITIES_H
#define CMD_UTILITIES_H

#include "TypeDef.h"

#ifdef _DBXEXP_
#define DLLIMPEXP __declspec(dllexport)
#else
#define DLLIMPEXP 
#endif

//////////////////////////////////////////////////////////////////////////
//
// 与调用Autodesk系统命令相关的函数 AcEd
//
// Note:
//
//////////////////////////////////////////////////////////////////////////


#ifdef AMI_H // 当使用MCAD API时使用

/*
 *	Purpose:
 *		获取ss(selection set)从geomkeys,要使用acedSSFree(ss)释放空间.
 *	Argument:
 *		Keys	[in], 生成的几何实体keys.
 *		ss		[out], 生成ss.
 *	Return:
 *		Ami::eOk if success.
 */
extern DLLIMPEXP AmiStatus 
getSSFromGeomKeys(AmiGeomKeyArray &keys,ads_name &ss);


/*
 *	Purpose:
 *		create a loft uv surface entity in database, by call acedCmd
 *		(_amloftuv), it's caller's responsibility to release the space
 *		of pSurfKey by release().
 *	Argument:
 *		uCrvkey		[in], u direction curves key array
 *		vCrvkey		[in], v direction curves key array
 *		pSurfkey	[out], returned surface key
 *	Return:
 *		Ami::eOk if success.
 */
extern DLLIMPEXP AmiStatus 
createLoftUVSurface(AmiGeomKeyArray& uCrvkey, 
					AmiGeomKeyArray& vCrvkey, 
					AmiGeomKey*& pSurfkey);



/*
 *	Purpose:
 *		create a loft u surface entity in database, by call acedCmd
 *		(_amloftu), it's caller's responsibility to release the space
 *		of pSurfKey by release().
 *	Argument:
 *		keys		[in], u direction curves key array
 *		pSurfkey	[out], returned surface key
 *	Return:
 *		Ami::eOk if success.
 */
extern DLLIMPEXP AmiStatus 
createLoftUSurface(AmiGeomKeyArray& keys, AmiGeomKey*& pSurfkey);


#endif // AMI_H


/*
 *	Purpose:
 *		get the ss (selection set) from AcDbObjectId array.
 *	Argument:
 *		ids		[in], AcDbObjectId Array.
 *		ss		[out], returned ss.
 *	Return:
 *		Returns eOk if sucess.
 */
extern DLLIMPEXP Acad::ErrorStatus 
getSSFromDbIds(const AcDbObjectIdArray& ids,ads_name &ss);



/*
 *	Purpose:
 *		create a loft uv surface entity in database, by call acedCmd
 *		(_amloftuv).
 *	Argument:
 *		uids		[in], u direction curves DbId array
 *		vids		[in], v direction curves DbId array
 *	Return:
 *		surface Id if success, NULL otherwise.
 */
extern DLLIMPEXP AcDbObjectId 
createLoftUVSurface(const AcDbObjectIdArray& uids, 
					const AcDbObjectIdArray& vids);


/*
 *	Purpose:
 *		create a loft u surface entity in database, by call acedCmd
 *		(_amloftu).
 *	Argument:
 *		ids		[in], u direction curves DbId array
 *	Return:
 *		surface Id if success, NULL otherwise.
 */
extern DLLIMPEXP AcDbObjectId 
createLoftUSurface(const AcDbObjectIdArray& ids);


/*
 *	Purpose:
 *		create a plane entity in database by call command "_amplane"
 *		the class name of plane is "AcAsSurface".
 *	Argument:
 *		ids		[in], curve entity AcDbObjectId.
 *	Return:
 *		plane entity AcDbObjectIdArray, NULL if failure.
 */
extern DLLIMPEXP AcDbObjectIdArray 
createPlane(const AcDbObjectIdArray& ids);


/*
 *	Purpose:
 *		打印resbuf内容
 *	Argument:
 *		pRb		[in], resbuf指针.
 */
extern DLLIMPEXP void
printList(struct resbuf* pRb);


/*
 *	Purpose:
 *		create a region in database, by call acedCmd
 *		(-boundary).
 *	Argument:
 *		loop		[in], loop
 *		ptInLoop	[in], point in loop
 *	Return:
 *		 Id if success, NULL otherwise.
 */
extern DLLIMPEXP AcDbObjectId 
createRegionFromLoop(const ChGeLoop2d& loop, const AcGePoint2d& ptInLoop);


#endif // CMD_UTILITIES_H

⌨️ 快捷键说明

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