声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2223|回复: 10

[前后处理] 面倒圆命令流问题

[复制链接]
发表于 2007-7-13 10:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
各位,在用命令流进行面倒圆时,格式如下:
AFILLT, NA1, NA2, RAD

但是我现在na1,和na2,不是固定的,
我分别用cm命令定义了两个面,分别ar1,ar2,
为什么我用AFILLT, ar1, ar2, RAD这个命令不行?
应该如何才能运行?


也就是说我如何通过命令流获取面号,点号等。
谢谢。
回复
分享到:

使用道具 举报

发表于 2007-7-13 10:42 | 显示全部楼层
也就是说我如何通过命令流获取面号,点号等。
可以用*get命令取得,点可以用坐标获取;面可以先用asel选取,然后用*get获取面号。
 楼主| 发表于 2007-7-13 10:46 | 显示全部楼层
谢谢楼上的。楼上没有明白我的意思。
!
finish
/pmacro
/CLEAR
/FILNAME,kkbq
!/VIEW,1,-0.50,-0.83,0.25 !调整模型显示方位和角度
!/ANG,1,66


multipro,'start',6   
*cset,1,3,D1,'shell diameter',800
*cset,4,6,D2,'pipe diameter',150
*cset,7,9,T1,'shell thickness',20
*cset,10,12,t2,'pipe thickness',15
*cset,13,15,l1,'shell length',800
*cset,16,18,l2,'pipe length',600

multipro,'end'
*IF,_BUTTON,EQ,1,THEN           !如果选择取消按钮终止运行宏
   /EOF
*ENDIF
multipro,'start',2   
*cset,1,3,r1,'inside fillet radius',10
*cset,4,6,r2,'outside fillet radius',15

multipro,'end'
*IF,_BUTTON,EQ,1,THEN           !如果选择取消按钮终止运行宏
   /EOF
*ENDIF







/prep7

et,2,solid185            !进行结构分析的体单元类型
!et,1,shell57            !定义辅助建模的壳单元类型
!et,2,solid70            !进行热分析的体单元类型

mp,ex,1,2e5                        !定义材料的弹性模量
mp,nuxy,1,0.3                        !定义材料的泊松比


*afun,deg               !转换成角度制


cylind,D1/2+T1,D1/2,0,-L1,90,270,
!wpoff,0,0,-L1/2                        !将工作面沿-Z向移动L1/2
wprot,0,-90,                         !将工作面沿yz旋转90o
cylind,D2/2+T2,D2/2,0,L2,90,180,      !生成接管

VDEL,1,2,,0,
wpcsys,1,0  
APLOT  
/REPLOT

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!    内面相overlap    !!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
lsel,s,radius,,d2/2     
ASLL,,,,
ASEL,U,LOC,Y,L2
ASEL,U,LOC,Y,0
lsel,A,radius,,d1/2   
ASLL,,,,
ASEL,U,LOC,Z,-L1
ASEL,U,LOC,Z,0
AOVLAP,ALL
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!    外面相overlap    !!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ALLSEL
lsel,s,radius,,d2/2+T2     
ASLL,,,,
ASEL,U,LOC,Y,L2
ASEL,U,LOC,Y,0
lsel,A,radius,,d1/2+T1   
ASLL,,,,
ASEL,U,LOC,Z,-L1
ASEL,U,LOC,Z,0
AOVLAP,ALL



!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!    删除多余面和线   !!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

ALLSEL
lsel,s,radius,,d2/2,d2/2+T2
lsel,R,LOC,Y,0
ASLL,,,,
/REPLOT
LSLA,,,,
ASLL,,1,
APLOT   

ADELE,ALL,,,1
Asel,S,LOC,Z,0
ADELE,ALL,,,1
ALLSEL
Asel,S,LOC,X,0
Asel,U,LOC,Y,-D1/2,-D1/2-T1
ADELE,ALL,,,1

ALLSEL
!Ksel,s,LOC,Y,d1/2,d1/2+T1,
Ksel,s,LOC,Y,d1/2-0.001,d1/2+0.001,
Ksel,A,LOC,Y,d1/2+T1-0.001,d1/2+T1+0.001
Ksel,U,LOC,Z,-L1
LSLK,,1,1,
asll,,,,
ADELE,ALL,,,1

