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

iCAx开思网

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

ug二次开发中,如何改变视图???

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

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

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

x
请教各位高手:
     ug二次开发中,系统默认的是视图是"TOP",想把零件的视角
由"TOP"(上视图)改变为'"TFR-ISO"(等轴侧视图,Isometric),
该如何改变??
      我试过了许多函数,用UF_ROUTE_create_iso_drawing,没有
任何反应,用uc6449("TFR-ISO"),出现错误,错误提示是View Not Active,
本来想找set_view_active之类的函数,但是没有找到。
     请教各位高手,怎样才能把想把零件的视角由"TOP"(上视图)改变
为'"TFR-ISO"(等轴侧视图,Isometric)???
    敬请各位高手指点,谢谢!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2005-4-16 15:30:00 | 只看该作者
UF_DRAW_set_drawing_info不行吗?
3
发表于 2005-4-18 08:45:23 | 只看该作者
谢谢高手,UF_DRAW是制作二维平面图的吧?
我希望的是把三维图形以等轴测的视角显示就可以了
4
发表于 2005-4-18 22:21:49 | 只看该作者
先通过:UF_OBJ_cycle_by_name( view_name, [$view_tag)]
得到 view_tag;而后用:
UF_DRAW_import_view( drawing_tag, view_tag,
                                       reference_point3, &view_info,
                                       [$draw_view_tag )]
注意让: char*view_name = "TFR-ISO";
5
发表于 2005-4-19 14:52:47 | 只看该作者
想到一个比较笨的方法,UF_VIEW_rotate_view
直接把视图旋转一下
6
发表于 2005-4-20 21:18:57 | 只看该作者
5楼说的方法不合适,
我曾试过,
该函数的功能就是绕设定点旋转设定角度值,
不能达到楼主预期的效果
7
发表于 2005-4-20 22:04:32 | 只看该作者
我也想知道该怎么办
8
发表于 2005-4-21 09:09:26 | 只看该作者
to haiying:
我试你所说的方法,还是不行的。
下面是最简单的代码。
  
      int units=1;
     tag_t part_tag;
     char part_name[132]="c:\\block.prt";
     long error_code;
     error_code=UF_PART_new(part_name,units,[$part_tag)]
  
     char *block_len[3] = {"10","10","5"};
     tag_t  block_feat_id;
     double block_origin[3] = {0.0,0.0,0.0};
     UF_FEATURE_SIGN sign = UF_NULLSIGN;
  
     error_code=UF_MODL_create_block1(sign,block_origin,block_len,[$block_feat_id)]
     tag_t tag_iso;
     error_code=UF_OBJ_cycle_by_name( "TFR-ISO", [$tag_iso )]  
     double dwg_reference_point[2]={0,0};
     UF_DRAW_view_info_t  view_info;
     tag_t  draw_view_tag;
     tag_t drawing_tag;
     error_code=UF_DRAW_ask_current_drawing([$drawing_tag)]
     UF_DRAW_initialize_view_info( [$view_info )]
      error_code=UF_DRAW_import_view(drawing_tag,tag_iso,dwg_reference_point,[$view_info,&draw_view_tag)]
  
      上述代码在运行中,UF_DRAW_ask_currrent_drawing会出错,错误提示
是“there is no current drawing”。
      如果在程序中去掉函数UF_DRAW_ask_currrent_drawing,用part_tag代替UF_DRAW_import_view中的drawing_tag,则UF_DRAW_import_view出错,错误提示是内存访问越界。
  
       请问是由于函数使用不当,还是改函数不适合??
       请高手指点这是怎么回事??
       谢谢!!
9
发表于 2005-4-21 09:52:12 | 只看该作者
在UF_DRAW_ask_current_drawing([$drawing_tag)]前添加上  
UF_DRAW_create_drawing( drawing_name, &drawing_info,
                                        [$new_drawing_tag)]就可以了,试试看!!
10
发表于 2005-4-21 17:02:33 | 只看该作者
程序是调出来了,结果和我预想的一样,得到了一张工程图。
  
而我想要的结果如下图所示。左图是程序得到的实体,视图为“TOP”,
我想要的是它以等轴测视图“TFR-ISO”显示出来,如右图所示。

本帖子中包含更多资源

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

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2025-1-31 17:58 , Processed in 0.026808 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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