+发表新主题
rwcrwc 发布于2024-12-20 22:40 395 次浏览 7 位用户参与讨论
跳转到指定楼层
例如过往的文件iproperty自定义项没有<打印日期>, 过往文件不能一个个添加  <打印日期> 所以想利用iLogic实现, 苦于自己能力有限, 前来求助!
回复

使用道具 举报

已有7人评论

小孩在飞1 发表于 2024-12-22 21:24:05
可以的。参考如下代码

  • Dim AssyDoc As AssemblyDocument= ThisDoc.Document
  • Dim oAssyDef As AssemblyComponentDefinition = AssyDoc.ComponentDefinition
  • Dim oBOM As BOM = oAssyDef.BOM
  • oBOM.PartsOnlyViewEnabled = True
  • Dim oBOMView As BOMView = oBOM.BOMViews.Item(3)
  • Dim oCompDef As ComponentDefinition
  • Dim CompFileNameOnly As String

  • For Each oBOMRow  As BOMRow In oBOMView.BOMRows
  •         oCompDef = oBOMRow.ComponentDefinitions.Item(1)
  •         CompFileNameOnly = oCompDef.Document.displayname
  •         iProperties.Value(CompFileNameOnly, "Custom", "打印时间") =“时间”Next

复制代码
回复

使用道具 举报

rwcrwc 发表于 2024-12-23 04:19:49
小孩在飞1 发表于 2024-12-22 21:24
可以的。参考如下代码
  • Dim AssyDoc As AssemblyDocument= ThisDoc.Document
  • Dim oAssyDef As Assembl ......
  • 感谢无私帮助, 我先消化下
    回复

    使用道具 举报

    rwcrwc 发表于 2024-12-23 04:25:48
    小孩在飞1 发表于 2024-12-22 21:24
    可以的。参考如下代码
  • Dim AssyDoc As AssemblyDocument= ThisDoc.Document
  • Dim oAssyDef As Assembl ......
  • 以上面的代码新建了个ilogic规则, 执行报错如下
    System.InvalidCastException: 无法将类型为“Inventor._DocumentClass”的 COM 对象强制转换为接口类型“Inventor.AssemblyDocument”。此操作失败的原因是对 IID 为“{29F0D465-C114-11D2-B77F-0060B0F159EF}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 不支持此接口 (异常来自 HRESULT:0x80004002 (E_NOINTERFACE))。
       在 ThisRule.Main()
       在 Autodesk.iLogic.Exec.AppDomExec.ExecRuleInAssembly(Assembly assem)
       在 iLogic.RuleEvalContainer.ExecRuleEval(String execRule)
    回复

    使用道具 举报

    小孩在飞1 发表于 2024-12-23 19:33:40
    这是在装配中对子零件添加自定义值
    回复

    使用道具 举报

    rwcrwc 发表于 2024-12-25 11:01:20
    小孩在飞1 发表于 2024-12-23 19:33
    这是在装配中对子零件添加自定义值...
    再次感谢提供代码, 已经实现新增自定义, 谢谢您的帮助!
    回复

    使用道具 举报

    rwcrwc 发表于 2024-12-25 11:08:33
    小孩在飞1 发表于 2024-12-23 19:33
    这是在装配中对子零件添加自定义值...
    另外请问, 您给出的代码, 如果我要学习, 需要学习哪方面的知识?

    AIP系统给的代码段, 作为没有编程基础的人来说实在太少了
    回复

    使用道具 举报

    rwcrwc 发表于 2024-12-25 11:17:24
    小孩在飞1 发表于 2024-12-23 19:33
    这是在装配中对子零件添加自定义值...
    再请问下, 如果已存在  不做新增, 这句应该怎么写? 判断已有自定义项.
    回复

    使用道具 举报

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

    本版积分规则

    QQ| Archiver|手机版|小黑屋| 碧波制图网 Published by Stonespider

    Copyright © 2021-2023 Kangli Wu   All Rights Reserved.

    Powered by Discuz! X3.5( 苏ICP备18011607号-1 )

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