NX二次开发-UFUN创建工程图注释UF_DRF_create_note
2024-10-07 20:22:52
NX9+VS2012 #include <uf.h>
#include <uf_drf.h>
#include <NXOpen/Annotations_Note.hxx>
#include <NXOpen/NXObjectManager.hxx> UF_initialize(); //创建注释
char* TextString[] = {"Caesar卢尚宇"};
double Origin3d[] = {,,};
tag_t NoteTag = NULL_TAG;
UF_DRF_create_note(, TextString, Origin3d, , &NoteTag); //读取注释
Annotations::Note *note1(dynamic_cast<Annotations::Note *>(NXObjectManager::Get(NoteTag)));
std::vector<NXString> Notes = note1->GetText(); //打印
lw->Open();
lw->WriteLine(Notes[].GetLocaleText()); UF_terminate();
附加代码
读取配置文件,格式xxx|xxx|xxx |为换行分隔符
生成三行注释
//string替换所有指定字符串
string& replace_all(string& str, const string& old_value, const string& new_value)
{
while (true) {
string::size_type pos();
if ((pos = str.find(old_value)) != string::npos)
str.replace(pos, old_value.length(), new_value);
else break;
}
return str;
} void MyClass::CreateValueScopeNote(char* Data, Point3d Origin)
{
//转换
string str = Data; //string替换所有指定字符串
string AA = replace_all(str, "|", "\n"); //转换
char msg[];
sprintf_s(msg, "%s", AA.c_str()); //创建注释
char* TextString[] = { msg };
double Origin3d[] = { Origin.X, Origin.Y, Origin.Z };
tag_t NoteTag = NULL_TAG;
UF_DRF_create_note(, TextString, Origin3d, , &NoteTag);
NXOpen::Annotations::Note *note1(dynamic_cast<NXOpen::Annotations::Note *>(NXOpen::NXObjectManager::Get(NoteTag)));
NXOpen::Annotations::DraftingNoteBuilder *draftingNoteBuilder1;
draftingNoteBuilder1 = workPart->Annotations()->CreateDraftingNoteBuilder(note1); //设置原点在右上角
draftingNoteBuilder1->Origin()->SetAnchor(NXOpen::Annotations::OriginBuilder::AlignmentPositionBottomLeft); //字体
int fontIndex2;
fontIndex2 = workPart->Fonts()->AddFont("FangSong_GB2312", NXOpen::FontCollection::TypeStandard);
draftingNoteBuilder1->Style()->LetteringStyle()->SetGeneralTextFont(fontIndex2); //字体大小
draftingNoteBuilder1->Style()->LetteringStyle()->SetGeneralTextSize(20.0); //坐标点
NXOpen::View *nullNXOpen_View(NULL);
draftingNoteBuilder1->Origin()->Origin()->SetValue(NULL, nullNXOpen_View, Origin); //创建
NXOpen::NXObject *nXObject1;
nXObject1 = draftingNoteBuilder1->Commit(); //销毁
draftingNoteBuilder1->Destroy(); } Caesar卢尚宇
2019年10月18日
最新文章
- 原生JS实现购物车结算功能代码+zepto版
- 如何使用scikit—learn处理文本数据
- Unity模型导入导出
- linux下oracle11g R2的启动与关闭监听、数据库
- Java数据库增删改查
- 软件工程 --- Pair Project: Elevator Scheduler [电梯调度算法的实现和测试]
- 转:Internal Sales Order (ISO) Process Flow
- Linux开发工具之Makefile(上)
- 19个非常有用的 jQuery 图片滑动插件和教程
- java 将GBK编码文件转为UTF-8编码
- 多目录下多文件 makefile编写
- QCustomPlot使用手冊(三)
- Android应用开发基础篇(16)-----ScaleGestureDetector(缩放手势检测)
- CentOS6.4下安装Nginx1.12.2
- nvidia-smi GPU异常消失 程序中断
- JavaSSM框架面试
- Tony的口胡呼呼(。-ω-)zzz
- 多线程开发之二 NSOperation
- git小乌龟工具TortoiseGit记住你的账号密码
- php 用户向微信发送信息