1. 程式人生 > 其它 >NX二次開發-UFUN獲得縮放矩陣(複製移動體)uf5944

NX二次開發-UFUN獲得縮放矩陣(複製移動體)uf5944

NX9+VS2012

#include <uf.h>
#include <uf_modl.h>
#include <uf_trns.h>


UF_initialize();


//建立塊
UF_FEATURE_SIGN Sign = UF_NULLSIGN;//設定布林
double Corner_pt[3] = {0.0, 100.0, 0.0};//設定原點
char *Edge_Len[3] = {"100", "100", "100"};//設定長寬高
tag_t BlkTag = NULL_TAG;
UF_MODL_create_block(Sign, NULL_TAG, Corner_pt, Edge_Len, 
&BlkTag); //特徵找體 tag_t body_tag = NULL_TAG; UF_MODL_ask_feat_body(BlkTag, &body_tag); //獲得縮放矩陣 int type = 1;//1.一致 2.不均勻 double scales[3] = {0.5, 0.8, 0.9}; double origin[3] = {0, 500, 0}; double matrix[12] = { 0 }; int status = 0; uf5944(&type, scales, origin, matrix, &status); tag_t tagObjs[]
= { body_tag }; int iCount = 1; int iMoveOrCopy = 2;//1:Move 2:Copy int iDestLayer = 0; //0:原來的圖層 //-1活動的圖層 //1-256指定的圖層 int iTraceCurves = 1;//軌跡狀態,1:開,2:關。 tag_t tagCopies = NULL_TAG; //變化後坐標tag 複製的物件識別符號的列表。當move_or_copy等於1 (move)時不使用。 //當move_or_copy為2(copy)時,呼叫者必須將其賦予足夠大的維度,以包含物件陣列中相同數量的物件。 tag_t tagTraceCurveGroup = NULL_TAG; //
一組軌跡曲線。當trace_curves輸入被設定為2(off)時,不會使用這個函式。 int iStatus = 0;//0:成功 1-12錯誤 if (status == 0) { //轉換的實現 uf5947(matrix, tagObjs, &iCount, &iMoveOrCopy, &iDestLayer, &iTraceCurves, &tagCopies, &tagTraceCurveGroup, &iStatus); } UF_terminate(); 阿飛 2021年10月16日

阿飛

2021年10月16日