UG/NX二次开发Siemens官方NXOPEN实例解析—2.7 DiameterSymbol(标注符号)
列文章目录
UG/NX二次开发Siemens官方NXOPEN实例解析—2.1 AssemblyViewer(树列表) |
UG/NX二次开发Siemens官方NXOPEN实例解析—2.2 Selection(选择过滤器) |
UG/NX二次开发Siemens官方NXOPEN实例解析—2.3 Selection_UIStyler(边倒角) |
UG/NX二次开发Siemens官方NXOPEN实例解析—2.4 File2Points(读取文本) |
UG/NX二次开发Siemens官方NXOPEN实例解析—2.5 QuickExtrude(拉伸) |
UG/NX二次开发Siemens官方NXOPEN实例解析—2.6 CreateNote(注释) |
UG/NX二次开发Siemens官方NXOPEN实例解析—2.7 DiameterSymbol(标注符号) |
UG/NX二次开发Siemens官方NXOPEN实例解析—2.8 DrawingCycle(图纸打印) |
UG/NX二次开发Siemens官方NXOPEN实例解析—2.9 InteropCallCFromDotNet(VB调用VC++ DLL实践) |
UG/NX二次开发Siemens官方NXOPEN实例解析—2.10 InteropNXOpenWithUFWrap(NXOPEN与Ufun混合使用) |
前言
随着工业智能化的不断发展,UG二次开发的需求越来越多,也吸引了大批的二开从业人员,本人作为一名资深IT从业者(10年+)也毅然加入二次开发大军。
然而,和流行IT行业(互联网、金融、医疗等)相比,工业智能化的门槛显得更高一点,专业的工业软件,相对封闭的开发理念和更小的开发圈子,让刚进入二开的从业者有点举步维艰。边学边整理,希望通过这系列文章的整理能给二开的生态增添一叶绿。
一、知识点提取
本案例实现了在尺寸标注前添加符号的功能,主要知识点如下:
1、选择尺寸标注,实现标注选择过滤器
2、在标注前添加直径符号
二、案例需求分析
1、效果图
2、需求分解
1、选择尺寸标注,实现标注选择过滤器
2、在标注前添加直径符号
三、程序分析
1、源码所在目录
UGOPEN\SampleNXOpenApplications\C++\DiameterSymbol
2、主要功能分析
1、选择尺寸标注,实现标注选择过滤器
int dimpref::filter_cb(NXOpen::BlockStyler::UIBlock* block, NXOpen::TaggedObject* selectedObject)
{if (dynamic_cast<Annotations::Dimension*>(selectedObject) != NULL){return UF_UI_SEL_ACCEPT;}return UF_UI_SEL_REJECT;
}
上一个案例也实现了一个注释选择过滤器,但是实现方法和我们这里不同,有兴趣的同学可以去对比一下,点击进入链接地址
selectNote->GetProperties()->SetSelectionFilter("SelectionFilter",action,selectionMask_array)
2、 在尺寸标注前添加直径符号
void dimpref::EditPrefix(std::vector<NXOpen::TaggedObject*>dimensions, NXString option)
{ Session* session = Session::GetSession();Session::UndoMarkId mark = session->SetUndoMark(Session::MarkVisibilityInvisible, "Edit Appended Text");for (int loop = 0; loop < (int)dimensions.size(); ++loop) {NXOpen::Annotations::Dimension* dimensionPt =dynamic_cast<NXOpen::Annotations::Dimension*>(dimensions[loop]);if (dimensionPt != NULL){Annotations::AppendedText* appendedText = dimensionPt->GetAppendedText();if(strcmp(option.GetText(), "Diameter Symbol") == 0){std::vector<NXString> lines(1);lines[0] = "<O>";appendedText->SetBeforeText(lines);}else if (strcmp(option.GetText(), "None") == 0){std::vector<NXString> lines(0);appendedText->SetBeforeText(lines);}dimensionPt->SetAppendedText(appendedText);delete appendedText;}}session->UpdateManager()->DoUpdate(mark);
}
实现方法如下:
1、通过dimensionPt->GetAppendedText()方法获取选择的标注文本
2、添加直径符号appendedText->SetBeforeText(lines);
3、更新标注session->UpdateManager()->DoUpdate(mark);
UG/NX二次开发Siemens官方NXOPEN实例解析—2.7 DiameterSymbol(标注符号)相关推荐
- UG/NX二次开发Siemens官方NXOPEN实例解析—2.8 DrawingCycle(图纸打印)
列文章目录 UG/NX二次开发Siemens官方NXOPEN实例解析-2.1 AssemblyViewer(树列表) UG/NX二次开发Siemens官方NXOPEN实例解析-2.2 Selectio ...
- UG/NX二次开发Siemens官方NXOPEN实例解析—2.6 CreateNote(注释)
列文章目录 UG/NX二次开发Siemens官方NXOPEN实例解析-2.1 AssemblyViewer(树列表) UG/NX二次开发Siemens官方NXOPEN实例解析-2.2 Selectio ...
- UG/NX二次开发Siemens官方NXOPEN实例解析—2.5 QuickExtrude(拉伸)
列文章目录 UG/NX二次开发Siemens官方NXOPEN实例解析-2.1 AssemblyViewer(树列表) UG/NX二次开发Siemens官方NXOPEN实例解析-2.2 Selectio ...
- UG/NX二次开发Siemens官方NXOPEN实例解析—1.6 BlockStyler/SelectionExample
列文章目录 UG/NX二次开发Siemens官方NXOPEN实例解析-1.1 BlockStyler/ColoredBlock UG/NX二次开发Siemens官方NXOPEN实例解析-1.2 Blo ...
- UG/NX二次开发Siemens官方NXOPEN实例解析—1.8 BlockStyler/UDB_CreateCylinder
列文章目录 UG/NX二次开发Siemens官方NXOPEN实例解析-1.1 BlockStyler/ColoredBlock UG/NX二次开发Siemens官方NXOPEN实例解析-1.2 Blo ...
- UG/NX二次开发Siemens官方NXOPEN实例解析—1.2 BlockStyler/EditExpression
列文章目录 UG/NX二次开发Siemens官方NXOPEN实例解析-1.1 BlockStyler/ColoredBlock UG/NX二次开发Siemens官方NXOPEN实例解析-1.2 Blo ...
- UG/NX二次开发Siemens官方NXOPEN实例解析—1.3 BlockStyler/ExtrudewithPreview
列文章目录 UG/NX二次开发Siemens官方NXOPEN实例解析-1.1 BlockStyler/ColoredBlock UG/NX二次开发Siemens官方NXOPEN实例解析-1.2 Blo ...
- UG/NX 二次开发(C#)自动出2D零件图(标准件配置Bata版)
一.前言 昨天分享了自动出2D零件图的思路(UG/NX 二次开发(C#)自动出2D零件图思路),今天整理了Q群里各位大佬的意见,结合当前实际项目情况,做了一个可配置的半自动出图版本,暂且称之为标准件配 ...
- UG NX二次开发(C#)-装配-添加组件AddComponent
在UG NX的使用过程中,装配是很重要的一环,本文是为了实现组件的批量装配,采用UG NX二次开发,采用的主要函数为AddComponent. AddComponent()的帮助说明如下: 其是属于N ...
最新文章
- Kubernetes and Cloud Native Meetup (广州站)资料下载
- 方案 mysql 优点_mysql高可用方案分析
- 三星Nexus S刷回官方4.0.4教程
- 阿里公开自研AI集群细节:64个GPU,百万分类训练速度提升4倍
- CSS 文本方向 direction属性
- List集合排序总结
- jmeter 调试取样器
- 计算机打印错误,打印机错误正在打印处理方法,教您电脑打印机错误正在打印处理方法...
- Macbook鼠标调节外接显示器亮度 - Shades for Mac(屏幕亮度调节软件) V1.2 苹果电脑版
- 道格拉斯简化_简化组织变革:困惑的指南
- 现金流量表的编制 (by shany shang)
- 2021版小新Pro14 Ubuntu 20.04 配置指南
- 关于手机游戏市场的调研方案(终结版)
- Android小技巧
- html object flash,HTML Flash Object属性(摘)
- YOLO自带的图像数据增强方法
- Springboot集成百度地图实现定位打卡功能
- 【软件群英会】QQ群 12月1日晚上聊天记录
- Spring中的applicationContext.xml与SpringMVC的xxx-servl
- 2022年618活动4000价位笔记本推荐
热门文章
- mui h5+文档最详版
- 用好免费crm软件,事半功倍
- linux文件描述符泄漏,文件描述符(fd)泄漏排查一篇就够了
- Oracle使用实例:exp和expdp导出数据
- 论文阅读| 《An Integrated Pipeline Architecture for Modeling Urban Land Use, Travel Demand, and Traffic 》
- knn的python代码_《机器学习实战》之一:knn(python代码)
- 【连载】《linux入门很简单》电子版——作者:刘金鹏(第一章初来乍到——抵达)...
- 自定义 View(一)仿 QQ 列表 Item 侧拉删除功能
- html背景图片手机端全屏,css 背景图全屏显示,兼容移动端
- 二进制0和1的个数,2的次幂