Arx 新建布局(Creating new Paperspace)

bool AddPaperLayout( AcDbObjectId& idLay,LPCTSTR lpszLayName ,LPCTSTR lpszMediaName/* = _T("A3")*/)
{
	AfxIsValidString(lpszLayName);
	AfxIsValidString(lpszMediaName);

	const ACHAR* LayoutName = lpszLayName;

	Acad::ErrorStatus es;  

	AcApLayoutManager* pLayoutMng = (AcApLayoutManager*)acdbHostApplicationServices()->layoutManager();  

	AcDbLayout* pNewLayout = pLayoutMng->findLayoutNamed(LayoutName);  

	if(pNewLayout)  
	{  
		return true;  
	}  

	AcDbObjectId blockTableRecId;  
	pLayoutMng->setCreateViewports(Adesk::kTrue);
	es = pLayoutMng->createLayout(LayoutName, idLay, blockTableRecId); 
	if (eOk != es)
	{
		return false;
	}

	pNewLayout = pLayoutMng->findLayoutNamed(LayoutName, true);

	AcDbPlotSettingsValidator *pPltValid = NULL;
	pPltValid = acdbHostApplicationServices()->plotSettingsValidator();
	pPltValid->refreshLists(pNewLayout);

	const ACHAR* mediaName = lpszMediaName;
	pPltValid->setCanonicalMediaName(pNewLayout,mediaName);//设置图纸尺寸
	pPltValid->setPlotRotation(pNewLayout,AcDbPlotSettings::k90degrees);

	pNewLayout->close();

	es = pLayoutMng->setCurrentLayoutId(idLay);

	pLayoutMng->updateCurrentPaper(Adesk::kTrue);

	pLayoutMng->updateLayoutTabs(); 

	return true;
}


更多操作可查看http://forums.autodesk.com/t5/Autodesk-ObjectARX/Creating-new-Paperspace-with-Rotated-Viewport/td-p/3285119

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值