本文论述了南方摩托审批流管理中所必须解决的PB和ACAD数据交换技术和引入的响应控制技术。/响应控制技术在审批流管理上的应用/1、响应器技术概述/2、工程图审批流使用情况介绍/3、监控实现过程/4、结论/参考文献/ 2.1 审批流系统实现模型图 2.3 审批流管理模型功能分析 在Powerbuilder中加载AutoCDA应用程序,却不能用以上语法来加载即: OLE ActiveDocament SendCommand(“arx l D:\Myarx\Myarx,arx ”) 这是因为当输入{zh1}一个参数时,空格不能认为是回车键。但是,可以利用在AutoCAD中用的“Command”指令一次性输完命令和参数的方法来加载应用程序: OLE ActiveDocament SendCommand (‘(command "arx" "l" & "D:\\LAYERCONTRL\\layermena\\Debug\\LOCKLAYER.arx") ’) 可以看出,这一段语法命令及参数列表可以理解为: String tempref Tempref=‘(command "arx" "l" & "D:\\LAYERCONTRL\\layermena\\Debug\\LOCKLAYER.arx") ’ ole.SendCommand(tempref) 经过测试,如果参数"D:\\LAYERCONTRL\\layermena\\Debug\\LOCKLAYER.arx" 写成 "D:\LAYERCONTRL\layermena\Debug\LOCKLAYER.arx" 则在AutoCAD命令行参数输入栏会显示为: "D:LAYERCONTRLlayermenaDebugLOCKLAYER.arx" 系统找不到文件。这是因为在VB中反斜杠“\”是控制符,只有成对出现才会表示为文件路径中的“\”。 这样,通过在PowerBuilder中动态加载AutoCAD的ARX程序就可全程监控用户所有操作行为。 正确加载应用程序后就可实现要进行的操作。如执行自行开发的应用程序中的创建新图层、指定颜色、线宽: contact_ltr.ActiveDocument.SendCommand("createnewlayer 校对层 5 1 ") 本系统利用图层加载响应器实现对参数、设计信息、校对信息、标检信息、审查信息、审定信息、工艺审查信息的隔离保护。将所要保护的信息放在相应图层,并加载图层禁锁响应器,使用户不能在AutoCAD下手工解锁图层。通过程序控制,系统可将产品数据库中的信息传送到AutoCAD图纸中的相应图层,然后再加锁。 AutoCAD要知道在什么样的情况下才能对相应的图层进行加锁,并怎样才能正确锁定目标图层。这就要通过从PowerBuilder应用程序中传递过来的参数信息,以对相应目标图层加锁。ARX应用程序通过接收这一参数,并通知图层状态监视器,监视目标图层状态。 在arx程序中,需要设置一些参数,当系统检索到的图层与用户要求加锁的图层相一致时,就将其加锁,当用户打开了图层,不管其是否对图层进行了修改,创建新层操作系统都会进行一次检索,并将规定图层加锁。 执行以下语句就可将明细栏、审定层、校对层、审查层、标准化层加锁: //加载图层响应器应用程序 contact_ltr.ActiveDocument.SendCommand(‘(command "arx" "l" & "D:\\LAYERCONTRL\\layermena\\Debug\\LOCKLAYER.arx") ’) 其中“LOCKLAYER”为用ARX开发的加载图层响应器应用程序,“addlocklayerReactor”为图层加锁响应器程序。 将所有图层解锁的语法为: contact_ltr.ActiveDocument.SendCommand("addlocklayerReactor ") 将校对层解锁的语法为: contact_ltr.ActiveDocument.SendCommand("addlocklayerReactor& 审定层+明细栏层+审查层+标准化层 ") 在AutoCAD新建或打开一张设计图时,无论该设计图有无设计对象,对该图形对象来说,它都有一个永远不能被删除、也不能被改名的图层——“0”层,本系统就是在“0”层加载图层响应器,以监视目标图层是否已被非法修改。 当用户想将锁定图层解锁时,他必须打开图层表进行操作,由于在“0”层上加载了图层响应器,该响应器就会监视“0”层的工作状态。一旦“0”层被打开,就会触发OpenForModify函数;或者“0 | |