allsel
nummrg,all                                   !所有重合的点、线、面信息合并
numcmp,all                                   !所有点、线、面信息依次重排序







lsel,s,radius,,d2/2-0.001,d2/2+0.001,   
ASLL,,,,
ASEL,U,LOC,Y,L2-0.001,L2+0.001
!a1=_return
!cm,ar1,area
!ASEL,U,LOC,Y,0

lsel,A,radius,,d1/2-0.001,d1/2+0.001   
ASLL,,,,
ASEL,U,LOC,Y,L2-0.001,L2+0.001
ASEL,U,LOC,Z,-L1

ASEL,U,LOC,y,d1/2,l2
!cm,ar2,area
allsel

AFILLT,4,5,R1,
a1=_return
AFILLT,6,7,R2,
a2=_return
上面是我的命令流,但是我需要选择出面及点,选出的面进行倒圆,选择关键点则是为了连接成线后生成面和体。
在上面的命令中由于无法获取面号,只能把实际的面号查出来,在命令中直接输上了。AFILLT,4,5,R1,
AFILLT,6,7,R2,
我想通过命令获取出4,5,6,7的面号,及中间关键点的点号。
发表于 2007-7-13 11:01 | 显示全部楼层
在上面的命令中由于无法获取面号,只能把实际的面号查出来,在命令中直接输上了。AFILLT,4,5,R1,
AFILLT,6,7,R2,
我想通过命令获取出4,5,6,7的面号,及中间关键点的点号。

我知道你说的什么意思,你是想让程序自动获取面号,然后把参数传到afillt中进行倒角。
想让命令自动获取面号,首先要知道面的一些特殊属性,然后用这些属性通过asel选取面(这时不知道面号,用asel中面号选取是不可能的),最后在选择的面中用*get获取面号,整个过程中是不涉及面号的,最后获取的是面号。如果你要选取的面没有较特殊的属性,这个方法较难实现。
ps:命令流中也不一定强求全部参数化,如果实现起来很困难就不要在这上面浪费一些时间了。:@)
 楼主| 发表于 2007-7-13 11:09 | 显示全部楼层
venture 你好,不好意思。我翻了书,也没有找到get可以获取面体号的命令格式,get命令好像是获取指定体或面的其他属性的函数。
能否示范一下。非常感谢。
发表于 2007-7-13 11:28 | 显示全部楼层
asel,,loc,x,0
*get,n,area,0,num,max
上面的命令是:
选择hot spot x=0的面,然后再从你选择的面中提取最大的面号赋值给n。如果你选择的面只有1个,那n就是你选择的面号。当然asel还可以用其他属性来选择,如果选中多个面,尽量用asel,u,使得选中的面只有1个。
 楼主| 发表于 2007-7-13 11:31 | 显示全部楼层
刚才知道思路了。谢谢了venture。
应该是把单独的面选择出来,然后获取面的最大或者最小号就可以了。
 楼主| 发表于 2007-7-13 11:33 | 显示全部楼层
AFILLT,4,5,R1,
a1=_return
AFILLT,6,7,R2,
a2=_return
我定义的这两个面a1和a2,在教程上应该是倒圆后产生的面,为什么却是接管上的两个面?是教材错误还是我命令错误?
发表于 2007-7-13 11:33 | 显示全部楼层

恩,基本思路是这样,不过方法有点笨,如果你找到好的方法一起来交流。:@)
发表于 2007-7-13 11:39 | 显示全部楼层
原帖由 koalabear 于 2007-7-13 11:33 发表
AFILLT,4,5,R1,
a1=_return
AFILLT,6,7,R2,
a2=_return
我定义的这两个面a1和a2,在教程上应该是倒圆后产生的面,为什么却是接管上的两个面?是教材错误还是我命令错误?

那你自己找找看是什么原因,现在看到长长的命令流就:@L 。
发表于 2009-4-23 13:01 | 显示全部楼层
嗯 我也想这个问题来着
我觉得应该有这么一个命令  选择一点  所有包含这个点的面都被选中 。。。这样就方便多了
不知道有人知道是否有这个命令  根据line, attached to area , 来选中area 的??
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-30 14:46 , Processed in 0.067591 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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