iCAx开思网

标题: 【建议】要学UG装配二次开发的请进! [打印本页]

作者: taiga2001    时间: 2003-6-1 19:49
标题: 【建议】要学UG装配二次开发的请进!
强烈要求zzz斑竹开一贴“手把手教你作UG装配二次开发”,要学的请跟贴!
::g::g::g::g::g::g::g::g::g::g::g::g::g::g::g::g
作者: spline    时间: 2003-6-4 19:21
强烈支持!
作者: zzz    时间: 2003-6-5 15:33
最近太忙了,以后再说吧,到8月份才能空闲一些。
作者: ekho    时间: 2003-6-5 20:33
我也急需斑竹帮忙
介绍UG装配二次开发
已求捷径
作者: taoyezxj    时间: 2003-6-5 21:17
什么时候学啊?
作者: taiga2001    时间: 2003-6-6 14:18
谢谢斑竹,简单介绍一些装配开发的基本思路也好啊!
::g::g::g::g::g::g::g::g::g::g::g::g::g::g::g::g::g::g::g::g
作者: yyddyycqu    时间: 2003-6-6 15:18
楼上的,自己看UG DOC。里面讲得很好呀!
作者: taiga2001    时间: 2003-6-6 17:57
yyddyycqu wrote:
楼上的,自己看UG DOC。里面讲得很好呀!

yddyycqu:
麻烦您讲讲Occurence和Instance的区别,好吗?::
r::r::r::r::r::r::w::w
作者: taiga2001    时间: 2003-6-6 18:05
spline:也是好有实力的啊,能否替斑竹辛苦一下,建议加多分啊!
作者: spline    时间: 2003-6-7 15:50
让大家见笑了。我的水平简直是小巫见大巫。
只有等到zzz出马了。
清华那本书上倒是有个例子。可以做一下,有很大帮助的。
不过注意18 和19版是不同的。19版要多用一个函数UF_assem_init_mc()
看了这个例子还是有很大的帮助的。
上面还用一个遍历装配的例子。可以看看的,虽然代码写的不是很好,但还是对的。
作者: spline    时间: 2003-6-7 15:51
给大家一个例子。
#include <uf_ui.h>
#include <uf_defs.h>
#include <uf_part.h>
#include <uf_assem.h>
  
void RetrieveAllParts(tag_t child_tag)
{
    tag_t* ChildPartOccs;
    int PartNum = UF_ASSEM_ask_part_occ_children(child_tag , [$ChildPartOccs)]
    for( int i = 0 ; i < PartNum ; i++)
    {
        char PartName[ MAX_LINE_SIZE + 1 ];
        char RefsetName[ MAX_ENTITY_NAME_SIZE + 1 ];
        char InstanceName[ MAX_ENTITY_NAME_SIZE + 1 ];
        double Origin[3];
        double CsysMatrix[9];
        double Transform[4][4];
        char Buf[ 1024 ] = "";
  
        UF_ASSEM_ask_component_data(ChildPartOccs,PartName , RefsetName ,
            InstanceName , Origin , CsysMatrix , Transform);      
  
        UF_UI_write_listing_window( "art name is " );
        UF_UI_write_listing_window( PartName );
        UF_UI_write_listing_window( "\nInstance name is " );
        UF_UI_write_listing_window( InstanceName );
  
        tag_t ProtoTypeTag =  
            UF_ASSEM_ask_prototype_of_occ ( ChildPartOccs );
        sprintf( Buf, "\t The Proto type tag is %d", ProtoTypeTag);
        UF_UI_write_listing_window( Buf );
          
        sprintf( Buf, "\t The occ tag is %d \n", ChildPartOccs);
        UF_UI_write_listing_window( Buf );
        UF_UI_write_listing_window( "\n" );
  
        RetrieveAllParts(ChildPartOccs);
    }
  
    UF_free(ChildPartOccs);
}
  
