坩埚厂家
免费服务热线

Free service

hotline

010-00000000
坩埚厂家
热门搜索:
成功案例
当前位置:首页 > 成功案例

看一看:给排水系统图实时窗口的CAD开发技术

发布时间:2021-11-18 11:08:27 阅读: 来源:坩埚厂家

摘要:将多窗口技术利用于给排水CAD软件包中,在主窗口进行管线平面布置,在副窗口实时构成其系统图,这样可以提高软件的容错性和设计效率。本文详细讨论了多窗口CAD系统的实现技术。 关键词:建筑给排水 CAD 软件 排水工程CAD系统中,在1窗口进行管线平面图设计,欲在另外1窗口中实时生成刚布置管线的系统轴测图,这样就必须获得所有窗口的控制权,即用户在1窗口中进行操作,创建1个实体A,程序员利用实体A的图形数据,在其他窗口中生成不同实体来表达实体A的不同形态。由于给排水平面图的坐标系如图1所示,而系统图的坐标系如图2所示,系统图坐标系的获得想通过用“VPOINT”设置视点是绝对不可能的,而且平面图向系统图转化不是完全由投影关系决定的。因此,直接利用Auto CAD提供的窗口操作技术不能解决以上问题。可见,改进Auto CAD的多窗口显示技术是完善给排水CAD系统开发的1个重要课题 。在多窗口建筑消防CAD系统中,作者成功地改造了Auto CAD多窗口显示技术,满足了设计要求。1 多视窗控制技术改进多窗口显示技术主要有两种方法:① 创建您自己的窗口。采取Auto CAD提供的ADS接口,用C编程,去创建自己独立的窗口。然后,调用Auto CAD的绘图、编辑命令或函数来绘图。这类方法工作量很大,而且还要考虑到自己编制的窗口与Auto CAD的接口,影响了Auto CAD的使用效率,不太实用。② 直接改造Auto CAD的窗口。采取“MVIEW”窗口(注意1定不能采取“VPORTS”窗口,由于该窗口达不到您的目的),将每窗口分成显示层和非显示层,冻结非显示层社区土地征收标准,解冻显示层拆迁不签约怎么办。在程序中将对窗口的控制转向对不同层的控制,这样就把问题简化了。但是,由于在任1窗口中都存在显示层与非显示层,在该窗口中想对非显示层上的实体进行选取、编辑、控制就显得有点力不从心了,好在Auto CAD提供了“CVPORT”这1系统变量村民不签字政府可以强拆吗,利用它就可以够“遥控”每窗口。到此,就较好地解决了多视窗中对每窗口的控制技术。这类方法工作量小,全部采取内嵌的AUTOLISP编程,是Auto CAD的内部处理,较实用。而且,每视窗中都可以直接利用Auto CAD的“ZOOM”、“PAN”进行局部缩放、漫游,视窗的大小调解、视窗搬移都可很简单地由程序来控制实现,若干视窗还可以部分堆叠,没必要平行设置。多视窗系统创建、控制的程序框图如图3所示。 2 多视窗系统窗口的调解多视窗系统虽然具有直观、形象的特点,但是由于该系统占用了窗口空间,使得主窗口变小、视图变小,影响了视觉。因此,有时需要对副窗口进行搬移、大小调解,乃至将多窗口系统转向单窗口系统。① 窗口搬移用“(VPORTS)”函数可以返回多视窗系统的窗口配置,其结果是1个复合表。如某系统窗口配置用“(VPORTS)”返回为下表:((2 (0.0 0.0115385)   (16.878 5.18077))(3 (0.0 5.18077) (16.878 9.0))(1 (0.0 0.0)(16.9589 9.0)))由上表可见,该多视窗系统返回了3个窗口句柄号。假定主窗口的句柄号为“2”,1副窗口为“3”,若要对副窗口“3”进行搬移,程序以下:(defun c:movewin(/p pl)(command “pspace”);进入纸空间(setq p (getpoint “/n 请点取要移动的起始点:”));点取移动的基点(while p(setq pl (getpoint“/n 请点取移动的终止点:”));点取移动的终点(command “move” “c”;用“CROSS”方式选取窗口(caddr (assoc 3 (vports)));窗口右上角坐标(caddr (assoc 3 (vports)));“”p pl)(setq p(getpoint“/n 请点取要移动的起始点:”));若不满意可再次搬移);结束“while”循环(command “mspace”);进入实体模型空间转贴(command “ucsicon”“all”“off”);将各窗口UCS图标关闭(princ))② 窗口大小调解再以上述多视窗系统为例,若要对窗口“3”大小作调解,程序以下:(defun c:dragwin资讯分类行业动态帮助文档展会专题报道5金人物商家文章