文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html

 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了;
在UFUN里面没有直接的函数;
思路就是:
、先将工程图转换为cgm
、调用系统的cgm2pdf.exe工具,将上一步转换的cgm再转成PDF格式;
以下是我写的一个例子。大家可以拿一个工程图测试以下代码,最后会在C盘生成tkl.cgm与tkl.pdf两个文件。 #include <uf.h>
#include <uf_draw.h>
#include <uf_cgm.h>
#include <windows.h> UF_initialize(); tag_t drawing_tag = NULL_TAG;
UF_DRAW_ask_current_drawing(&drawing_tag); if (drawing_tag != NULL_TAG)
{
UF_CGM_export_options_t export_options;
UF_CGM_ask_default_export_options(&export_options);
//UF_CGM_ask_session_export_options(&export_options);//用这个函数也可以初始化
export_options.reason = UF_CGM_pdf_reason;
UF_CGM_set_session_export_options(&export_options); char outFilePath[UF_CFI_MAX_FILE_NAME_BUFSIZE] = "c:\\tkl.cgm";
UF_CGM_export_cgm(drawing_tag, &export_options, outFilePath); //导出成CGM文件 //将CGM转换成PDF
char outPdfFilePath[UF_CFI_MAX_FILE_NAME_BUFSIZE] = "c:\\tkl.pdf";
NXOpen::NXString nxbasedir = theSession->GetEnvironmentVariableValue("UGII_BASE_DIR");//获取NX主目录
std::ostringstream tempstring;
tempstring << nxbasedir.GetLocaleText() << "\\NXPLOT\\bin\\pdf\\cgm2pdf.exe " << outFilePath << " " << outPdfFilePath;
std::string covertvalule = tempstring.str();
WinExec(covertvalule.c_str(), SW_HIDE); //打开PDF转换器,并转换
tempstring.str("");
tempstring.clear();
} UF_terminate();

最新文章

  1. 标签q
  2. 虚拟机CentOS-mini安装完成后的网络设置
  3. 2016CCPC东北地区大学生程序设计竞赛 1003 HDU5924
  4. php中一些安全性防止问题建议
  5. python基础知识(引用)
  6. poj 3335 /poj 3130/ poj 1474 半平面交 判断核是否存在 / poj1279 半平面交 求核的面积
  7. CSS+DIV+HTML(一)--HTML总结
  8. MySql之ALTER命令用法详细解读(转)
  9. Listener
  10. WPF 杂谈——自定义控件
  11. CBO 基于成本的优化器[基础]
  12. 我要曝光!CDN 省钱大法!
  13. cnblog项目--20190309
  14. 中国地图(Highmaps)
  15. Android开发属性动画
  16. JDBC(5)—DatabaseMetaData
  17. Eclipse------导入项目后出现Java compiler level does not match the version of the installed Java project facet
  18. Win_Server_2008 安装 Oracle_11g EM时上载EM资料失败
  19. mysql物理备份
  20. 2018.08.04 洛谷P3380 【模板】二逼平衡树(树套树)

热门文章

  1. Java高并发网络编程(二)BIO
  2. docker镜像下载加速(5)
  3. This inspection warns about local variables referenced before assignment.
  4. Linux上VNC 启动和关闭
  5. elasticsearch中TermQuery查不到数据问题
  6. HTML中margin和padding的区别
  7. 2、Android自动测试之Monkey工具
  8. Linux的命名空间
  9. js基本包装类型
  10. vue项目使用js-xlsx进行excel表格的导入和导出方法的简单原型封装