【问题标题】:How can I change the data of file property in .slddrw file?如何更改 .slddrw 文件中文件属性的数据?
【发布时间】:2019-01-09 09:37:44
【问题描述】:

有一个菜单可以访问和修改属性,例如谁绘制了绘图文件以及创建它的时间等。您还可以添加更多属性。

更多关于文件属性:

http://help.solidworks.com/2018/english/SolidWorks/sldworks/t_properties_fundamentals.htm

我的目的是用 python 在现有文件上用宏或类似的东西修改属性值。

我知道对于这些事情,最好的选择是 VB/C#,但我只熟悉 python。我已经阅读了有关solidworks的python宏,但这些信息对我来说并不清楚:/。

【问题讨论】:

  • SolidWorks 文件采用专有格式。无论您选择使用 Python、VB 还是 C#,对格式进行逆向工程都可能很困难。
  • 我不想改变格式,只是修改文件中的一些东西
  • 我没有说你想改变格式。但是您想读取文件,更改内容并将其保存回来。这意味着您的程序必须理解格式。为了实现这一点,您将不得不对格式进行逆向工程,因为它是专有的。这可能非常困难。
  • 是的,这会很困难,但是使用 VB/C# 很容易,因为有一个 API,我不知道 python 是什么。

标签: python macros solidworks


【解决方案1】:

要从 Python 调用 SolidWorks COM API,您需要此 VB 的 Python 等效项:

Dim swApp As Object
Set swApp = CreateObject("SldWorks.Application")

幸运的是,这并不难。安装win32com,可以从https://github.com/mhammond/pywin32下载。然后您可以像这样从 Python 调用 SolidWorks COM API:

from win32com.client import Dispatch
swApp=Dispatch("SldWorks.Application")

之后,您可以使用swApp 在 Python 中执行 API 允许您在 VB 中执行的任何操作。变量swApp 是一个围绕 COM 对象的薄 Python 包装器,其行为与 VB 中的完全相同。我看到有大约 250 页的 API 手册。当然,您必须将 VB 示例转换为 Python 语法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    • 2021-07-30
    • 2010-10-02
    • 2022-08-03
    相关资源
    最近更新 更多