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

使用道具 举报

已有7人评论

icemanlc 发表于 2023-5-20 02:49:43
可以的。参考如下代码

  • 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

复制代码
回复

使用道具 举报

whgreen 发表于 2023-5-20 05:41:11
icemanlc 发表于 2023-5-20 02:49
可以的。参考如下代码
  • Dim AssyDoc As AssemblyDocument= ThisDoc.Document
  • Dim oAssyDef As Assembl ......
  • 感谢无私帮助, 我先消化下
    回复

    使用道具 举报

    whgreen 发表于 2023-5-20 05:50:23
    icemanlc 发表于 2023-5-20 02:49
    可以的。参考如下代码
  • 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)
    回复

    使用道具 举报

    icemanlc 发表于 2023-5-21 23:58:14
    这是在装配中对子零件添加自定义值
    回复

    使用道具 举报

    whgreen 发表于 2023-5-22 21:01:22
    Zzippo 发表于 2023-5-21 23:58
    这是在装配中对子零件添加自定义值...
    再次感谢提供代码, 已经实现新增自定义, 谢谢您的帮助!
    回复

    使用道具 举报

    whgreen 发表于 2023-5-22 21:08:34
    Zzippo 发表于 2023-5-21 23:58
    这是在装配中对子零件添加自定义值...
    另外请问, 您给出的代码, 如果我要学习, 需要学习哪方面的知识?

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

    使用道具 举报

    whgreen 发表于 2023-5-22 21:14:04
    Zzippo 发表于 2023-5-21 23:58
    这是在装配中对子零件添加自定义值...
    再请问下, 如果已存在  不做新增, 这句应该怎么写? 判断已有自定义项.
    回复

    使用道具 举报

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

    本版积分规则

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

    Copyright © 2021-2023 Kangli Wu   All Rights Reserved.

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

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