断断续续摸索了一个月终于算是解决了,虽然不完美,但总算达到目标。

目标:在VS2010中集成autovue控件,用于文档或图纸浏览。

1、到Oracle官网下载AutoVue20.2.1,演示版30天,安装即可。

重复安装时如果提示“不允许重新安装演示版”,请删除注册表HKEY_CLASSES_ROOT\AVDD\Data项。

2、在VS2010中,添加控件jVueAX.ocx

将控件拖入Winform时报“创建组建AxHost错误”,这是一个非常棘手的错误,眼看就要成功了,结果遇到硬骨头。

如果你使用的AutoVue19.3中的AutoVueX.ocx,就一切顺利,不足的是,AutoVue19.3看不了SolidWorks2010以后创建的图纸。

所以还得研究AutoVue20.2.1。

步骤a:打开Vs2010命令窗口

步骤b:生成key,sn -k autovue20.2.snk

步骤c:aximp "D:\Oracle\AutoVue Desktop Deployment\bin\jVueAX.ocx" /keyfile:autovue20.2.snk

步骤d:Gacutil -i AxJVueAXLib.dll

步骤e:Gacutil -i JVueAXLib.dll

步骤f:在项目中引用

3、手工创建ax

private AxJVueAXLib.AxJVueAXControl ax1;

this.ax1 = new AxJVueAXLib.AxJVueAXControl();
this.ax1.Location = new System.Drawing.Point(0, 100);
this.ax1.Dock = System.Windows.Forms.DockStyle.Fill;
((System.ComponentModel.ISupportInitialize)(this.ax1)).BeginInit();
this.Controls.Add(this.ax1);
((System.ComponentModel.ISupportInitialize)(this.ax1)).EndInit();

4、初始化ax1.initActiveX();

5、设置图纸文件路径

ax1.setFile("upload://" + filename);
//ax1.setFile("http://ip/WebContent/123.SLDPRT");

6、设置控件菜单

ax1.setValue("GUIFILE", "viewonly.gui");

注:加在initActiveX之前;viewonly.gui放置在AutoVue安装目录bin之下。


文档参考:http://www.oracle.com/technetwork/documentation/autovue-091442.html


补充:为了达到对控件的控制,需要修改GUI,将PERM_READ或PERM_NONE替换成PERM_HIDE

新窗体

VueActionNewWindow, , PERM_READ 

打开

VueActionFileOpen, , PERM_READ

浏览文件

VueActionFileBrowse, , PERM_READ

打印

VueActionFilePrint, Print/PrintPreview/BatchPrint, PERM_READ

转换

VueActionFileConvert, , PERM_READ

最近打开的文件

VueActionFileMRU, , PERM_READ

帮助

VueActionHelp, Contents, PERM_NONE

关于

VueActionHelp, About, PERM_NONE


Logo

前往低代码交流专区

更多推荐