iCAx开思网
标题:
如何在UG下转换
[打印本页]
作者:
tj419
时间:
2003-11-29 10:30
标题:
如何在UG下转换
各位大虾 !!请问在solidwork下建莫后,倒入adams没有mark.
有gg说在UG下导一下就有,如何导?
能给出详细的步骤吗?
谢谢!
作者:
Jeriflee
时间:
2003-11-29 17:11
实体转换,用parasolid格式阿。
我曾经用过solidworks导出到parasolid,然后导入到adams没有问题的。
试试parasolid的版本。用低一些的版本行不行?
作者:
tj419
时间:
2003-12-1 20:37
谢谢斑竹!我用solidworks导出parasolid,然后导入adams没有问题的。
但导出parasolid的物体没有cm等的mark点。我看斑竹的曲柄压力机导出
parasolid有cm等的mark点。
我请问斑竹能不能将sw导出parasolid先导入ug,使物体能有cm等的mark点,再输出parasolid导入adams?
如何实现这一步骤?我试了几次不行,请斑竹给出详细的步骤,谢谢
作者:
bigfrog
时间:
2003-12-1 20:45
在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里.
作者:
flanker-forever
时间:
2003-12-2 17:25
https://icax.org/cgi-bin/ut/topico_show.cgi?id=42447&h=1#642375
UG和ADAMS连接的问题,可以这里去看看。
作者:
homage79
时间:
2003-12-7 18:18
谢谢flanker的解答。不过你的gear文件好像丢失了啊
作者:
skystar2001
时间:
2006-12-31 02:50
/*****************************************************************************
**
** 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());
}
作者:
fengzhishizhe
时间:
2008-8-15 20:30
请问UG装配图转到ADAMS后,仍能保持装配关系么?我倒进后,运动副好像得重新定义啊?
欢迎光临 iCAx开思网 (https://www.icax.org/)
Powered by Discuz! X3.3