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

iCAx开思网

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

如何在UG下转换

[复制链接]
跳转到指定楼层
1
发表于 2003-11-29 10:30:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
各位大虾 !!请问在solidwork下建莫后,倒入adams没有mark.
有gg说在UG下导一下就有,如何导?
    能给出详细的步骤吗?
谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2003-11-29 17:11:19 | 只看该作者
实体转换,用parasolid格式阿。
  
我曾经用过solidworks导出到parasolid,然后导入到adams没有问题的。
  
试试parasolid的版本。用低一些的版本行不行?
3
发表于 2003-12-1 20:37:20 | 只看该作者
谢谢斑竹!我用solidworks导出parasolid,然后导入adams没有问题的。
但导出parasolid的物体没有cm等的mark点。我看斑竹的曲柄压力机导出
parasolid有cm等的mark点。
   我请问斑竹能不能将sw导出parasolid先导入ug,使物体能有cm等的mark点,再输出parasolid导入adams?
  如何实现这一步骤?我试了几次不行,请斑竹给出详细的步骤,谢谢
4
发表于 2003-12-1 20:45:12 | 只看该作者
在UG里导出PARASOLID格式,(因为ADAMSH核心即是PARASOLID)  
EXPORT-PARASOLID, 选V12~17版,注意存的时候存成*。XMT_TXT.  
在ADAMS中导入即可了.  
  
怎么样将UG里装配好的装配图导入ADAMS里? 输出parasolid时, 全选就行了。输出parasolid时, 用鼠标框选就可以输出整个装配了,装配位置不会改变,非常方便但主意选择版本时选择11~16版本,否则。。。。  
  
1. 在UG-MOTION里,file-export-adams, 对话框中,输入文件名,GEOMETORY FORMATE 选PAROSOLIDE, OK, 那么你的输出目录里就有两个文件,一个是*。ANL,一个是*.XMT_TXT, 把ANL那个文件改名成*.ADM,  
2. 然后在ADAMS里把两个文件分两次导入就行了,注意放到同一个MODEL里.
5
发表于 2003-12-2 17:25:26 | 只看该作者
https://icax.org/cgi-bin/ut/topico_show.cgi?id=42447&h=1#642375  
UG和ADAMS连接的问题,可以这里去看看。
6
发表于 2003-12-7 18:18:10 | 只看该作者
谢谢flanker的解答。不过你的gear文件好像丢失了啊
7
发表于 2006-12-31 02:50:25 | 只看该作者
/*****************************************************************************
**
** Ug2Ansys.cpp
**
** 描述: 实现从UG模型(单个部件或装配体)自动导出Parasolid格式模型, 作为Ansys输入
**
** 作者: 李 响, 中国地质大学(北京) 2006.12.31
**  QQ : 6295685
** MSN : lx_popsoft@hotmail.com
**
*****************************************************************************/

/* 包含头文件 */
#if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun )
#   include <strstream>
#   include <iostream>
    using std:strstream;
    using std::endl;   
    using std::ends;
    using std::cerr;
#else
#   include <strstream.h>
#   include <iostream.h>
#endif
#include <stdio.h>
#include <uf.h>
#include <uf_part.h>
#include <uf_modl.h>
#include <uf_assem.h>
#include <uf_ps.h>
#include <uf_obj.h>
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))

//================================================================
// 函数声明
static void PrintErrorMessage( int error_code, char *msg_text);
void make_body_list_part(tag_t part_tag);
void make_body_list_assem(tag_t body_tag);
//================================================================
// 全局变量, 定义链表
uf_list_p_t body_list;
//================================================================


static int report_error( char *file, int line, char *call, int irc)
{
    if (irc)
    {
        char err[133],
             msg[133];

        sprintf(msg, "*** ERROR code %d at line %d in %s:\n+++ ",
            irc, line, file);
        UF_get_fail_message(irc, err);

        UF_print_syslog(msg, FALSE);
        UF_print_syslog(err, FALSE);
        UF_print_syslog("\n", FALSE);
        UF_print_syslog(call, FALSE);
        UF_print_syslog(";\n", FALSE);
    }

    return(irc);
}
/* 主程序 */
extern void main( char argc, char *argv[] )
{

        //======================================================
        static char prtname[133];                                // 部件文件名
        static char expname[133];                                // 表达式文件名
        static char x_tname[133];                                // Parasolid文件名

        // 读取输入参数: 部件文件名, 表达式文件名, Parasolid文件名
        // 注意Parasolid文件名默认路径C:\Documents and Settings\lix\Local Settings\Temp, 且每次运行前注意将其删除
        strcpy(prtname, argv[1]);
        strcpy(expname, argv[2]);
        strcpy(x_tname, argv[3]);
        //======================================================

    /* 初始化API环境 */
    if( UF_CALL(UF_initialize()) )
    {
        /* 初始化失败 */
        return;
    }
   
        //======================================================
        // 更新模型部分
        //======================================================

        tag_t part_tag;                                                        // 部件标识
        UF_PART_load_status_t load_status;                // 表示打开的文件操作是否产生错误
        //======================================================

        // 打开部件
        int status = UF_PART_open(prtname, &part_tag, &load_status);               
        if (status != 0)
                PrintErrorMessage(status, "Failed in UF_PART_open!");

        // 导入表达式文件
        status = UF_MODL_import_exp(expname, 0);
        if (status != 0)
                PrintErrorMessage(status, "Import of expression failed!");
        
        // 更新处理
        status = UF_MODL_update();
        if (status != 0)
                PrintErrorMessage(status, "Update failed!");
        
        // 保存更新后部件
        status = UF_PART_save();
        if (status != 0)
                PrintErrorMessage(status, "Saving failed!");

        //======================================================
        // 导出Parasolid格式文件部分
        //======================================================
        
        // 获得装配树根事例root_part_occ, 当函数返回NULL_TAG时, 表明当前部件文件中没有装配(即单个部件)
        tag_t root_part_occ = UF_ASSEM_ask_root_part_occ(part_tag);
        //======================================================

        // 创建链表
        status = UF_MODL_create_list(&body_list);
        if (status != 0)
                PrintErrorMessage(status, "Create list failed!");

        // 如果是单个部件
        if(root_part_occ == NULL_TAG)
        {
                // 将当前单个部件加入到链表中
                make_body_list_part(part_tag);
        }
        //如果是装配体
        else
        {
                tag_t obj = UF_ASSEM_ask_prototype_of_occ(root_part_occ);
                make_body_list_assem(obj);
        }

        //======================================================
        // 链表长度
        //int list_count;
        // 获取链表长度
        //status = UF_MODL_ask_list_count(body_list, &list_count);
        //if (status != 0)
        //        PrintErrorMessage(status, "Ask list count failed!");

        //// 输出链表长度
        //printf("====================================");
        //printf("\n==list_count==%d\n", list_count);
        //printf("====================================");
        //======================================================

        // 如果文件存在, 先删除
        remove(x_tname);

        // 创建Parasolid文件
        status = UF_PS_export_data(body_list, x_tname);
        if (status != 0)
                PrintErrorMessage(status, "arasolid export failed!");

        // 删除链表
        status = UF_MODL_delete_list(&body_list);
        if (status != 0)
                PrintErrorMessage(status, "Delete body_list failed!");

        //======================================================
    /* 退出API环境 */
    UF_CALL(UF_terminate());
}
8
发表于 2008-8-15 20:30:38 | 只看该作者
请问UG装配图转到ADAMS后,仍能保持装配关系么?我倒进后,运动副好像得重新定义啊?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2025-4-23 06:00 , Processed in 0.027687 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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