溜溜问答 > 模型制作 > UG > UG怎么后处理出程序的?
Wengxiu
Wengxiu
邀请你来回答
121人阅读 2021-12-29

UG怎么后处理出程序的?

谢谢
我要回答
1个回答

一、 创建objectarx的dll程序 1、首先在项目选项中选“mfc appwizard(dll)",然后选mfc extension dll,然后输入项目名 2、在“Project settings"对话框中“general"标签项中“Microsoft foundation classes "域 选“use mfc in a shared dll ." 3、打开由appwizard所建立的.cpp项目文件,删除afx_extension_module宏,并且增加ac_implement_extension_module(emx)宏。emx用于提供缺省资源和模块资源,切换资源状态。并且删除不需要代码、添加必要的代码(后文讲述) 4、在link标签项中,“general"栏“output file name"项输入编译后的应用程序名,后缀为.arx 5、在link标签项中,“output"栏,“base address"项输入“0x1c000000","entry-point symbol"项输入“dllentrypoint@12" 6、在c/c++标签项中,"code generation"栏“use run-time library"项选“multithread dll" 7、在c/c++标签项中,“PReProcessor"栏中定义_Windll,_afxdll 二、 mfc 模块状态执行和资源处理 在每个使用了Microsoft foundation classes (mfc)的模块(exe,dll)中,都存在一种“全局”数据,mfc正是依*这种全局数据才能执行正确的操作。这种全局数据就叫做mfc 模块状态。设计为扩展dll的arx应用程序通常假设当前的模块状态是AutoCAD的。应该确认AutoCAD的模块状态已置为当前,arx应用程序可以通过调用afx_manage_state(afxgetappmodulestate())来实现这一功能。cacmoduleresourceoverrIDe创建一个变量,一个新资源提供者由构造函数交换,缺省资源由析构函数交换。在AutoCAD中,cacextensionmodule提供afx_extension_module结构的位置标识符和追踪模块资源和缺省资源。只有正确处理资源转台才能使arx程序不出问题。在arx中加入ac_implement_extension_module(emx)宏,可以由emx.attachinstance切换模块资源,由emx..detachinstance()恢复缺省资源。 三、 arx的框架代码 如下: #include "stdafx.h" #include "asdkacUIsample.h" #include "asdkacUIdialogsample.h" #include "acextensionmodule.h" #ifdef _debUG #define new debUG_new #undef this_file static char this_file[] = __file__; #endif extern "c" hwnd adSW_aCADmAInwnd(); // define the sole extension module object. ac_implement_extension_module(thearxdll); static voID initapp() { cacmoduleresourceoverrIDe resoverrIDe; } static voID unloadapp() { } extern "c" int apientry dllmAIn(hinstance hinstance, dWord dwreason, lpvoID lPReserved) { unreferenced_parameter(lPReserved); if (dwreason == dll_Process_attach) { thearxdll.attachinstance(hinstance); } else if (dwreason == dll_Process_detach) { thearxdll.detachinstance(); } return 1; // ok } extern "c" acrx::apPRetcode acrxentrypoint( acrx::appmsgcode msg, voID* appID) { SWitch( msg ) { case acrx::kinitappmsg: acrxdynamiclinker->unlockapplication(appID); acrxdynamiclinker->registerappmdiaware(appID); initapp(); break; case acrx::kunloadappmsg: unloadapp(); break; case acrx::kinitdialogmsg: break; defAult: break; } return acrx::kretok; } 应用以上框架代码就可以添加自己的程序功能 四、 应用向导 在objectarx 2000 sdk中有一个应用向导可以生成arx程序框架代码

采纳哦

查看全部
2021-12-29
(3) 回复 采纳

相关问题

UG后处理程序报警
共4条回答 >
琴弦HL: 请检查,行程是否超出。
(3) 回复
UG编程后处理出的程序很大!
共2条回答 >
Hey: 选择生成好的刀具路径再点击后处理菜单里面的确定即可出来G代码程序
回复
UG程序怎么后处理?
共1条回答 >
怀星: 右键单击编辑好的工序在出现的下拉菜单里面选择后处理,在出现的对话框里面选择正确的后处理文件及保存位置即可得到后处理出来的加工程序。
回复
求助UG主程序后处理和子程序
共1条回答 >
吕骏: 有这种需要的不多,否则有时间我做个教程给大家分享
(4) 回复
UG后处理怎么生成cnc程序?
共1条回答 >
LiliAn: UG后处理软件提供了多种方式来生成CNC程序,其中最常见的有以下两种方法:1.基于模板的生成方式在UG后处理中选择“文件”菜单下的“另存为”选项,在弹出的对话框中选择CNC程序的模板文件名,例如“G代码_T0805_B010_F030.prj”。然后根据实际情况修改相应的参数,比如加工内容、刀具号、进给速度等等。最后点击保存即可生成对应的CNC程序。2.基于导入的方式UG后处理也支持通过导入其他格式的CNC程序来生成自己的程序。首先将要导入的CNC程序另存为文本文件,并使用记事本或其他文本编辑工....
(47) 回复
发表成功!
感谢您的分享!
好的
官方微信群

(微信添加“妙妙”或“笑笑”,邀您进群)