void RetrieveAssem()
{
    char PartName[ UF_CFI_MAX_PATH_NAME_SIZE ] = "";
    char Buf[ 1024 ] = "";
    UF_UI_open_listing_window();
  
    tag_t DisplayPart = UF_PART_ask_display_part();
    UF_PART_ask_part_name( DisplayPart, PartName);
    UF_UI_write_listing_window( "Display Part Name is " );
    UF_UI_write_listing_window( PartName );
    sprintf(Buf,"\nPart Tag :%d\n",DisplayPart);
    UF_UI_write_listing_window( Buf );
  
    tag_t RootPartOcc = UF_ASSEM_ask_root_part_occ(DisplayPart);   
    UF_PART_ask_part_name( RootPartOcc, PartName);
    UF_UI_write_listing_window( "Root Part Occ Name is " );
    UF_UI_write_listing_window( PartName );
    sprintf( Buf,"\nPart Tag :%d\n", RootPartOcc );
    UF_UI_write_listing_window( Buf );
  
    RetrieveAllParts(RootPartOcc);
  
}
作者: taiga2001    时间: 2003-6-7 16:17
::{谢谢Spline遍历装配的例子。能不能讲一讲创建一个装配的基本思路:比如我创建了两个PART,分别为part1(一个带孔的BLOCK),PART2(一个CYLINDER)。如何创建一个装配PART(PART3)并将PART1,PART2加进来,形成装配。是不是我的问题太简单了,不要笑我啊。:-P:-P::l::l
作者: spline    时间: 2003-6-7 16:49
哪里,你太客气了,你提的问题是最基本的问题了,如果做对了,就算入门了。
  
清华那本书上的就有这样一个例子,如果没有哪本书,我就去找找我以前做的练习。也许可以找到。
其实思路很简单,倒是那几个概念很绕人。
作者: lsy    时间: 2003-6-7 17:16
不会吧,这么少????///
作者: taiga2001    时间: 2003-6-8 09:24
::g::g谢谢Spline的回复。你说的是书上“API、UIStyler、MenuScript联合开发”的例子吧,这个程序好像是在现有装配文件内创建一个装配组件,并和原装配体进行配合定位。我想知道:
1.新建一个PART3,然后用UF_MODL_add_part_to_assembly()分别将PART1、PART2加进PART3中,是不是PART3就是包含PART1,PATR2的装配文件,也就是说装配的根是PART3?
2.如果在PART1中用UF_ASSEM_create_component_part()函数是否是将PART1变成装配文件?这时用UF_MODL_add_part_to_assembly()将PART2加进来,是不是就形成包含PART1,PATR2的装配文件,这时装配的根就是PART2?

作者: spline    时间: 2003-6-8 09:26
现在忙呀!等我的项目结了,我总结一下。很快了,就在最近了
作者: taiga2001    时间: 2003-6-8 09:29
::r3q.I will always be here waiting for your help!::
作者: spline    时间: 2003-6-8 11:31
第一个问题,我认为装配的根是PART3。
第二个问题,我认为PART1变成装配文件,PART1是装配的根,假设UF_ASSEM_create_component_part()生成的文件为Part_X,那就形成了包含Part_X,PATR2的装配文件,PART1是装配的根。
不知道我的理解是不是有错误。
作者: taiga2001    时间: 2003-6-8 18:33
我试了一下,你说的对。第二中情况装配根是part1。3ks!
作者: liberty000    时间: 2003-6-9 12:29
顶!!!
作者: caolei7255    时间: 2003-6-11 21:52
不错!
作者: caolei7255    时间: 2003-6-12 13:37
厉害!
作者: yhwhit    时间: 2003-6-14 15:45
今天發現了這好地方,我是搞SolidEdge二次開發的,UG用了一年多,但就是沒搞過UG的二次開發,還請大家多多指教!
作者: 夜猫子    时间: 2003-6-23 16:27
我顶!!!我现在也在用UG做装配,但碰到很多问题,都是关于大型设备装配的显示,过滤,以及小平面等问题,非常辣手!真诚希望斑竹在这方面开个新的板快大家一起来讨论讨论!                  ::y::y::y::y::y::y::y::y::y::y::y
作者: taiga2001    时间: 2003-6-28 17:02
大家都在继续关注此贴。。。。。。。。。。。。。。。。
作者: cjp1111    时间: 2003-6-28 17:13
强烈支持!
作者: taiga2001    时间: 2003-7-3 16:09
::::天天等日日盼。。。。。。。。此贴何时有续篇?:::o::o::o
作者: taiga2001    时间: 2003-7-14 20:04
i am waiting here. any help?
作者: HAISJJ    时间: 2008-10-25 19:00
谢谢斑竹,简单介绍一些装配开发的基本思路也好啊!
作者: 青铖云    时间: 2008-10-31 11:17
标题: 万学教育郑重声明:真金不怕火来炼,拨开迷雾见青天
北京市海淀区海文培训学校与北京万学教育科技有限公司签订协议,转让“海文考研”和“海文”字号及品牌的永久独家使用权。相关协议符合法律规定,真实有效。万学教育公司拥有“海文考研”产品字号及品牌的合法权益。
特此声明!
链接:https://www.kaoyan2010.com/
作者: boxi2279    时间: 2009-1-26 08:11
好铁!顶一个!
作者: zhangfei1984    时间: 2009-9-13 00:30
要学斑竹开一贴
作者: ugopenman    时间: 2009-10-6 21:31
有兴趣专门从事NX二次开发工作的高手可联系南京欧奔软件技术有限公司,该公司在招NX二次开发的高手, ymzhou@ugopen.cn
作者: 恠框尹    时间: 2011-6-13 15:52
很想学啊  顶 呵呵
作者: 恠框尹    时间: 2011-6-13 16:01
[localimg=180,147]1[/localimg]  本人刚开始学装配这一部分 想实现上面两个件的装配 请高手指教代码  谢谢啦
作者: tony998    时间: 2011-6-14 10:36
[b]楼主把你多年的开发经验全说出来,不然你就太保守了,要被大家鄙视!垃圾!!
作者: 学习二次开发    时间: 2011-6-20 10:04
我也急需帮忙
介绍UG装配二次开发
作者: 学习二次开发    时间: 2011-6-20 10:04
我也急需帮忙 介绍UG装配二次开发
作者: liangqun1212    时间: 2011-6-22 22:36
强烈支持!
作者: sz_079    时间: 2011-7-7 11:58
我也急需斑竹帮忙
介绍UG装配二次开发
已求捷径
作者: fisherhua    时间: 2011-7-23 09:06
支持更新,续贴 啊




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3