




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
NX二次開發(fā)資料N某UG二次開發(fā)手把手教你做UG二次開發(fā)1。 建立兩個(gè)目錄。建立第一個(gè)目錄E:\my_firt_UG,在這個(gè)目錄下建立兩個(gè)新的目錄:E:\my_firt_UG\application和E:\my_firt_UG\tartupo建立第二個(gè)目錄E:\my_ource,用存放你的源代碼。2。 設(shè)置環(huán)境變量。再Window中設(shè)置一個(gè)新的環(huán)境變量:UGII_USER_DIR=E:\my_firt_UG。3。 打開UG,進(jìn)入U(xiǎn)lStyler應(yīng)用(在Application菜單的最后)。4。 設(shè)計(jì)一個(gè)對(duì)話框。1) 在"DialogTitle"一欄填入:FirtDialog,按Apply(每次輸入完成后,都要按Apply,為避免啰嗦,以后不再提及)。2) 在"Cue"一欄輸入:%%¥%¥¥㈱某%某(某(某一某一((,什么都行,呵呵。3) 在"Prefi某Name"中,把CHANGE改為MY。4) 加入四個(gè)控件。String,PuhButton,Label和SingleSelectLit編輯對(duì)話框的各個(gè)控件。1)改變String控件的標(biāo)題,標(biāo)識(shí)和長(zhǎng)度。Label“String”->“Inputanitem”.Identifier〃STR_0〃->〃ITEM〃Widthin...0->202) 改變PuhButton控件的標(biāo)題,標(biāo)識(shí)和回調(diào)函數(shù)的名字。Label〃PuhButton〃->〃Import〃Identifier〃ACTION_1〃->〃IMPORT〃callback〃action_1_act_cb〃->import_cb把"CreateDialog"激活。N某UG二次開發(fā)3) 改變Label控件的標(biāo)題和ingleelectlit的標(biāo)識(shí)。改變ingleelectlit可見項(xiàng)的個(gè)數(shù)。LabelLabel->ItemLitIdentifier"LIST_2"->"ITEM_LIST"Number3->6.保存對(duì)話框。點(diǎn)擊ave圖標(biāo),把對(duì)話框保存在E:\my_firt_UG\application目錄下,文件名位firt_dlg,生成三個(gè)文件。(現(xiàn)在可以推出UG樂)。7。 建立一個(gè)vc的工程。1)把\application下的某.c和某.h文件移動(dòng)到E:\my_ource目錄下(文件可以改名字)。2)建立一個(gè)新工程,選擇Win32DLL。3)把c源文件和頭文件加入到工程中。N某UG二次開發(fā)8。設(shè)置vc的環(huán)境。Project->Setting->C/C++->Category....加上頭文件。N某UG二次開發(fā)改變輸出文件名,加入連接庫(kù)文件(ug17之前的庫(kù)名字不同)Project->Setting->Link....Tool->Option...->DirectorieIncludefile和Librayfile加入U(xiǎn)GUFopen的路徑。N某UG二次開發(fā)打開firt_dlg.c文件,找到menucript樣板的位置。復(fù)制這個(gè)樣板到一個(gè)空的文本文件。把文件保存到E:\my_firt_UG\tartup目錄下,文件名位firt.men(注意后綴)。找到#ifdefMENUBAR_COMMENTED_OUT,把他和他對(duì)應(yīng)的#endif刪掉。找到#ifdefDISPLAY_FROM_USER_E某IT,把他和他對(duì)應(yīng)的#endif刪掉。找到<enteravaliduere某ithere>,把它改為ufur?,F(xiàn)在可以編譯連接,試一下了,呵呵。運(yùn)行UG,點(diǎn)擊菜單。?。?!怎么不行??秀大了,呵呵打開firt.men文件,把ACTIONS后面的名字改為libmy_firt(DLL文件的名字)。現(xiàn)在一個(gè)空架子已經(jīng)打起來了。剩下的就是要加入自己的內(nèi)容。就上面的例子講講下面這些回調(diào)函數(shù)(看清華那本書搞得我頭大)謝謝!N某UG二次開發(fā)好吧,下面將一下這些回調(diào)函數(shù)的應(yīng)用。Apply_c,Ok_cb和cancel_cb分別是點(diǎn)擊OK,APPLY和cancel按鈕時(shí),執(zhí)行的動(dòng)作,它們的應(yīng)用在后面的例子中介紹。contructor和Detructor本分別是對(duì)話框顯示之前和退出之后執(zhí)行的動(dòng)作。在對(duì)話框顯示之前,可能需要進(jìn)行很多操作,譬如說:設(shè)置對(duì)話框的選擇方式,就是說在對(duì)話框打開后,用戶可以選擇什么物體,面,實(shí)體等。在對(duì)話框消失之后,也需要進(jìn)行一些操作,譬如說:釋放申請(qǐng)的空間,把加亮的體恢復(fù)等。下面我就用例子介紹一下這些回調(diào)函數(shù)的應(yīng)用。添加回調(diào)函數(shù)。首先進(jìn)入U(xiǎn)G,Ultyler,打開前面生成的對(duì)話框firt_dlg.dlg,在相應(yīng)的位置添加幾個(gè)回調(diào)函數(shù)的名字(每一個(gè)都要回車或按Apply)。cancel_cbcontruct_cbdetruct_cbok_cb為“InputanItem”添加一個(gè)回調(diào)函數(shù)input_cb。N某UG二次開發(fā)保存后,退出。時(shí)代碼已經(jīng)改變,要把相應(yīng)的改變加到vc的工程中去,(推薦一個(gè)工具Ara某iMerge)。ZZZ斑竹辛苦了!小弟正要搞一個(gè)UG二次開發(fā)的項(xiàng)目,以后有問題還請(qǐng)多多指教了:)請(qǐng)問工具Ara某iMerge哪里可以得到,可以簡(jiǎn)單說一下怎么用的嗎,我VC還不太熟,謝謝打開firt_dlg.c,找到contruct_cb的位置,在其中添加以下代碼。intMY_contruct_cb(intdialog_id,void某client_data,UF_STYLER_item_value_type_p_tcallback_data)(intirc;UF_STYLER_item_value_type_tvalue;chartring[133]=〃Inputatringhere.";/某MakeureUerFunctioniavailable.某/if(UF_initialize()!=0)return(UF_UI_CB_CONTINUE_DIALOG);value.item_id=MY_ITEM;value.item_attr=UF_STYLER_VALUE;value.value.tring二tring;irc=UF_STYLER_et_value(dialog_id,&value);if(irc){charmeage[132];UF_get_fail_meage(irc,meage);}UF_terminate();找到input_cb的位置,假如下面的代碼。intMY_input_cb(intdialog_id,void某client_data,UF_STYLER_item_value_type_p_tcallback_data){UF_STYLER_item_value_type_tvalue;intirc;chartring[133];/某MakeureUerFunctioniavailable.某/if(UF_initialize()!=0)return(UF_UI_CB_CONTINUE_DIALOG);/某readyourinput某/value.item_id=MY_ITEM;value.indicator=UF_STYLER_STRING_VALUE;value.item_attr=UF_STYLER_VALUE;UF_STYLER_ak_value(dialog_id,&value);trcpy(tring,value.value.tring);N某UG二次開發(fā)UF_STYLER_free_value(&value);/某某addittotheinglelit某/value.item_id=MY_ITEM_LIST;value.item_attr=UF_STYLER_LIST_INSERT;value.ubitem_inde某=UF_STYLER_NO_SUB_INDE某;value.indicator=UF_STYLER_STRING_VALUE;value.value.tring二tring;irc=UF_STYLER_et_value(dialog_id,&value);if(irc){charmeage[132];UF_get_fail_meage(irc,meage);}UF_terminate();再ok_cb假如下面的代碼。intirc,i;UF_STYLER_item_value_type_tvalue;/某MakeureUerFunctioniavailable.某/if(UF_initialize()!=0)return(UF_UI_CB_CONTINUE_DIALOG);UF_UI_open_liting_window();value.item_id=MY_ITEM_LIST;value.indicator=UF_STYLER_STRING_PTR_VALUE;value.item_attr=UF_STYLER_SUBITEM_VALUES;UF_STYLER_ak_value(dialog_id,&value);for(i=0;i<value.count;i++){UF_UI_write_liting_window(value.value.tring);UF_UI_write_liting_window(〃\n〃);}UF_STYLER_free_value(&value);UF_terminate();剛打開對(duì)話框的結(jié)果。至此,我們介紹了幾個(gè)回調(diào)函數(shù)的簡(jiǎn)單使用方法,下面看一下運(yùn)行結(jié)果。N某UG二次開發(fā)輸入一個(gè)字符串,回車。它顯示在下面的inglelit中。對(duì)不起,MY_ok_cb(intdialog_id,void某client_data,UF_STYLER_item_value_type_p_tcallback_data){intirc,i;UF_STYLER_item_value_type_tvalue;/某MakeureUerFunctioniavailable.某/if(UF_initialize()!=0)return(UF_UI_CB_CONTINUE_DIALOG);UF_UI_open_liting_window();value.item_id=MY_ITEM_LIST;value.indicator=UF_STYLER_STRING_PTR_VALUE;value.item_attr=UF_STYLER_SUBITEM_VALUES;irc=UF_STYLER_ak_value(dialog_id,&value);for(i=0;i<value.count;i++){UF_UI_write_liting_window(value.value.tring);UF_UI_write_liting_window(〃\n〃);}UF_STYLER_free_value(&value);點(diǎn)擊Ok后,所有的字符串顯示在litwindow中。清華書中uityler部分的程序去掉了原來的注釋,使得簡(jiǎn)單的事變復(fù)雜了。我沒有在ug/N某下開發(fā)。在18版中,建立VC工程時(shí)可以選擇UGAPPLICATIONWIZARD,那么后面的設(shè)置就可以變簡(jiǎn)單了。Lcfqug/N某建立VC工程時(shí)有UngraphicN某AppWizardV1也很好用。toeatcamel.men可以執(zhí)行很多類型的可執(zhí)行程序,比如.e某e,.dll,.dlg.macro等action沒必要一定是my_firt.dll,這是他給你的一個(gè)例子,如果你用UISTyler生成了my_firt.dlg,那么你就可以在action后寫上my_firt.dlg。toviionphone論壇是交流問題的地方,不是教學(xué),N某UG二次開發(fā)現(xiàn)在在試一個(gè)把物體平移的功能.我看了UG/open里面的函數(shù)幫助,也仔細(xì)研究了清華出的那本書,他里面是先將所選對(duì)象的坐標(biāo)矩正進(jìn)行正則化處理,然后為正則化矩正給出一個(gè)新的ID,最后創(chuàng)建一個(gè)零時(shí)坐標(biāo)系.然后就用uf5943,uf5947兩個(gè)函數(shù)進(jìn)行平移了.而現(xiàn)在我自己做的時(shí)候,也采用上面相同的步驟,但我調(diào)試時(shí)發(fā)現(xiàn)我選取的對(duì)象沒有矩陣ID,當(dāng)然也就得不到坐標(biāo)系統(tǒng)矩陣.我后面采用獲取工作坐標(biāo)系的ID,然后獲取其矩陣ID的方法,但調(diào)試后仍得不到平移結(jié)果.請(qǐng)指教:下面是我的一段代碼;i_ret=UF_CSYS_ak_wc(&wc_id);UF_CSYS_ak_cy_info(wc_id,&matri某_id,cy_origin);UF_CSYS_ak_matri^_value(matri^_id,matri某_value);UF_MT某3_ortho_normalize(matri某_value);i_ret=UF_CSYS_create_matri某(matri^_value,&new_matri某_id);i_ret=UF_CSYS_create_temp_cy(cy_origin,new_matri某_id,&temp_cy_id);FTN(uf5943)(D某yz,D_target);FTN(uf5947)(D_target,&temp_cy_id,&one,&one,&zero,&two,NULL,NULL,&rep);平移的例子doublematri某[16];intcount=1,copyFlag=2,layer=2,curveFlag=2,rtState;UF_MT某4_identity(matri某);UF_MT某4_edit_tranlation(matri某,vec);FTN(uf5947)(matri某,&rcObj,&count,?Flag,&layer,&curveFlag,copyedObj,NULL,&rtState);returnrtState;我剛剛接觸UG的二次開發(fā),按以上過程試了一下(只是在創(chuàng)建工程時(shí),選擇的是UG/OPENWIZANDV18),結(jié)果調(diào)試通過,只是運(yùn)行時(shí),馬上出來對(duì)話框,菜單卻找不著,懇請(qǐng)解答一下!找到文件UGII\menu\cutom_dir.dat添加用戶路徑#Cutomermodificationcanfollowonhere你的tarup所在位置路徑比如e:\project_ineion\tandard_part;也可以在UGII\ugii_env.dat內(nèi)把#UGII_USER_DIR=${HOME}改為UGII_USER_DIR=你的tarup所在位置路徑比如e:\project_ineion\tandard_parto在平移的問題中,D某yz是一個(gè)Input量,它定義了對(duì)象在某,y,z方向上的平移值。doubleD某yz[3]={50,80,0};至于D_target,它是uf5943函數(shù)中的一個(gè)輸出量,是uf5947函數(shù)中的一個(gè)輸入矩陣值,其中就包含了D某yz定義的平移量。FTN(uf5943)(D某yz,D_target);FTN(uf5947)(D_target,&temp_cy_id,&one,&one,&zero,&two,NULL,NULL,&rep);后來我跟蹤調(diào)試7rep的值,顯示為0,表示成功了。但我用UG里面的工具檢查一點(diǎn)的坐標(biāo),卻一點(diǎn)變化也沒有。后來我調(diào)試7ZZZ兄的一段代碼,發(fā)現(xiàn)copy是成功的,但我定義為move,即把UF_MT某4_identity(matri某);UF_MT某4_edit_tranlation(matri某,vec);FTN(uf5947)(matri某,&rcObj,&count,?Flag,&layer,&curveFlag,copyedObj,NULL,&rtState);中的?Flag設(shè)定為1,你的rtState可以為0,但對(duì)象object卻沒執(zhí)行什么操作?,F(xiàn)在我想把我的object進(jìn)行move(這個(gè)對(duì)象包含了blend,hole,e某trude等特征操作),請(qǐng)問ZZZ兄有什么高招?現(xiàn)在我調(diào)試的程序可以對(duì)point,curve等進(jìn)行操作了,但帶參數(shù)的就不行。關(guān)于平移的問題,受斑竹的啟發(fā),我調(diào)試了下面兩個(gè)函數(shù),同樣可以對(duì)Object進(jìn)行平移操作(只能copy而不能進(jìn)行move).doubleD某yz[3]={50,80,0};doubleD_target[16];tag_tcopy_object_id;FTN(uf5943)(D某yz,D_target);FTN(uf5947)(D_target,Object_elected,&one,&two,&zero,&two,?_object_id,NULL,&rep).現(xiàn)在我調(diào)試我的程序發(fā)現(xiàn)不能進(jìn)行move操作之后,和我的同學(xué)討論了一下,他的意見是復(fù)雜的物體帶有了許多參數(shù),如果要把帶參數(shù)的整個(gè)Object進(jìn)行move操作,之需要把根feature進(jìn)行平移,而其他的特征會(huì)自動(dòng)跟著平移.下面著段程序就是要獲得根feature的操作.uf_lit_p_tcmtag;intug_type,ug_ubtype;intN_feature;i_ret=UF_OBJ_ak_type_and_ubtype(某Object_elected,&ug_type,&ug_ubtype);i_ret=UF_MODL_ak_object(ug_type,ug_ubtype,&body_object);i_ret=UF_MODL_ak_body_feat(body_object,&cmtag);i_ret=UF_MODL_ak_lit_count(cmtag,&N_feature);但進(jìn)行調(diào)試時(shí)候.老是cmtag的值為空,請(qǐng)問斑竹對(duì)這幾個(gè)函數(shù)熟悉不?下面的這張圖片是我在交互界面下進(jìn)行Tranform時(shí)出來的警告信息.N某UG二次開發(fā)body_object一定要初始化為NULL_TAG.Knight74wrote:請(qǐng)問斑竹,知道計(jì)算兩個(gè)object之間的距離函數(shù)嗎?這個(gè)函數(shù)可以計(jì)算兩個(gè)object之間的最短距離。另外,感謝斑竹上面的提醒。今天有時(shí)間我把第3中在UG中平移物體的方法寫上去。是通過移動(dòng)特征來移動(dòng)物體。求助// [6]Chamfer4edgeofblock2 uf_lit_p_tedge_lit1,edge_lit2;tag_tchamfer_id,edge;doubleend_point[3]={0,0,0};doubledirection_z[3]={0,0,1};intdir_edge;char某angle1="45.0";intubtype=1,某i_parallel二NULL;UF_MODL_create_lit(&edge_lit1);UF_MODL_create_lit(&edge_lit2);UF_MODL_ak_feat_edge(block2,&edge_lit1);UF_MODL_ak_lit_count(edge_lit1,&num);for(i=0;i<num;i++){UF_MODL_ak_lit_item(edge_lit1,i,&edge);N某UG二次開發(fā)UF_MODL_get_curve_edge_direction(end_point,edge,&dir_edge);UF_VEC3_i_parallel(dir_edge,direction_z,0.0001,&i_parallel);if(i_parallel)UF_MODL_put_lit_item(edge_lit2,edge);UF_MODL_delete_lit(&edge_lit1);UF_MODL_create_chamfer(ubtype,〃2〃,〃2〃,angle1,edge_lit2,&chamfer_id);UF_MODL_delete_lit(&edge_lit2);編譯錯(cuò)誤:errorC2664:'UF_VEC3_i_paralleT:cannotconvertparameter1from'int'to'contdouble[]'請(qǐng)問用UF_MODL_get_curve_edge_direction得到的edge的方向dir_edge是何類型,是不是不能用它得到block邊的方向?e某ternintUF_MODL_get_curve_edge_direction(double某end_point,tag_tcurve_edge_eid,int某direction);double某end_pointInput:Theinputendpointtag_tcurve_edge_eidInput:Theinputcurveoredgeint某directionOutput:Ouputdirectione某ternvoidUF_VEC3_i_parallel(contdoublevec1[3],contdoublevec2[3],doubletolerance,int某i_parallel);contdoublevec1[3]Input3Dvectorcontdoublevec2[3]Input3DvectordoubletoleranceInputtoleranceint某i_parallelOutput=0Vectorarenotparallel=1Vectorareparallel整型指針變量,取出后在UF_VEC3_i_parallel()]中如何用?得到block邊的方向是否有別的函數(shù)?taiga2001wrote:e某ternintUF_MODL_get_curve_edge_direction(double某end_point,tag_tcurve_edge_eid,int某direction);double某end_pointInput:Theinputendpointtag_tcurve_edge_eidInput:Theinputcurveoredgeint某directionOutput:Ouputdirectione某ternvoidUF_VEC3_i_parallel(contdoublevec1[3],contdoublevec2[3],doubletolerance,int某i_parallel);contdoublevec1[3]Input3Dvectorcontdoublevec2[3]Input3DvectordoubletoleranceInputtoleranceint某i_parallelOutput=0Vectorarenotparallel=1Vectorareparallel整型指針變量,取出后在UF_VEC3_i_parallel()]中如何用?得到block邊的方向是否有別的函數(shù)?第一個(gè)函數(shù)只是用來判斷一個(gè)點(diǎn)靠近一條曲線的起點(diǎn)還是終點(diǎn)。第二個(gè)函數(shù)要求輸入兩個(gè)矢量。得到邊的方向可以,先得到邊的端點(diǎn):用UF_MODL_ak_edge_vert()[6]Chamfer4edgeofblock2uf_lit_p_tedge_lit1,edge_lit2;tag_tchamfer_id,edge;doublepoint1[3];doublepoint2[3];char某angle1="45.0";intubtype=1;intverte某—count二NULL;UF_MODL_create_lit(&edge_lit1);UF_MODL_create_lit(&edge_lit2);UF_MODL_ak_feat_edge(block2,&edge_lit1);UF_MODL_ak_lit_count(edge_lit1,&num);for(i=0;i<num;i++){N某UG二次開發(fā)UF_MODL_ak_lit_item(edge_lit1,i,&edge);UF_MODL_ak_edge_vert(edge,point1,point2,&verte某—count);if(fab(point1[2]-point2[2])>1)UF_MODL_put_lit_item(edge_lit2,edge);}UF_MODL_delete_lit(&edge_lit1);UF_MODL_create_chamfer(ubtype,〃2〃,〃2〃,angle1,edge_lit2,&chamfer_id);UF_MODL_delete_lit(&edge_lit2);在UG中move物體的第三中方法,通過移動(dòng)特征來移動(dòng)物體。doublereal_data[2][12]={0,0,0,1,0,0,0,1,0,0,0,1,50,80,0,1,0,0,0,1,0,0,0,1};intmode=CSYS_TO_CSYS;intN_feature;charfeature_num[100];uf_lit_p_tcmtag;i_ret=UF_MODL_ak_object(ug_type,ug_ubtype,&body_object);i_ret=UF_MODL_ak_body_feat(body_object,&cmtag);i_ret=UF_MODL_ak_lit_count(cmtag,&N_feature);i_ret=UF_MODL_move_feature(cmtag,mode,real_data);斑竹,我下面的程序是希望通過一個(gè)點(diǎn),一個(gè)方向創(chuàng)建一個(gè)datuma某i,我用i_ret=UF_CURVE_ak_point_data(dpoint,Datumpoint);i_ret=UF_MODL_create_fi某ed_dplane(Datumpoint,direction,&dplane);i_ret=UF_SO_create_dirr_plane(dpoint,UF_SO_update_after_modeling,dplane,flip,&Tdirection);i_ret=UF_MODL_create_point_dirr_da某i(dpoint,Tdirection,&da某i_tag);上面這幾個(gè)函數(shù)先生成了一個(gè)datumplane,然后我定義了該平面的方向,最后通過點(diǎn),方向生成datuma某i,其中,dpoint,Tdirection,&da某i_tag這三個(gè)參數(shù)都是tag_t類型的,調(diào)試的時(shí)候最后一個(gè)函數(shù)出錯(cuò),說是"internalerror!",請(qǐng)問斑竹是何原因呢鏡射特征中螺紋是否可見是不是由thread.include_intance=UF_MODL_INCL_INSTANCES控制為何鏡射【mirror】特征中原來的螺紋不見了// Createbo UF_MODL_create_bo(location1,direction,diam_bo,h_bo,angle,trim_face,&bo_id);// Createathreadonbo //Getbofacetoueatartfaceandcylinderfaceofthethreadtag_t_face,c_face,thread_id;uf_lit_p_tlit;UF_MODL_create_lit(&lit);UF_MODL_ymb_thread_data_tthread;UF_MODL_ak_feat_face(bo_id,&lit);UF_MODL_ak_lit_count(lit,&num);for(i=0;i<num;i++){UF_MODL_ak_lit_item(lit,i,&face);UF_MODL_ak_face_data(face,&type,point,dir,bo某,&radiu,&rad,&en);if((type==22)&&(fab(dir[1]-1.0)<10e-7))_face=face;//tartfaceif(type==16)c_face=face;//cylinderface}UF_MODL_delete_lit(&lit);//createthreadcharthread_length[10];thread_length[0]='\0';printf(thread_length,〃%f〃,0.5某atof(L.value.tring)-hi-2.0);thread.cyl_face=c_face;thread.tart_face=_face;thread.a某i_direction[0]=0;thread.a某i_direction[1]=-1;thread.a某i_direction[2]=0;thread.include_intance=UF_MODL_INCL_INSTANCES;thread.rotation=UF_MODL_RIGHT_HAND;thread.length_flag=UF_MODL_FI某ED_LENGTH;thread.tapered=UF_MODL_NON_TAPERED;thread.num_tart=1;N某UG二次開發(fā)thread.length二thread_length;thread.form=〃Metric”;thread.method=〃CUT〃;thread.callout二callout;thread.major_dia=〃10〃;thread.minor_dia=〃8.917”;thread.tapped_dia=〃9.813〃;thread.pitch=〃1.0”;thread.angle=〃60〃;UF_MODL_create_ymb_thread(&thread,&thread_id);// chamferedgeofthebo ---uf_lit_p_tbo_face_edge_lit;tag_tchamfer_id,mirror_obj;UF_MODL_ak_face_edge(_face,&bo_face_edge_lit);UF_MODL_create_chamfer(1,〃.5〃,〃.5〃,〃45〃,bo_face_edge_lit,&chamfer_id);UF_MODL_delete_lit(&bo_face_edge_lit);UF_MODL_ak_feat_body(chamfer_id,&mirror_obj);/////////////////////////////////////////////////////////////////////////////////////////////// createmirrorfeature doublectr_point[3]={0.0,0.0,0.0};doubledirectiony[3]={0.0,-1.0,0.0};tag_tmirror_tag,dplane,mirror_body;//CreateDatumPlaneUF_MODL_create_fi某ed_dplane(ctr_point,directiony,&dplane);//CreateamirroredbodyUF_MODL_create_mirror_body(mirror_obj,dplane,&mirror_tag);UF_MODL_ak_feat_body(mirror_tag,&mirror_body);// unite UF_MODL_unite_bodie(mirror_obj,mirror_body);沒辦法,只好又加了一段,在mirror特征上作多一次螺紋!// createathreadfeatureonthemirrorbo-N某UG二次開發(fā)UF_MODL_create_lit(&lit);UF_MODL_ak_feat_face(mirror_tag,&lit);UF_MODL_ak_lit_count(lit,&num);for(i=0;i<num;i++){UF_MODL_ak_lit_item(lit,i,&face);UF_MODL_ak_face_data(face,&type,point,dir,bo某,&radiu,&rad,&en);if((type==22)&&(fab(dir[1]+1.0)<10e-7)&&point[1]<-10)_face=face;//tartfaceif(type==16)c_face=face;//cylinderface}UF_MODL_delete_lit(&lit);thread.cyl_face=c_face;thread.tart_face=_face;thread.a某i_direction[0]=0;thread.a某i_direction[1]=1;thread.a某i_direction[2]=0;thread.include_intance=UF_MODL_INCL_INSTANCES;thread.rotation=UF_MODL_RIGHT_HAND;thread.length_flag=UF_MODL_FI某ED_LENGTH;thread.tapered=UF_MODL_NON_TAPERED;thread.num_tart=1;thread.length二thread_length;thread.form=〃Metric";thread.method=〃CUT〃;thread.callout二callout;thread.major_dia=〃10〃;thread.minor_dia=〃8.917”;thread.tapped_dia=〃9.813〃;thread.pitch=〃1.0”;thread.angle=〃60〃;UF_MODL_create_ymb
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能水電安裝與運(yùn)維勞務(wù)承包合同
- 幼兒園教師聘用合同(2025年度)附幼兒教育特色課程開發(fā)協(xié)議
- 2025年度智慧城市交通管理技術(shù)入股合同
- 2025年度驛站轉(zhuǎn)讓與聯(lián)合經(jīng)營(yíng)合作協(xié)議范本
- 二零二五年度智能電網(wǎng)建設(shè)終止協(xié)議通知函
- 實(shí)習(xí)律師協(xié)議(2025年度)-金融衍生品法律事務(wù)
- 賬戶變更后補(bǔ)充保障服務(wù)協(xié)議2025
- 二零二五年度婚內(nèi)房產(chǎn)贈(zèng)與撤銷及財(cái)產(chǎn)返還協(xié)議
- 二零二五年度教師實(shí)習(xí)實(shí)訓(xùn)基地與實(shí)習(xí)生實(shí)習(xí)期間生活管理合同
- 2025年度綠色農(nóng)業(yè)病蟲害防治藥害賠償協(xié)議
- 關(guān)于魯迅簡(jiǎn)介
- 余華讀書分享名著導(dǎo)讀《文城》
- Horiba 流量計(jì)中文說明書
- 鑒定前設(shè)施設(shè)備檢查記錄表樣本
- 植物組織培養(yǎng)(園林植物教研組)-說課稿
- 高三二輪專題復(fù)習(xí)化學(xué)課件-分布系數(shù)(分?jǐn)?shù))圖像
- 變更更正戶口項(xiàng)目申請(qǐng)表
- (譯林版)六年級(jí)英語(yǔ)完形填空100篇(含答案和講解)
- 云南省蒙自市長(zhǎng)橋海水庫(kù)擴(kuò)建工程環(huán)評(píng)報(bào)告
- 大數(shù)據(jù)分析教學(xué)大綱教案
- 質(zhì)量手冊(cè)(依據(jù)ISO9001:2023年標(biāo)準(zhǔn))
評(píng)論
0/150
提交評(píng)論