System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于Objectarx反应器的CAD页码动态更新方法及系统技术方案_技高网

基于Objectarx反应器的CAD页码动态更新方法及系统技术方案

技术编号:41248464 阅读:2 留言:0更新日期:2024-05-09 23:57
本发明专利技术公开了一种基于Objectarx反应器的CAD页码动态更新方法及系统,该方法包括如下步骤:建立反应器管理类、页码管理类、反应器类,生成相应对象,反应器管理对象将反应器对象附着到页码实体上,在CAD软件中生成新的页码实体或删除现有的页码实体,反应器对象监测页码实体发生变化,反应器对象内的“modified”方法或“erased”方法被激活,并更新页码实体的页码数值,完成后,页码管理对象提示反应器对象本次增加或删除页码操作完成,重复增删页码步骤,直到CAD中的页码增加或删除完毕。采用本技术方案,当增加或减少CAD图纸数量时,图框中的页码数值能够重新排号、动态更新,无需手工逐个修改,提高设计效率,且当图纸数量庞大时,可以极大地降低页码数值修改时间。

【技术实现步骤摘要】

本专利技术属于制图设备,涉及一种基于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、每增加一个页码实体,反应器对象监测到页码实体发生变化,反应器对象内置的“modified”方法被激活,除新增的页码实体外,其余页码实体的数值被反应器对象改变,同时,页码管理对象提示一次反应器对象该变化为页码增加;

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页码动态更新方法,其特征在于,步骤S4中,反应器管理对象将所选页码实体的反应器对象进行读取,并附着到新增页码实体上的方法如下:

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页码动态更新方法,其特征在于...

【专利技术属性】
技术研发人员:黄麟钬龙涛郑琨鹏熊业江李镇江魏小刚刘宇豪
申请(专利权)人:中铁二院重庆勘察设计研究院有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1