明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3174|回复: 2

[求助]为什么从数据库中读取的数据用来绘图,图形在模型空间中不显示

[复制链接]
发表于 2009-6-23 11:33 | 显示全部楼层 |阅读模式

我从数据库中读取数据用来绘图,但为什么图形在模型空间中不显示。而用对话框显示数据库中的数据就没问题??

我用的是ODBC数据库编程,AutoCAD2008,VS2005,ObjectARX2008,

发表于 2009-8-17 16:15 | 显示全部楼层
您好!~您是如何读取数据库中的数据绘图的,小弟最近也在学习,可以把完整代码发上来吗?或者可以发站内信给我看一下,谢谢!~
发表于 2010-5-5 16:20 | 显示全部楼层

我也碰到同样的问题啊

在数据库中读取了点的坐标,在模型空间里批量划线结果只显示一条画线

为什么

DataSet ds = new DataSet();
            DataTable dt = new DataTable();
            db con = new db();
            con.OpenCon();
            ds = con.RunSqlString(sqlstr, "点坐标");
            con.CloseCon();
            dt = ds.Tables["点坐标"];

            double[] startPoint = new double[3]; //声明直线起点坐标 
            double[] endPoint = new double[3];//声明直线终点坐标
     
         
      
            //对象集初始化
            pipe_document = app_obj.ActiveDocument;
            //mospace = pipe_document.ModelSpace;
            pipe_layers = pipe_document.Layers;
            //添加点图层
            point_layer = pipe_layers.Add("pointlayer");

            //添加线图层

            line_layer = pipe_layers.Add("linelayer");
            // 设置线图层颜色
            layercolor = (AcadAcCmColor)app_obj.GetInterfaceObject("AutoCAD.AcCmColor.17");
            layercolor.SetRGB(122, 199, 25);
            line_layer.TrueColor = layercolor;
            //设置线图层的线的类型
       
           line_layer.Linetype = "BORDER";


           for (int j = 0; j < (dt.Rows.Count); j++)
           {
                for (int i = 0; i <= 2; i++)
               {
                   startPoint = Convert.ToDouble(dt.Rows[j]);

                 
               }

              
               for (int i = 0; i <= 2; i++)
               {
                                     endPoint = Convert.ToDouble(dt.Rows[j][i + 3]);


               }

                                              //在AutoCAD中画直线 
        ModelSpace.AddLine(startpoints, endpoints);
         

           }

           pipe_document.SetVariable("PDMODE", 96);
           pipe_document.SetVariable("PDSIZE", -5);

           app_obj.Visible = true;
           app_obj.ZoomAll();

           app_obj.Application.Update();//更新显示

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-19 10:13 , Processed in 0.403619 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表