找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 16333|回复: 2
打印 上一主题 下一主题

[求助] 求助,ug中的投影函数。

[复制链接]
跳转到指定楼层
1
发表于 2009-1-15 21:09:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
各位大侠,在ug开发中,我想把空间中的一条样条曲线投影到yz、xy和xz平面上,不知道具体的函数是什么,谁能告诉我,谢谢了!!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2009-1-17 17:54:22 | 只看该作者
#include #include #include #include #include #include #include #define UF_CALL(X) (report( __FILE__, __LINE__, #X, (X))) static int report( char *file, int line, char *call, int irc) { if (irc) { char messg[133]; printf("%s, line %d: %s\n", file, line, call); (UF_get_fail_message(irc, messg)) ? printf(" returned a %d\n", irc) : printf(" returned error %d: %s\n", irc, messg); } return(irc); } static void do_ugopen_api(void) { int along_face = 1; int not_along_face = 0; tag_t arctag; tag_t wcs_tag; tag_t wcs_planetag; tag_t planetag; tag_t proj1tag; tag_t proj2tag; uf_list_p_t curve_refs; uf_list_p_t face1_refs; uf_list_p_t face2_refs; UF_CURVE_arc_t arc_coords; double plan1orig[3] = { 0.0, 0.0, 0.0 }; double plan2orig[3] = { 0.0, 0.0, 3.0 }; double x1axpt[3] = { 1.0, 0.0, 0.0 }; double x2axpt[3] = { 1.0, 0.0, 3.0 }; double plan1pt[3] = { 1.0, 1.0, 0.0 }; double plan2pt[3] = { 0.0, .70710678118655, 3.70710678118655 }; double proj_vector[3] = { 0.0, 0.0, 1.0 }; /* Create planes and arc */ FTN(uf5374)(plan1orig, x1axpt, plan1pt, &wcs_planetag); FTN(uf5374)(plan2orig, x2axpt, plan2pt, &planetag); UF_CALL(UF_CSYS_ask_wcs(&wcs_tag)); UF_CALL(UF_CSYS_ask_matrix_of_object(wcs_tag, &arc_coords.matrix_tag)); arc_coords.start_angle = 0.0; arc_coords.end_angle = 2 * PI; arc_coords.arc_center[0] = 1.0; arc_coords.arc_center[1] = 1.0; arc_coords.arc_center[2] = 6.0; arc_coords.radius = 0.5; UF_CALL(UF_CURVE_create_arc(&arc_coords, &arctag)); UF_CALL(UF_MODL_create_list(&curve_refs)); UF_MODL_create_list(&face1_refs); UF_MODL_create_list(&face2_refs); UF_MODL_put_list_item(curve_refs, arctag); UF_MODL_put_list_item(face1_refs, wcs_planetag); UF_MODL_put_list_item(face2_refs, planetag); UF_CALL(UF_MODL_create_proj_curves(curve_refs, face1_refs, along_face,proj_vector, &proj1tag)); UF_CALL(UF_MODL_create_proj_curves(curve_refs, face2_refs, not_along_face,proj_vector, &proj2tag)); } /*ARGSUSED*/ void ufusr(char *param, int *retcode, int param_len) { if (!UF_CALL(UF_initialize())) { do_ugopen_api(); UF_CALL(UF_terminate()); } } int ufusr_ask_unload(void) { return (UF_UNLOAD_IMMEDIATELY); }
3
发表于 2009-1-17 17:56:55 | 只看该作者
亂了!

在   ug安裝目錄\UGDOC\html_files\ugopen_doc\uf_modl\uf_modl_eg16.c
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-29 14:38 , Processed in 0.024101 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表