日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UG/NX二次开发Siemens官方NXOPEN实例解析—2.7 DiameterSymbol(标注符号)

發布時間:2024/1/1 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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(标注符号)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。