System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于制图设备,涉及一种基于objectarx反应器的cad页码动态更新方法及系统。
技术介绍
1、一套土木工程cad图纸中,每页图纸都有本页的页码数值以及总页码数值,这些信息都被包含在cad图框中。但是,autocad软件不支持图框页码数值的自动更新,即当增加或者减少页码时,同一个cad文件下的图纸页码值不会重新排号,需要手工逐个修改。这样操作导致页码数值修改过程繁琐且费时,给绘图人员带来了诸多不便,浪费人力。
技术实现思路
1、本专利技术的目的在于提供一种基于objectarx反应器的cad页码动态更新方法及系统,以解决当增加或者减少页码时,同一个cad文件下的图纸页码值不会重新排号,需要手工逐个修改的问题。
2、为了达到上述目的,本专利技术的基础方案为:一种基于objectarx反应器的cad页码动态更新方法,包括如下步骤:
3、s1,基于objectarx反应器,建立反应器管理类、页码管理类、反应器类,并生成相应的对象;
4、s2,利用反应器管理对象,将反应器对象附着到每个页码实体上;
5、s3,选择在一个页码实体后增加页码,或选择需要删除的页码;
6、s4,若增加页码,则在cad软件中生成新的页码实体,反应器管理对象将所选页码实体的反应器对象进行读取,并附着到新增页码实体上,同一个反应器对象可附着多个页码实体;
7、每增加一个页码实体,反应器对象监测到页码实体发生变化,反应器对象内置的“mod
8、每删除一个页码实体,反应器对象监测到页码实体发生变化,反应器对象的“erased”方法被激活,除被删除的页码外,反应器对象会改变一次其余页码实体的数值,同时,页码管理对象提示一次反应器对象该变化为页码被删除;
9、s5,反应器对象每改变一次其余页码的数值,页码管理对象提示反应器对象本次增加或删除页码操作完成;
10、s6,重复步骤s4-s5,直到cad软件中的页码增加或删除完毕。
11、本基础方案的工作原理和有益效果在于:本技术方案在增加或者减少cad图纸数量时,图框中的页码数值能够重新排号、动态更新,不需要手工逐个修改,提高设计效率,且当图纸数量庞大时,可以极大地降低页码数值修改时间,减少修改工作量,操作简单。
12、进一步,反应器管理类内置有:
13、将反应器对象附着到页码实体的方法,该方法能将反应器对象的objectid加入到页码实体上,具体步骤如下:获取页码实体的acdbobjectid值,即它在cad模型空间中的id值;
14、创建反应器对象,将反应器对象添加到cad模型空间中,并获取它的acdbobjectid值;
15、将页码实体的acdbobjectid值输入到objectarx反应器内置的acdbobjectpointer<acdbentity>函数中,利用该函数将页码实体以写的方式打开;
16、利用objectarx反应器内置的addpersistentreactor函数将反应器对象的acdbobjectid值添加到页码实体中,实现附着,然后关闭页码实体。
17、利用objectarx对cad进行二次开发,将反应器对象附着到页码实体,以建立所有页码实体之间的联系。
18、进一步,反应器管理类还内置有:
19、将反应器对象分离出页码实体的方法,该方法能将反应器对象的objectid从页码实体中移除,具体移除步骤如下:
20、获取页码实体的acdbobjectid值;
21、将页码实体的acdbobjectid值输入到objectarx反应器内置的acdbobjectpointer<acdbentity>函数中,利用该函数将页码实体以写的方式打开;
22、利用objectarx反应器内置的removepersistentreactor函数将反应器对象的acdbobjectid值从页码实体中移除,实现分离,然后关闭页码实体。
23、将反应器对象分离出页码实体,便于使用。
24、进一步,所述页码管理类用于提示反应器对象发生在页码实体上的变化类型,页码管理类包括:①自定义m_ispagetoadd:提示反应器对象页码实体发生的变化是页码实体增加;②自定义m_ispagetodelete:提示反应器对象页码实体发生的变化是页码实体被删除;
25、当增加页码时,利用cad光标选择在一个页码实体后面添加新的页码实体,然后点击cad模型空间屏幕生成新的页码实体,m_ispagetoadd设置为true,提示反应器对象发生增加页码操作,然后进行页码数值更新,更新完成后,m_ispagetoadd设置为false,提示反应器对象增加页码操作完毕;
26、当删除页码时,利用cad光标选择需要删除的页码实体,然后删除,m_ispagetodelete设置为true,提示反应器对象发生删除页码操作,然后进行页码数值更新,更新完成后,m_ispagetoadd设置为false,提示反应器对象删除页码操作完毕。
27、页码管理类提示反应器对象页码实体发生的变化,使反应器对象能够监测页码实体,实现动态更新。
28、进一步,所述反应器类内置有:
29、①“erased”方法,即监测页码实体的objectid是否被删除,“erased”方法在反应器类中的头文件代码为:
30、virtual void erased(const acdbobject*pdbobj,adesk::boolean berasing=true);
31、②“modified”方法,即监测页码实体的属性是否被修改,“modified”方法在反应器类中的头文件代码为:
32、virtual void modified(const acdbobject*pdbobj)。
33、反应器类用于监测页码实体是否发生变化,并对页码数值进行修改,实现页码数值的更新。
34、进一步,步骤s4中,反应器管理对象将所选页码实体的反应器对象进行读取,并附着到新增页码实体上的方法如下:
35、利用objectarx反应器内置的acdbopenobject函数将新增页码实体以写的方式打开;
36、利用objectarx反应器内置的acdbpersistentreactorobjectid函数获取所选页码实体的反应器对象的acdbobjectid值;
37、利用objectarx反应器内置的addpersistentreactor函数将反应器对象的acdbobjectid值添加到新增页码实体中,实现附着本文档来自技高网...
【技术保护点】
1.一种基于Objectarx反应器的CAD页码动态更新方法,其特征在于,包括如下步骤:
2.如权利要求1所述的基于Objectarx反应器的CAD页码动态更新方法,其特征在于,反应器管理类内置有:
3.如权利要求2所述的基于Objectarx反应器的CAD页码动态更新方法,其特征在于,反应器管理类还内置有:将反应器对象分离出页码实体的方法,该方法能将反应器对象的ObjectId从页码实体中移除,具体移除步骤如下:
4.如权利要求1所述的基于Objectarx反应器的CAD页码动态更新方法,其特征在于,所述页码管理类用于提示反应器对象发生在页码实体上的变化类型,页码管理类包括:①自定义m_IsPageToAdd:提示反应器对象页码实体发生的变化是页码实体增加;②自定义m_IsPageToDelete:提示反应器对象页码实体发生的变化是页码实体被删除;
5.如权利要求1所述的基于Objectarx反应器的CAD页码动态更新方法,其特征在于,所述反应器类内置有:
6.如权利要求1所述的基于Objectarx反应器的CAD页码
7.如权利要求1所述的基于Objectarx反应器的CAD页码动态更新方法,其特征在于,步骤S4中,反应器对象的“modified”方法被激活后,其内部代码会被程序执行;
8.如权利要求1所述的基于Objectarx反应器的CAD页码动态更新方法,其特征在于,步骤S4中,反应器对象的“erased”方法被激活后,其内部代码会被程序执行,在“erased”方法中加入相应的页码数值更新规则,该规则会随“erased”方法被程序执行,实现页码数值的更新;具体的页码数值更新规则为:
9.一种基于Objectarx反应器的CAD页码动态更新系统,其特征在于,包括处理单元,所述处理单元执行权利要求1-8之一所述方法,自动更新CAD页码动态。
...【技术特征摘要】
1.一种基于objectarx反应器的cad页码动态更新方法,其特征在于,包括如下步骤:
2.如权利要求1所述的基于objectarx反应器的cad页码动态更新方法,其特征在于,反应器管理类内置有:
3.如权利要求2所述的基于objectarx反应器的cad页码动态更新方法,其特征在于,反应器管理类还内置有:将反应器对象分离出页码实体的方法,该方法能将反应器对象的objectid从页码实体中移除,具体移除步骤如下:
4.如权利要求1所述的基于objectarx反应器的cad页码动态更新方法,其特征在于,所述页码管理类用于提示反应器对象发生在页码实体上的变化类型,页码管理类包括:①自定义m_ispagetoadd:提示反应器对象页码实体发生的变化是页码实体增加;②自定义m_ispagetodelete:提示反应器对象页码实体发生的变化是页码实体被删除;
5.如权利要求1所述的基于objectarx反应器的cad页码动态更新方法,其特征在于...
【专利技术属性】
技术研发人员:黄麟钬,龙涛,郑琨鹏,熊业江,李镇江,魏小刚,刘宇豪,
申请(专利权)人:中铁二院重庆勘察设计研究院有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。