明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 965|回复: 0

VBA做规则格网

[复制链接]
发表于 2016-4-27 21:36:48 | 显示全部楼层 |阅读模式
已经读取txt文本中的坐标值,比较了X和Y的最大最小值,设置了每个网格的尺寸,但是没有画出格网来,不知道哪里出错了,求各位大神指导
  1. Dim L As Integer
  2. Dim H(10000) As Double, X(10000) As Double, Y(10000) As Double, Z(10000) As Double
  3. Dim Xmax As Double, Xmin As Double, Ymax As Double, Ymin As Double
  4. Sub txt_read()
  5. Dim txtname As String
  6. Dim L As Integer

  7.   '读取文件
  8.     L = 0 '初始值
  9.     Open "E:\demdata.txt" For Input As #1  '打开文件
  10.     Xmax = 0: Xmin = 0
  11.     Ymax = 0: Ymin = 0
  12.     Do While Not EOF(1) '文件读取循环
  13.     If X(L) >= Xmax Then
  14.     Xmax = X(L)
  15.     End If
  16.     If Y(L) >= Ymax Then
  17.     Ymax = Y(L)
  18.     End If
  19.     If X(L) <= Xmin Then
  20.     Xmin = X(L)
  21.     End If
  22.     If Y(L) <= Ymin Then
  23.     Ymin = Y(L)
  24.     End If
  25.     L = L + 1 '个数加1
  26.     Input #1, H(L), X(L), Y(L), Z(L) '读取文件数据, H贮存点序号,XYZ为坐标
  27.     Loop '文件读取循环
  28.     Close #1 '关闭文件
  29.    
  30. '绘制格网
  31. Dim plineObj As AcadLWPolyline
  32. Dim points(0 To 11) As Double
  33. Dim M As Integer  '行数
  34. Dim N As Integer  '列数
  35. Dim Dx As Double  '每个网格x值
  36. Dim Dy As Double  '每个网格y值
  37. ' 定义多段线的点
  38.     Dx = 14.5
  39.     Dy = 15.6
  40.     M = (Xmax - Xmin) / Dx '求出行数
  41.     N = (Ymax - Ymin) / Dy '求出列数
  42.     points(0) = Xmin: points(1) = Ymin: points(2) = 0
  43.     points(3) = Xmin: points(4) = Ymax: points(5) = 0
  44.     points(6) = Xmax: points(7) = Ymax: points(8) = 0
  45.     points(9) = Xmax: points(10) = Ymin: points(11) = 0
  46.     '在模型空间中创建一个多段线对象
  47.     Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
  48.     ZoomAll
  49. End Sub
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-23 06:53 , Processed in 0.156367 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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