明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5493|回复: 10

展点坐标程序原代码!

[复制链接]
发表于 2003-7-10 23:37 | 显示全部楼层 |阅读模式
Option Explicit

Private Sub CommandButton1_Click()
Dim i As Integer
On Error Resume Next
Dim textline(5000) '行数据数组
Dim ds As Integer '总点数
Dim s As Integer '循环变量
Dim pnt(0 To 2) As Double '点位坐标
Dim tpnt(0 To 2) As Double '点名坐标
Dim pntobj As AcadPoint '点
Dim dm As AcadText '点名
'Dim us1 As String
Dim us2 As String '左下角X坐标
Dim us3 As String '左下角Y坐标
Dim ur5 As String '高程

i = 1 '初始值



CommonDialog1.ShowOpen
Open CommonDialog1.FileName For Input As #1
If CommonDialog1.FileName = "" Then Exit Sub
ProgressBar1.Visible = True
'Me.hide
Do While Not EOF(1)

Input #1, textline(i)
i = i + 1
Loop
Label1.Caption = i
Close #1

ds = textline(1) - 1

ProgressBar1.Min = 1
ProgressBar1.Max = ds



us2 = ThisDrawing.GetVariable("userr2") 'X坐标
us3 = ThisDrawing.GetVariable("userr3") 'Y坐标
ur5 = ThisDrawing.GetVariable("userr5") '高程

If ThisDrawing.GetVariable("useri5") <> 666 Then
ThisDrawing.SetVariable "useri5", 666
End If





For s = 0 To ds
ProgressBar1.Value = s
'点坐标





Select Case us1
Case 500
If us2 = 0 And us3 = 0 Then
pnt(0) = (textline(5 * s + 4)) * 2 + 100
pnt(1) = (textline(5 * s + 5)) * 2 + 100
pnt(2) = textline(5 * s + 6)

ElseIf us2 = 100 And us3 = 100 Then

pnt(0) = (textline(5 * s + 4)) * 2 - 100
pnt(1) = (textline(5 * s + 5)) * 2 - 100
pnt(2) = textline(5 * s + 6)
End If
Case 1000
If us2 = 0 And us3 = 0 Then
pnt(0) = textline(5 * s + 4) + 100
pnt(1) = textline(5 * s + 5) + 100
pnt(2) = textline(5 * s + 6)


ElseIf us2 = 100 And us3 = 100 Then

pnt(0) = textline(5 * s + 4)
pnt(1) = textline(5 * s + 5)
pnt(2) = textline(5 * s + 6)
End If
End Select







tpnt(0) = pnt(0) + 1
tpnt(1) = pnt(1)
tpnt(2) = 0
'创建点
Set pntobj = ThisDrawing.ModelSpace.AddPoint(pnt)
Set dm = ThisDrawing.ModelSpace.AddText(textline(5 * s + 2), tpnt, 2)

Next
Me.hide
ProgressBar1.Visible = False
MsgBox "展点完成"

ThisDrawing.Application.ZoomExtents






End Sub





Private Sub UserForm_Activate()
Label1.Visible = False
ProgressBar1.Visible = False

End Sub
发表于 2003-12-28 23:48 | 显示全部楼层
发表于 2003-12-29 09:08 | 显示全部楼层
建议将点和高程展到不同的图层!
 楼主| 发表于 2003-12-29 18:26 | 显示全部楼层
我上面那个程序没有展高程进去,只是在给点付了一个高程值,高程值我用另一个程序展,这样的话图面就不会太杂乱!
发表于 2004-1-15 02:09 | 显示全部楼层
我对“展点坐标”的感念不是很明确,请解释一下
发表于 2004-1-15 10:17 | 显示全部楼层
无痕发表于2004-1-15 2:09:00我对“展点坐标”的感念不是很明确,请解释一下


展点坐标在测绘中可重要了,全站仪在野外观测的数据不能展到CAD里就麻烦了!
发表于 2004-7-17 19:01 | 显示全部楼层
"展"是什么意思...具体的含义或者说事件是什么...有劳班主解释一下
发表于 2004-7-20 02:20 | 显示全部楼层
回:7楼


"展"是什么意思...具体的含义或者说事件是什么...有劳班主解释一下


展点:是测绘工作中的重要环结,以前进行的是模拟测量,用经纬仪等仪器在野外将特地形地物的特征点以方位角,距离的方式测量记录回来(外业),然后再"展"开一张空白图纸,将特征点按比例绘出,也象将压缩的点舒展开,这一步骤:边长/方位角---&gt;点坐标---&gt;上图         即展点.
发表于 2012-7-18 19:05 | 显示全部楼层
感谢楼主分享,继续学习中
发表于 2013-8-21 20:55 | 显示全部楼层
感谢分享,谢谢[em0]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-20 16:41 , Processed in 0.250120 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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