是否可以使用Autolisp将查找参数推入多个块定义

是否可以使用Autolisp将查找参数推入多个块定义,autolisp,Autolisp,我将举一个假设的例子来说明我的问题。假设我在椅子的动态块定义上有一个查找参数“Color”,我给了它可能的值“Red”、“Blue”和“Green”。现在,我需要将此查找参数推送到其他类型椅子的大量其他动态块定义中。我不想为每个定义进入UI和块编辑器并添加这个查找参数。相反,我希望通过编写Autolisp例程并传入不同的块来实现自动化 使用Autolisp可以这样做吗?是否可以使用任何其他AutoCAD API 以下说明: 我要编辑不同的块定义,而不是参照 我不想使用块特性表,因为我已经将其用于

我将举一个假设的例子来说明我的问题。假设我在椅子的动态块定义上有一个查找参数“Color”,我给了它可能的值“Red”、“Blue”和“Green”。现在,我需要将此查找参数推送到其他类型椅子的大量其他动态块定义中。我不想为每个定义进入UI和块编辑器并添加这个查找参数。相反,我希望通过编写Autolisp例程并传入不同的块来实现自动化

使用Autolisp可以这样做吗?是否可以使用任何其他AutoCAD API

以下说明:

  • 我要编辑不同的块定义,而不是参照
  • 我不想使用块特性表,因为我已经将其用于其他目的

  • 简言之:不,此功能从未向LISP API公开过

    虽然可以检索和更改现有动态块参数的值(使用块参照对象的方法),但不能在块定义中创建或修改动态块参数,也不能通过Visual LISP API看到此类对象

    奇怪的是,当通过Vanilla AutoLISP查询块定义的DXF数据时,通过检查
    ACAD\u ENHANCEDBLOCK
    字典(位于
    block\u记录
    实体的扩展字典中),这些参数是可见的:

    (dictsearch)
    (cdr
    (助理秘书长360)
    (恩杰
    (cdr
    (助理文书主任330)
    (恩杰
    (tblobjname“block”“YourDynamicBlockName”)
    )
    )
    )
    )
    )
    )
    “acad_增强块”
    )
    
    然而,这一领域的DXF数据完全没有文档记录,如果直接修改,可能会产生意外和不稳定的结果,因为API不正式支持它