明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1845|回复: 4

求助一下关于getPoint的用法

[复制链接]
发表于 2009-7-15 14:59 | 显示全部楼层 |阅读模式

新人发帖,希望达人们多多指教

实现的功能:在AutoCAD中用鼠标点取一点然后显示出该点的高度

但是在运行的时候出现了一个问题,即是在autocad中需要确定一条线中的某一点的话只能取到该线段的端点

代码如下:

        public void showHigh()  //标高
        {
            double[] p1 = new double[3];       
            AcadText textObj;
            String textString = "high=";
            object nullpnt = Type.Missing;
            p1 = (double[]) acApp.ActiveDocument.Utility.GetPoint(nullpnt, "请确定需要标高的点");
            Point[] point_array = new Point[2];
            point_array[0] = new Point(p1[0], p1[1]);
            point_array[1] = new Point(p1[0]+200, p1[1]);
            drawPointedLine1(point_array[0], point_array[1]);           //该函数实现从点取点拉出一条水平直线,并在另一端点画出一个箭头
            double[] highPoint = new double[3];                       //确定文本输出的位置的点     
            highPoint[0] = p1[0]+300;
            highPoint[1] = p1[1];
            highPoint[2] = p1[2];
            double height = 50.0;           //字体高度  实现的时候可以设置
            textObj = acApp.ActiveDocument.ModelSpace.AddText(textString+(float)p1[1], highPoint, height);
        }

恩。希望达人指教,万分感谢!

 楼主| 发表于 2009-7-15 15:01 | 显示全部楼层

顺便说下如果不点中某条线选取点的话运行很正常。。。

找了半天没找到关于这个问题的文章。。。

大虾们帮帮忙

发表于 2009-7-15 23:38 | 显示全部楼层
设置系统变量OsMode?
 楼主| 发表于 2009-7-16 15:02 | 显示全部楼层

谢谢楼上的

在autocad中设置了过后解决了这个问题

再去查下帮助文档    应该也可以直接用代码来解决

才学cad2次开发   现在感觉这个问题好幼稚- -

发表于 2009-7-20 21:49 | 显示全部楼层
设置系统变量一般用SetVariale("SystenVariantName",setValue)实现。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 00:07 , Processed in 0.347592 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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