|
何谓代理对象?
当主应用程序没有加载时,打开了存在该应用程序中定义的对象的DXF或DWG文件,ACAD就必须为其创建一个代理对象,并支持对其很简单、基本的操作
既然没有加载主应该程序,那么代理对象怎么知道,该对象对应的图形应该怎么显示?
需要说明的是,DWG文件中,通常都保存了,最后一次WORLDDRAW或SAVEAS接口用来显示的图元信息,所以,代理对象不需要知道实体的图形如何显示,只需要把其对应的图园信息当一个块包来显示就得了。
打开了拥有代理对象DWG文件怎么保存?
保存分为两种了
1. 当保存的时候,不存在文件转换时(也就是DWG文件打开,还是存回DWG文件,同理也可以用于DXF),代理对象按二进制的方法序列化,然后输入到新的DWG中(代理对象不会被保存,只是输出代理对象对应的实体的对象信息)。
2. 当保存的时候,进行了文件转换(也就是DWG文件打开,存为DXF文件,也可反之),这时候,文件就需要保存了,不仅是源对象的二进制序列,还有代理对象,而这个文件被再次打开时,就有两条路可走了,是加载代理对象,还是加载源对象,这个问题也是根据加没加载源对象所在的应用程序来说,加载了就不会加载代理对象了,反之毅然。
代理对象的生命周期?
说白了一句话,没有加载对象对应的主应该程序时,代理对象就会存在,当应该程序加载时,会创建真正的对象,代理对象会被销毁。 |
|