【问题标题】:How to combine 2 entities as 1 in Autocad .net如何在 Autocad .net 中将 2 个实体组合为 1 个实体
【发布时间】:2013-07-17 06:41:12
【问题描述】:

我正在制作一个 autocad 插件,我想创建一个新实体,它是行和文本的组合。如果我选​​择行,则选择文本,删除行时删除文本等.如何将它们视为一个相互引用的对象?这可能吗?

【问题讨论】:

  • 你有没有把它变成一个块?您可以使用块和块引用,就好像它们是单个实体一样。
  • 块似乎是最合乎逻辑的选择。
  • 非常感谢你终于通过制作块使它们成为一个单一的实体。一个问题例如我该如何拉伸线?我应该制作一个自定义按钮来拉伸它还是可以通过 AutoCAD 完成?

标签: c# .net vb.net autocad autocad-plugin


【解决方案1】:

我建议使用组。以下是关于如何访问群组的链接,我相信该网站有更多关于创建群组的信息。

用户可以根据系统变量 PICKSTYLE 控制是否随组选择对象。您可以使用 ctrl+ h 来切换 PICKSTYLE 值。

http://adndevblog.typepad.com/autocad/2012/04/how-to-detect-whether-entity-is-belong-to-any-group-or-not.html

【讨论】:

  • 我尝试将它们分组,但是当我关闭组选择时,它们仍然可以单独选择对象
  • 对,这就是变量的重点。如果组选择打开,您将获得所需的行为。我想我会把这个提示留在那里,以防您不得不为某些用户进行故障排除。
  • 我将它们设置为块,但我必须为简单命令(如扩展线等)创建额外的命令。是否有一种简单的方法可以将默认的 AutoCAD 功能应用于块参考或块表记录内的折线
  • 不。因此我建议使用组。
【解决方案2】:

另一种选择 - 虽然它不能回答您的问题 - 这是您需要考虑的事情:创建一个由行和一些文本组成的新块。行可以是块中的实体,文本可以是标签字符串值。该标签可以称为“line_information”。

【讨论】:

    【解决方案3】:

    我知道这可能为时已晚,但有一种更好更灵活的方法可以做到这一点,尽管它实际上并没有结合两个实体,而是更多的视觉效果。 它使用 Overrules 调用。基本上你改变了实体的显示方式。因此,您可以显示一个圆圈,而不是显示一条线,或者在您的情况下显示一条文本和一条线。 覆盖是一个非常强大的工具,您不仅可以更改实体的外观,还可以添加夹点、删除夹点、更改实体突出显示的方式或突出显示实体时突出显示其他实体、覆盖一些实体方法,如擦除等等.

    最好的起点是 Kean Walmsley 的“Through the Interface”博客。 这是与您想要实现的目标相关的此博客的链接

    http://through-the-interface.typepad.com/through_the_interface/2009/08/a-simple-overrule-to-change-the-way-autocad-lines-are-displayed-using-net.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-24
      相关资源
      最近更新 更多