iCAx开思网

标题: 搞UG开发的过来报一下到 [打印本页]

作者: look_tfq    时间: 2009-1-9 18:50
标题: 搞UG开发的过来报一下到
统计一下在搞UG开发或将来要吃这碗饭的有多少人.
自个先签到.本人在做cnc编程,一边用GRIP和VC6在搞开发,目标是搞个自动编程的东东出来.不过还远

先送上一个小礼品,优化过的出中心线的GRIP程式,画不对称中心线进特好用
作者: pgyzyz    时间: 2009-1-9 19:25
侧重二次开发还是数控加工?
楼主搞开发到什么程度了?为什么没有涉及API?
我目前也正在开发个小系统,让它自动生成nc代码,至少是加工路线的坐标值。
有没有交流下?呵呵
不过你的小礼物,我要下载下来好好用用
作者: damogulang85    时间: 2009-1-13 14:33

作者: MIRRO_LEE    时间: 2009-1-13 14:41
目前正在边学边搞个小程序。。。
新手上路。。。
作者: cam-yp    时间: 2009-1-14 08:51
搞开发的多得不得了
作者: -KASA-    时间: 2009-1-15 19:11
入门前,代码最重要。
入门后,思路最重要。
作者: 鸿辉模具    时间: 2009-1-15 22:37
原帖由 -KASA- 于 2009-1-15 19:11 发表
入门前,代码最重要。
入门后,思路最重要。




