明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 莫名

[讨论]AutoCAD中有什么测绘功能需求

  [复制链接]
发表于 2007-1-30 21:13:00 | 显示全部楼层
从本人的工作出发 希望直接能画出缓和曲线 ,直接查询需要的坐标 工作省好多事 还能检测计算的准确性
发表于 2007-2-3 21:24:00 | 显示全部楼层
ThisDrawing.Utility.GetEntity objText,ptPick,"拾取文字:"可以在CAD中拾取文字,但不知拾取到的文字怎样在Excel的单元格显示??我是搞测量的,还在网站买了一本《 AutoCAD VBA二次开发教程》,平时每天上工地,看了半年多的书也没能解决这个问题,我真诚的希望哪一位同仁能帮我指点一下,感激不尽!!
 楼主| 发表于 2007-2-13 11:51:00 | 显示全部楼层

12楼请仔细看如下介绍:

1.1        EXCEL ActiveX对象模型

AutoCADEXCEL之间的数据交换,需要加载EXCEL ActiveX对象模型。在ACAD VBA编辑器中选择“工具”菜单的“引用”,选择加载Microsoft Excel Object Library

ACADActiveX对象模型一样,EXCELActiveX对象模型的顶层对象也是Application对象。下面代码声明并新建一个EXCEL.Application对象。

  Dim ExcelApp As New Excel.Application  

新建EXCEL对象,也可以调用VB库函数CreateObject()

  Dim ExcelApp As Excel.Application

  Set ExcelApp = CreateObject("Microsoft Excel")

EXCEL进行读写操作后,要关闭EXCEL工作簿、退出EXCEL应用程序对象并释放EXCEL应用程序对象变量:

  ExcelApp.Workbooks.Close

  ExcelApp.Quit

  Set ExcelApp = Nothing

EXCEL.Application对象提供的Workbooks工作簿集合对象包含有全部已经启动的EXCEL工作簿对象,我们可以使用Application对象的ActiveWorkbook来获取当前活动的工作簿对象,也可以使用Workbooks(Index)方法来得到指定的工作簿对象。获取要操作的工作簿后,需要获取工作簿中的指定工作表(Worksheet)才能访问到其中指定单元格的内容。

 楼主| 发表于 2007-2-13 11:51:00 | 显示全部楼层

1.2        读取EXCEL工作表中的数据

读取EXCEL工作表中数据,首先要打开工作簿。下面的代码调用EXCEL应用程序对象的Workbooks集合的Open方法以只读方式打开文件名为“book1.xls”的EXCEL文档。

  ExcelApp.Workbooks.Open "d:\book1.xls", , True

下面的代码获取工作簿中的名称为“sheet1”的工作表:

Set WkSheet = ExcelApp.ActiveWorkbook.Worksheets("sheet1")

EXCEL的单元格位置由行和列唯一指定。通常EXCEL文档第行是表头说明,我们从第2行开始读数据(行号为1)。根据上述的数据组织模式,第1列是对象类型标志,程序首先读取它的值,确定后面列的数据类型,读取一个对象(表格中一行)数据后,进行相应的绘图操作。下面的的代码将第i行第2列的内容取出赋给变量mCode

mCode = WkSheet..Range("B" & i)

取出EXCEL表格中的数据后,可以在ACAD模型空间中绘制出相应的图形实体。下面的代码在模型空间中绘制线或面对象:

Set LWPl = ThisDrawing.ModelSpace.AddLightWeightPolyline(Pts)

若是面对象还要用下面的语句使它闭合:   

LWPl.Closed = True

程序中,循环判断第1列的对象类型标志,直到读出并绘制了所有对象。

1.3        写数据到EXCEL工作表中

要写数据到EXCEL工作表,首先须添加EXCEL工作簿:

  Dim ExcelWkbk As Excel.Workbook

  Set ExcelWkbk = ExcelApp.Workbooks.Add

EXCEL会自动建立名称为“sheet1工作表,可以直接写数据到该工作表中。

Set WkSheet = ExcelWkbk.Worksheets("sheet1")

接着,程序遍历AutoCAD模型空间中的图形对象,并提取对象中的数据。之后,将数据填充到EXCEL单元格中。下面的代码将对象的位置信息数据填充到工作表第i行第7列的单元格中:

WkSheet.Range("G" & i) = PosData

图形对象的数据填充到工作表中后,要用下面的语句保存成EXCEL文档文件:

  ExcelApp.ActiveWorkbook.SaveAs "d:\book1.xls"
发表于 2007-2-21 22:48:00 | 显示全部楼层
高手,我也进来学习学习
发表于 2007-3-26 21:38:00 | 显示全部楼层

哪请问如何把全站仪测出来的数据传输到上面去了。 我是个新手。

发表于 2007-7-14 06:31:00 | 显示全部楼层

11

我不知道你用的全站仪是哪种,但我现在用的是尼康的,只要把传输线连接到电脑上,开机从菜单里在点击"通讯",选择你要下载的项目,在回车就OK了.
发表于 2007-9-28 09:24:00 | 显示全部楼层

我有办法,南方绘图软件有这个功能,就是把cad中的数据下子可以转换到记事本格式上去,也可以点一下一个一个地转换上去,再用表格打开就可以编揖(加。乘等)qq349753121

发表于 2008-6-19 09:19:00 | 显示全部楼层

我刚入门,好难啊。学习学习

发表于 2008-6-25 08:39:00 | 显示全部楼层

谁有vlisp语言的教程  cad上的太难了

  我的邮箱happy__zz@126.com

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

本版积分规则

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

GMT+8, 2024-11-23 15:43 , Processed in 0.173412 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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