【问题标题】:Hide block selection dialog on bedit command在 bedit 命令上隐藏块选择对话框
【发布时间】:2014-01-27 23:24:08
【问题描述】:

我需要通过块名打开块编辑器,所以我以这种方式执行命令:

document.SendStringToExecute("_BEDIT "+blockName+"\n", true, false, false); 

运行这行代码后会出现“选择块”对话框,但我需要自动选择块。那么有没有办法在没有任何对话框的情况下进入块编辑器状态?我没有找到任何不使用命令行来运行块编辑器的方法,也没有找到使对话框消失的系统变量。

【问题讨论】:

  • 您到底想在块中编辑什么?据我所知,无法跳过此对话框,但是块编辑器本身确实是为用户交互而设计的。是否可以通过以编程方式编辑块来解决这个问题?
  • @Locke,我需要组织特殊的编辑器状态,此时只会看到我临时创建的块的实体。
  • 我会进一步研究 BEDIT,也许有一种方法可以暂时暂停对话框的功能或其他东西。实现您想要的一种草率方法是将块复制到空白空间的中间并放大到它。编辑完成后,它会删除副本并进行您想要的更改。
  • 好的,这可能会对您有所帮助。如果您事先选择了一个块然后调用 BEDIT,您选择的块将在弹出的对话框中突出显示。您需要进行的只是一个输入键,您可以对其进行虚拟化。您甚至可以通过在调用 BEDIT 之前立即禁用屏幕更新,然后在发送回车键后将其重新打开并刷新来使对话框看起来根本不弹出。还是有点草率,但这个概念看起来不错。

标签: c# autocad autocad-plugin objectarx


【解决方案1】:

解决了。只是随便玩了一下。将操作包含在 lisp 命令中,在 BEDIT 命令之后传递块名称,您就可以了。

(Command "BEDIT" "ExampleBlock")

所以在 SendStringToExecute 的上下文中它会是这样的:

document.SendStringToExecute("(Command \"._BEDIT\" \"" + blockName + "\"\n)", true, false, false); 

【讨论】:

  • 哦,非常感谢!我目前的解决方案是找到窗口并单击“确定”按钮,哈哈。您的解决方案完美运行(如果删除空格并将 \n 移动到末尾:'(Command\"._BEDIT\"\"" + blockName + "\")\n' )。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多