作者: learnlf    时间: 2009-1-16 09:46
提示: 作者被禁止或删除 内容自动屏蔽
作者: look_tfq    时间: 2009-1-17 18:07
直接向VC++迈进,将来是主流,结合GRIP更好一些,API毕竟要繁杂得多
作者: xbear    时间: 2009-1-18 11:10
楼主的VC6。0是基于UG4。0的吗
作者: my_dear2002    时间: 2009-1-21 22:49
顶 狂顶 往死理顶
作者: OpenSea    时间: 2009-3-29 17:13
其实UG的版本不重要,重要的是好用不好用
作者: 极地雪狼    时间: 2009-4-2 12:28
学习中
作者: zhangcanwei    时间: 2009-4-2 23:25
以前用grip,C。现在用Visual studio2008中的VB。open C彻底不想用了,觉得好像要被.net替代。不过.net函数好像还不全。我感觉最终open.net会象.net语言那样好用
作者: 泽谷    时间: 2009-4-3 12:29
我是用UG做注塑模具设计的,有兴趣的可以和我交流交流啊。QQ360556716
作者: daojianrm    时间: 2009-4-7 11:11
我用API,GRIP不太了解,也是在做一些小程序,希望多多和大家交流
作者: HMK    时间: 2009-8-4 19:04
新手上路。。。
作者: lgmsddy    时间: 2009-8-9 07:33
我是新手%%%%………………
作者: C1Z1M11    时间: 2009-9-20 09:59
我刚入门开发,先学习MW规则,然后准备完善MW模块,提高分模速度.最后学习语言,彻底改变UGMW.
作者: ZHANG_20    时间: 2009-9-20 15:19
想学,苦于无师
作者: ugopenman    时间: 2009-10-6 21:25
南京欧奔软件技术有限公司招聘NX二次开发的高手,有意都可ymzhou@ugopen.cn
作者: memo100    时间: 2009-10-8 21:50
请教用什么方法打开*GRX文件。小弟正在学习GRIP语言。想看看前辈们写的程式。用来实战分析及学习。
谢谢。
作者: NREC    时间: 2009-11-28 14:48
初学者 受教了
作者: look_tfq    时间: 2009-12-7 15:16
盗版的这么快,心寒啊
搞软件没饭吃啊
作者: GZ_CRH    时间: 2009-12-21 23:11
能发个中心线源码?????。非常感谢 !QQ:344979182
作者: GZ_CRH    时间: 2009-12-21 23:26
Crh_Mold报道来了
作者: 伴我飞翔    时间: 2009-12-21 23:27
支持楼主,非常好的礼物
作者: look_tfq    时间: 2009-12-22 09:24
grip的通用性太差,个别功能无法实现,不建议使用
作者: look_tfq    时间: 2009-12-22 09:25
现在主要用API结合MFC做事
作者: look_tfq    时间: 2009-12-22 09:27
CDlgOffsetValue extend;
                extend.DoModal();

                const int nTrip=2;

                UF_UI_mask_t tripels[nTrip];
               
                tripels[0].object_type=UF_solid_type;
                tripels[0].object_subtype=UF_solid_body_subtype;
                tripels[0].solid_type=UF_UI_SEL_FEATURE_SOLID_BODY;

                tripels[1].object_type=UF_solid_type;
                tripels[1].object_subtype=UF_solid_body_subtype;
                tripels[1].solid_type=UF_UI_SEL_FEATURE_SOLID_BODY;

                uc1601("Please select solid body....",0);
                tag_t* bodies;
                int nBody=0;
                int response=SelectByClass(tripels,2,&bodies,nBody);
                if(response!=3||nBody==0) return;

                CSolidObj analysis(*bodies);
                for(int i=1;i!=nBody;++i)
                {
                        analysis.addOneObject(*(bodies+i));
                       
                }

                double minCorner[3]={0,0,0},maxCorner[3]={0,0,0};
                double tempValue1[3]={0,0,0},tempValue2[3]={0,0,0};
                for(int j=0;j!=3;++j)
                {
                        tempValue1[j]=analysis.limit[j]-extend.offsetValue;
                        tempValue2[j]=analysis.limit[j+3]+extend.offsetValue;
                }

                //mapWcsToCsys(tempValue1,minCorner);
                //mapWcsToCsys(tempValue2,maxCorner);

        /*
                UF_CURVE_line_t lineInfo[3],lineInfoOfCsys[3];
                lineInfo[0].start_point[0]=minCorner[0];
                lineInfo[0].start_point[1]=0;
                lineInfo[0].start_point[2]=0;
                lineInfo[0].end_point[0]=maxCorner[0];
                lineInfo[0].end_point[1]=0;
                lineInfo[0].end_point[2]=0;
               
                lineInfo[1].start_point[0]=0;
                lineInfo[1].start_point[1]=minCorner[1];
                lineInfo[1].start_point[2]=0;
                lineInfo[1].end_point[0]=0;
                lineInfo[1].end_point[1]=maxCorner[1];
                lineInfo[1].end_point[2]=0;
               
                lineInfo[2].start_point[0]=0;
                lineInfo[2].start_point[1]=0;
                lineInfo[2].start_point[2]=minCorner[2];
                lineInfo[2].end_point[0]=0;
                lineInfo[2].end_point[1]=0;
                lineInfo[2].end_point[2]=maxCorner[2];

                for(int j=0;j!=3;++j)
                {
                        mapWcsToCsys(lineInfo[j].start_point,lineInfoOfCsys[j].start_point);
                        mapWcsToCsys(lineInfo[j].end_point,lineInfoOfCsys[j].end_point);
                }
        */
               
                double wcsOfLine1[2][3]={{0,0,0},{0,0,0}};
                double wcsOfLine2[2][3]={{0,0,0},{0,0,0}};
                double wcsOfLine3[2][3]={{0,0,0},{0,0,0}};

                double csysOfLine1[2][3]={{0,0,0},{0,0,0}};
                double csysOfLine2[2][3]={{0,0,0},{0,0,0}};
                double csysOfLine3[2][3]={{0,0,0},{0,0,0}};
                wcsOfLine1[0][0]=tempValue1[0];
                wcsOfLine1[0][1]=0;
                wcsOfLine1[0][2]=0;
                wcsOfLine1[1][0]=tempValue2[0];
                wcsOfLine1[1][1]=0;
                wcsOfLine1[1][2]=0;
               
                wcsOfLine2[0][0]=0;
                wcsOfLine2[0][1]=tempValue1[1];
                wcsOfLine2[0][2]=0;
                wcsOfLine2[1][0]=0;
                wcsOfLine2[1][1]=tempValue2[1];
                wcsOfLine2[1][2]=0;
               
                wcsOfLine3[0][0]=0;
                wcsOfLine3[0][1]=0;
                wcsOfLine3[0][2]=tempValue1[2];
                wcsOfLine3[1][0]=0;
                wcsOfLine3[1][1]=0;
                wcsOfLine3[1][2]=tempValue2[2];

                mapWcsToCsys(wcsOfLine1[0],csysOfLine1[0]);
                mapWcsToCsys(wcsOfLine1[1],csysOfLine1[1]);
                mapWcsToCsys(wcsOfLine2[0],csysOfLine2[0]);
                mapWcsToCsys(wcsOfLine2[1],csysOfLine2[1]);
                mapWcsToCsys(wcsOfLine3[0],csysOfLine3[0]);
                mapWcsToCsys(wcsOfLine3[1],csysOfLine3[1]);       

                UF_CURVE_line_t lineInfo[3];
                lineInfo[0].start_point[0]=csysOfLine1[0][0];
                lineInfo[0].start_point[1]=csysOfLine1[0][1];
                lineInfo[0].start_point[2]=csysOfLine1[0][2];
                lineInfo[0].end_point[0]=csysOfLine1[1][0];
                lineInfo[0].end_point[1]=csysOfLine1[1][1];
                lineInfo[0].end_point[2]=csysOfLine1[1][2];
               
                lineInfo[1].start_point[0]=csysOfLine2[0][0];
                lineInfo[1].start_point[1]=csysOfLine2[0][1];
                lineInfo[1].start_point[2]=csysOfLine2[0][2];
                lineInfo[1].end_point[0]=csysOfLine2[1][0];
                lineInfo[1].end_point[1]=csysOfLine2[1][1];
                lineInfo[1].end_point[2]=csysOfLine2[1][2];       

                lineInfo[2].start_point[0]=csysOfLine3[0][0];
                lineInfo[2].start_point[1]=csysOfLine3[0][1];
                lineInfo[2].start_point[2]=csysOfLine3[0][2];
                lineInfo[2].end_point[0]=csysOfLine3[1][0];
                lineInfo[2].end_point[1]=csysOfLine3[1][1];
                lineInfo[2].end_point[2]=csysOfLine3[1][2];
