1 Jig介绍
讲Jig实例之前,先将Jig相关捋一捋。.net托管类(Managed Class) 封装了大部分 ObjectARX C++类。在.net中,Jig功能被封装在了一个父类(Jig)和两个子类(DrawJig、EntityJig),以及一些辅助类之中。
相比封装之前,封装之后的Jig类功能更为明确和细分,使用起来也更加方便,一般只需继承DrawJig和EntityJig两个类就可以实现较为复杂的Jig动作。
Jig里面有几个比较重要的函数:Sampler() 、WorldDraw() 、Update(),分属三个不同的类。了解和掌握它们的用法对于理解Jig的原理很有帮助。
先来看用户手册中关于Jig功能的描述:
Jig循环总体上分为四步,直译如下:
1)用户拖动鼠标。
2)根据鼠标动作得到几何参数值。
3)根据参数值更新实体数据。
4)用WorldDraw()函数重画实体。
除此之外,用户手册对于Jig的描述实在太少,对Jig类的成员函数Sampler() 、WorldDraw() 、Update()的描述更是没有,这也是为什么AutoCAD.net二次开发中Jig难学的原因。既然Jig类封装自ObjectARX C++ class,那就去ObjectARX 的参考文档里面去找,果不其然