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

iCAx开思网

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

【题目2】搞点关系,两分(停止加分)

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

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

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

x
干我们这行文档的管理很重要,所以零件文件的命名要有一定的标准,我觉得一个文件名至少要包括下面三个要素:
产品编号.
零件号
零件名
例如:  产品编号-零件号-零件名(ex001-2001-part_name)
下面我们就按这个命名规则来做一个模板文件,要求是这样:
  
    1.产品号五位,零件号四位,零件名不限.
  
    2.增加四个string的参数:product_no产品号,part_no零件号,part_name产品名.comment:提示
    根据文件名用关系提取这些参数的值,如文件名ex001-2001-part_name的话,则
product_no="ex001",part_no="2001",part_name="part name"(注意要去掉中间的"_"),comment为空.
     如文件名为ex001-2001-partname:则其它不变,part_name="partname"
  
   3.在drawing中做一个表,将这四个参数的值显示出来.如下图:
做到这里为一分.
  
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2002-10-12 09:34:54 | 只看该作者
4.如果文件名不是用标准起的,例如变成asdgsgg,则comment="pls use standard file name!",并在part中显示comment;如下图:
  只要求针对如下两种情况:i.文件名不足12位  ii.第六和十一位不是"-"
做到这里再加一分;
  
写出具体的关系和做法,不要贴出part.我会pm告诉你正确与否,四天后一起给分.
3
发表于 2002-10-12 09:36:06 | 只看该作者
ex001-2001-trainning
4
发表于 2002-10-12 09:52:40 | 只看该作者
能否给点提示,文件名怎么在PROE/DRAWING中提取?
5
发表于 2002-10-12 10:04:11 | 只看该作者
可能要用的函数:;)
  
function
上次更新時間: 08/09/2001 13:42:14  
  
--------------------------------------------------------------------------------
  
ceil和floor均可有一個附加參數,用它可指定舍去的小數位.
  
  ceil(parameter_name or number, number_of_dec_places).
  floor(parameter_name or number, number_of_dec_places).
                 |                         |
              參數名或數值.          要保留的小數位(可省略)
  number_of_ded_places:它的取值的不同可有不同的結果.
    i)可以為數值亦可為參數,若為實數則取整.
    ii)若number_of_dec_place>8,則不作任何處理,用原值
       若number_of_dec_place≦8,則舍去其后的小數位,則進位
  
   例如:   
          
          Ceil(10.2)-->11           比10.2大的最小整數為11.
          floor(-10.2)-->-11       比-10.2小的最大整數為-11.
          floor(10.2)-->10          比10.2小的最大整數為10.
  
          Ceil(10.255,2)-->10.26.           比10.255大的最小符合數.
          Ceil(10.255,0)-->11
          floor(10.255,1)-->10.2
    
           Len1=ceil(20.5)         ==>Len1=21
           Len2=floor(-11.3)       ==>Len2=-12
           Len=Len1+Len2           ==>Len=9
  
--------------------------------------------------------------------------------
  
  
  
o string_length(  )
  用法:String_length(Parameter name or string).
                           參數名或字符串
  例:   
       strlen1=string_length("material")   則 strlen1=8
       若material="steel",strlen2=string_length(material),則strlen2=5,字符串要用"  "括起,
       空格亦算一個字符.
  
o rel_model_name(  )
  用法:rel_model_name(  )  注意括號內為空的,返回目前模型名稱.
  例:
    當前模型為-part1,則
    partName=rel_model_name(  )==>partName="part1"
    如在裝配圖中,則需加上進程號(session Id),例如
    partName=rel_model_name:2(  )
  
o rel_model_type(  )   返回目前模型類型
  用法: rel_model_type(  )
  例:   
       如當前模型為裝配圖
        parttype=rel_model_type(  ) ==>parttype="ASSEMBLY".
       若為一零件圖則  ==>parttype="ART".
  
o exists(  )   測試項目存在與否
  用法:exists(Item)  Item可以是參數或尺寸.
  例:  
      If exists(d5)    檢查零件內是否有d5尺寸.
      If exists("material")  檢查零件內是否有material參數.
      