/*
                char temp[200]="";
                sprintf(temp,"wcsline1_pt1:%.2f,%.2f,%.2f\nline1_pt2:%.2f,%.2f,%.2f",
                        wcsOfLine1[0][0],wcsOfLine1[0][1],wcsOfLine1[0][2],
                        wcsOfLine1[1][0],wcsOfLine1[1][1],wcsOfLine1[1][2]);
                       
                        lineInfo[0].start_point[0],lineInfo[0].start_point[1],lineInfo[0].start_point[2],
                        lineInfo[0].end_point[0],lineInfo[0].end_point[1],lineInfo[0].end_point[2]);
                       
                uc1601(temp,1);
                return;
作者: look_tfq    时间: 2009-12-22 09:29
以上是用API写的源码,比较简单,仅供参考
作者: ggyybon    时间: 2010-4-30 14:17
是否建個QQ群大家交流一下
作者: xingjun230    时间: 2010-5-6 19:17
呵呵,报个道哦
作者: wenxuejixie    时间: 2010-5-12 10:57
    顶,支持,多多交流!
作者: yijianmei1    时间: 2010-5-12 13:18
感觉人不少啊!看来选择不错
作者: 屠倚龙天    时间: 2010-5-12 21:47
入门前,代码最重要。
入门后,思路最重要。
作者: maikyugi    时间: 2010-5-20 10:20
二次开发中...
作者: guoling167    时间: 2010-11-22 21:13
MARK一下,新手
作者: xh3005    时间: 2010-12-5 11:21
ding ding a ding
作者: SWORDINHAND    时间: 2012-5-1 18:55
鸿辉模具 发表于 2009-1-15 22:37


作者: SWORDINHAND    时间: 2012-5-1 19:48
ZHANG_20 发表于 2009-9-20 15:19
想学,苦于无师

自己试 代码 三 ,  对不对头 电脑 会  有结果 三
作者: 四眼仔    时间: 2012-5-5 23:35
专职模具设计,这两年才开始搞OPEN API。可惜搞出来的东西只有自己才会用
作者: hyfjy    时间: 2012-5-24 22:29
memo100 发表于 2009-10-8 21:50
请教用什么方法打开*GRX文件。小弟正在学习GRIP语言。想看看前辈们写的程式。用来实战分析及学习。
谢谢。

那是经处理的二进制文件吧,一般打开都是乱码。处理成这种格式就是防止程序被占了。
作者: hyfjy    时间: 2012-5-24 22:42
一个用GRIP语言写的弧齿锥齿轮副建模过程:

[attach]1131241[/attach]

作者: fangyanweilai    时间: 2012-5-27 19:50
虽不懂,支持一下
作者: hyfjy    时间: 2012-5-27 21:39
本人近二年来对UG中的GRIP开发有兴趣,做成的格里森制直齿锥齿轮副数字化建模的过程如下:

[attach]1131538[/attach]

用二次开发GRIP与正常的QB语言很接近,这样就能直接在原有软件中加入新的内容,自动生成建模的文件,经UG识别后导入UG直接生成设计好的二维模型了。





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