首页 > 其他分享 >创建TXT文字

创建TXT文字

时间:2023-02-18 12:13:05浏览次数:38  
标签:文字 WCS textBuilder1 SetRightHandSide PlanarFrame 创建 workPart NXOpen TXT

void DZWEIZHI::CreaTxt(string str, double note_origin[3])////创建TXT文字
{
try
{
//---- Enter your callback code here -----

NXOpen::Session *theSession = NXOpen::Session::GetSession();
NXOpen::Part *workPart(theSession->Parts()->Work());
NXOpen::Part *displayPart(theSession->Parts()->Display());


Features::Text *nullFeatures_Text(NULL);
Features::TextBuilder *textBuilder1;
textBuilder1 = workPart->Features()->CreateTextBuilder(nullFeatures_Text);


//textBuilder1->SetScript(Features::TextBuilder::ScriptOptionsWestern);
textBuilder1->PlanarFrame()->SetAnchorLocation(GeometricUtilities::RectangularFrameBuilder::AnchorLocationTypeMiddleCenter);//锚点位置
textBuilder1->PlanarFrame()->Height()->SetRightHandSide("3"); //设置字体的高度
textBuilder1->PlanarFrame()->SetWScale(100.0);//设置长宽比例
textBuilder1->PlanarFrame()->Shear()->SetRightHandSide("0");//剪切(角度)

//textBuilder1->PlanarFrame()->Length()->SetRightHandSide("5");//会根据比例自动生成,所以不用设置
//textBuilder1->FrameOnPath()->AnchorPosition()->Expression()->SetRightHandSide("50");//不知道啥设置
//textBuilder1->FrameOnPath()->Offset()->SetRightHandSide("0");//不知道啥设置
//textBuilder1->FrameOnPath()->Length()->SetRightHandSide("1");//不知道啥设置
//textBuilder1->FrameOnPath()->Height()->SetRightHandSide("10");//不知道啥设置


textBuilder1->SelectFont("Arial", Features::TextBuilder::ScriptOptionsWestern);//设置字体

char msg[256];

sprintf(msg, "%s", str.c_str());

textBuilder1->SetTextString(msg);//设置要刻的文本


Point3d theOrigin = { note_origin[0],note_origin[1],note_origin[2] };

//Point3d OriginalWcsOrigin;//WCS 原点

//OriginalWcsOrigin = workPart->WCS()->Origin();//获得WCS原点

NXOpen::Vector3d OriginalxDirection;//WCS X轴

NXOpen::Vector3d OriginalyDirection;//WCS Y轴

NXOpen::CartesianCoordinateSystem* OriginalWcsData = workPart->WCS()->CoordinateSystem();

OriginalWcsData->GetDirections(&OriginalxDirection, &OriginalyDirection);//获得WCS的XY

//NXOpen::Matrix3x3 OriginalWsmtx;//WCS 矩阵

//OriginalWsmtx = workPart->WCS()->CoordinateSystem()->Orientation()->Element();//获得WCS的矩阵


Xform *xform1;

xform1 = workPart->Xforms()->CreateXform(theOrigin, OriginalxDirection, OriginalyDirection, SmartObject::UpdateOptionWithinModeling, 1.0);//创建转换

CartesianCoordinateSystem *cartesianCoordinateSystem1;

cartesianCoordinateSystem1 = workPart->CoordinateSystems()->CreateCoordinateSystem(xform1, SmartObject::UpdateOptionWithinModeling);//创建坐标系

textBuilder1->PlanarFrame()->SetCoordinateSystem(cartesianCoordinateSystem1);
textBuilder1->PlanarFrame()->UpdateOnCoordinateSystem();


NXObject *textnXObject1;
textnXObject1 = textBuilder1->Commit();

textBuilder1->Destroy();

vecTAGtxt.insert(vecTAGtxt.begin(), textnXObject1);//往容器的第一个位置添加元素

//vecTAGtxt.push_back(textnXObject1);
//if (vecTAGtxt.size() > 0)
//{
// vecTAGtxt.clear();
//}

}
catch (exception& ex)
{
//---- Enter your exception handling code here -----
DZWEIZHI::theUI->NXMessageBox()->Show("创建文字曲线", NXOpen::NXMessageBox::DialogTypeError, ex.what());
}


}

标签:文字,WCS,textBuilder1,SetRightHandSide,PlanarFrame,创建,workPart,NXOpen,TXT
From: https://www.cnblogs.com/firetuo/p/17132302.html

相关文章

  • 创建拉伸UFUN+nxopen
    voidDZWEIZHI::CreaExtrudeBuilder()//创建拉伸UFUN+nxopen{ try { //----Enteryourcallbackcodehere----- NXOpen::Session*theSession=NXOpen::Session::G......
  • 创建拉伸nxopen方式
    voidDZWEIZHI::CreaExtrude(stringstr,doublenote_origin[3],tag_tObj)//创建拉伸nxopen方式{ try { //----Enteryourcallbackcodehere-----  NXOpen::Se......
  • Vue:使用create-vue快速创建Vue测试项目
    开发过程中,有时候需要测测试一些开源框架,这时候开源使用create-vue来快速创建测试项目:create-vue开源地址:https://github.com/vuejs/create-vue创建Vue2项目npmcreat......
  • Java代码生成PDF2.0(包括文字图片)+PDF加水印+PDF转图片
    1.开源框架支持iText,生成PDF文档,还支持将XML、Html文件转化为PDF文件;(简单但是得下载软件)ApachePDFBox,生成、合并PDF文档;(类似于itext)docx4j,生成docx、pptx、xlsx文档,支......
  • 创建Socket-服务器端
    网上搜的资料,在这里简单记录一下用途:Socket可以实现软件与软件之间的通信流程:创建Socket——创建网络端口——将Socket与端口绑定——设置最大连接数——监听连线 创建......
  • app直播源代码,为文字/图片添加按压效果
    app直播源代码,为文字/图片添加按压效果1、文字layout布局: <TextView   android:layout_width="@dimen/textview_button_width"    android:layout_height=......
  • 【和ChatGPT对话】帮助新手批量提取图片文字信息到文件
    前言和小结今天的另外一个案例是模拟有一定编程基础(新新手)的电脑工作者,让ChatGPT处理一些图片数据,需求复杂一些。具体任务是帮助识别学生缴费图片的信息,便于复核。然后......
  • unity创建物体的编辑器的回调
    注意:需要Unity2021以上版本 参考https://forum.unity.com/threads/editor-callbacks-for-gameobject-creation-deletion-duplication-by-user-or-user-script.788792/......
  • 【企业微信】自建应用于第三方应用创建
    1.自建应用step1.登录企业微信》应用管理   step2.创建应用     step3.分享功能-通讯录设置可信IP 2.第三方......
  • VSCode Markdown preview enhanced 配置中文字体, 自定义css的方法
    在Ctrl+Shift+P命令菜单中选择CustomizeCSS这是我基于SolarizedLight的配置文件注意,只需要在系统中(我的是Win10)安装思源宋体CNMedium,在系统的字体当中找到它......