切换CustomObjectSnapMode
我已经在我的应用程序中添加了一个新的CustomObjectSnapMode,这要感谢来自和n.yuan的优秀示例的帮助。除了一些小问题,它运行得很好。问题#1,我认为没有解决方案,但我还是想问一下:我的Osnap显示在状态栏Osnap toggles图标中,但不在想要设置临时Osnap覆盖时使用的上下文菜单中。有什么方法可以添加到这个菜单中吗?问题2:这实际上有点严重,我有一个透明的命令设置来切换osnap的开/关,这很好,但是它不会触发状态栏Osnap菜单中的项目来切换它。这意味着这两个设置可能不同步,如果它通过菜单切换打开,然后通过我的命令切换关闭,它仍然在菜单中显示为打开。然后当我在菜单中关闭它时,它实际上打开了它。这显然是不可取的行为,有什么办法解决这个问题吗?下面是我用来切换它的内容: 内部静态void SetCustomOsnap(int cosmode)。{。
如果(!CustomObjectSnapMode,is active(" Perp2d ")& & cosmode = = 1)。
CustomObjectSnapMode,activate(" Perp2d ");。
else if(CustomObjectSnapMode,is active(" Perp2d ")& & cosmode = = 0)。
CustomObjectSnapMode,停用(" Perp2d ");。
}。
。
。
public void perp 2d command()。
{ 。
//这只是打开/关闭的开关。
m_cosmode,Value = m_cosmode,值== 0?1 : 0;。
SetCustomOsnap(m_cosmode,值);。
}。
。
**** Hidden Message ***** 另一个关于自定义对象快照的问题。尝试让临时覆盖像基本Osnaps一样工作,它仅对下一个选择有效。到目前为止,我在搜索中是空的。有人曾经尝试过这样做并让它发挥作用吗? 传递时只是在黑暗中拍摄,您是否还需要设置任何快照环境变量以使它们对UI产生影响(即get/setvar)。也就是说,也许您在命令期间更改了状态,但要使更改保持不变,您可能需要设置系统var? FWIW-
在2015年+,如果使用Autoloader,不需要REG文件(或与注册表类接口的代码),因为PackageContents.xml现在支持自定义系统变量等:
http://knowledge.autodesk.com/support/autocad/downloads/caas/CloudHelp/cloudhelp/2015/ENU/AutoCAD-Customization/files/GUID-3C25E517-8660-4BB7-9447-2310462EF06F-htm.html
另外,Gile-只是想对您所做的工作表示感谢,并愿意在此提供。我想知道欧特克需要多长时间才能将您的工作作为“新功能”整合到AutoCAD中?
翻译错误代码(429):请求 QPS 超过限制。 翻译错误代码(429):请求 QPS 超过限制。 翻译错误代码(429):请求 QPS 超过限制。 再次感谢你,吉尔。首先,关于osnap覆盖,你是绝对正确的...我已经很久没有真正输入过override了,所以我一直试着这样使用它:fth,当然,它不起作用。我看了你的视频后,我有一个DOH!瞬间,输入正确,工作正常。虽然我知道CustomObjsectSnap名称中不能有数字字符,但这仍然不起作用。
至于切换与osnap状态...我在2014年又测试了一次,效果和你展示的一样。我用2015来编码,它和以前的版本不一样。所以我仍然无法在新版本中正确工作。
无论如何,我也是您的自定义OSNAP工作的强烈支持者,并确保最近将其他人引向您的方向。
很遗憾,由于NDA的原因,我无法进一步评论...也许随着今年的发布,这将更有意义。干杯 我暂时放弃了让它正常工作的尝试。由于我需要它在2013年和2014年的产品中工作,以及许多其他需要(与注册表相关的)负面影响,我决定尝试OsnapOver规则。这实际上运行得很好,并且可以使用我的应用程序的注册表读写工具在会话之间持续存在。如果有人感兴趣,我明天会发布代码。
页:
[1]
2