o itos(  )  將整數換成字符串
  用法: Itos(integer) 整數,若為實數則舍去小數點.
  例:
     S1=Itos(123)==>s1="123"
     S2=itos(123.57)==>s2="123"
     intl=123.5   s3=itos(intl)==>s3="123"
  
o search(  )   查找字串,返回位置值
  用法:search(string,substring).
       string:原字串
       substring:要找的字串.
      查到則返回位置,否則返回0,第一個字符位置值為1,依此類推.
   例 :
       &nbsparstr=abcdef.則
        Where=search(parstr,"bcd"")==>Where=2.
        Where=search(parstr,"bed")==>where=0(沒查到).
  
o extract(  )  提取字符串
  用法:extract(string,position,length)
                  |      |        |
                原字串  提取位  提取字符數
       position:大于0而小于字符串長度.
       length:  position+length-1 不能大于字符串長度.
    例:
       new=extraecl("abcded",2,3)==>new="bcd".
       其含義是: 從"abcdef"串的第2個字符(b)開始取出3個字符.
  
  
--------------------------------------------------------------------------------
  
o lookup_inst(  ) 從族表中找出符合條件的例證成員
用法:   lookup_inst("generic_name",match_mode,"param_name1",match_value1,
                    "param_name2",match_value2,...)  
參數說明:
    generic_name: 一般模型文件名(*.prt;*.asm).
    match_mode:   匹配方式,有如下取值:
           ==>-1:  
           ==>0:
           ==>1:
  
6
发表于 2002-10-12 10:25:36 | 只看该作者
有点头绪但还不是很清楚!!
  
将字符串作为关系的自变量来传递
下列函数允许用户使用串作为自变量:
  
·string_length() - 返回某参数中字符的个数。例如,串参数material的值是steel,则string_length(material)等于5,因为“steel”有5个字母。
  
·rel_model_name() - 返回当前模型名。例如,如果当前在零件A中工作,则rel_model_name()等于A。要在组件的关系中使用该函数,关系象下面这个样子:
  
名称 = rel_model_name:2()
  
注意括号 () 内是空的。
  
·rel_model_type() - 返回当前模型的类型。如果正在“组件”模式下工作,则rel_model_type()等于组件。
  
·exists() - 判断某个项目(如参数、尺寸)是否存在。该函数适用于正在计算关系的模型,或任何模型\元件或子模型结构。
  
例如:
  
―if exists("d5:20") - 检查运行时间标识为20的模型其尺寸是否为d5
  
―if exists (``par:fid_25:cid_12'') - 检查元件标识12中特征标识为25的特征是否有参数par
  
这允许进行基于参数的决策,该参数只存在于大型组件的一个零件中。例如,假设在大型组件中有若干系统(诸如液压的、气动的、电子的系统),但大多数对象不属于任何系统。  
  
在这种情况下,为了进行基于参数的计算评估,只需要给系统中所属的模型指派适当的参数。例如,如果电子系统中的项目需要使用BOM报表中的零件号,而不是模型名,则可以创建一个报表参数bom_name,并写出如下关系:
  
if exists("asm_mbr_cabling")
bom_name = part_no
else
bom_name = asm_mbr_name
endif
7
发表于 2002-10-12 10:58:37 | 只看该作者
我的思路大概是这样的,请冰辉兄指点
  
1,第一,得让PRO/E返回当前模型的名称作为参数!
2,然后将这个字符型参数分三段取出来,分别为产品编号-零件号-零件名
3,在绘图中绘制表格将以上参数显示出来!
4,写条件关系式!以判断文件名是否正确!!!!
8
发表于 2002-10-12 11:03:00 | 只看该作者
基本是这样,行动吧,把关系列出来!
9
发表于 2002-10-12 11:11:44 | 只看该作者
好,
给我一些时间,我这几天比较忙,边上网边做事!
10
发表于 2002-10-12 13:10:26 | 只看该作者
这个也没人支持,55555...:~)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2025-5-5 04:48 , Processed in 0.027629 second(s), 13 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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