Administrator
Administrator
发布于 2019-01-30 / 43 阅读 / 0 评论 / 0 点赞

ARX2015中AcGs类的一些变化

这两天正在编译一个工程,正好用到了AcGs的一些类,于是知道了如下的一些事情:

ARX2015中AcGs类的一些变化:

1、替换掉了AcGsClassFactory 类。创建它需要用另外一个函数,如下:

AcGsKernelDescriptor descriptor;

descriptor.addRequirement(AcGsKernelDescriptor::k3DDrawing);

AcGsGraphicsKernel *pGraphicsKernel = AcGsManager acquireGraphicsKernel(descriptor);

<AcGsDevice *offDevice = pGraphicsKernel->createOffScreenDevice();

2、AcGsManager的一些函数也相应地发生了变化:

譬如getGSClassFactory不再存在,已经被上面所说的替代。

createAutoCADDevice函数现在有两个参数,

createAutoCADDevice(AcGsGraphicsKernel &amp, HWND hWnd)

第一个参数就是上面提到的AcGsGraphicsKernel类。

新增函数在帮助中已经说明。

3、>RenderMode 被废弃,改用visual style

以前的AcGsView的setMode 函数应该用 setVisualStyle

AcGsView *mpView;

...

mpView->setVisualStyle(AcGiVisualStyle::k2DWireframe);

//mpView-&gt;setMode(AcGsView::kWireframe);   不对!

AcGiCisualStyle提供了32种显示方式,远远超出以前的显示模式的数量。具体用法请参考其相应的include文件。

4、编译中的错误纠正:

error LNK2001: unresolved external symbol "__declspec(dllimport) public: static class AcGsGraphicsKernel * __cdecl AcGsManager::acquireGraphicsKernel

当出现这个错误的时候,请在库的依赖项中添加:AcDrawBridge.lib即可。

可参考如下链接:http://adndevblog.typepad.com/autocad/2014/04/graphic-changes-in-autocad-2015.html


评论