明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖
楼主: 馨馨

VBA编程

[复制链接]
发表于 2016-4-27 21:58 | 显示全部楼层
本帖最后由 bbkcylh 于 2016-4-27 21:59 编辑

1、你是要求取最小和最大的X、Y坐标,所以Z可以不管它。
2、要的最终坐标结果就是一个4个值:minX,maxX,minY,maxY,所以,没必要定义10000的数组,再说,要是点数超过10000呢?这种情况,即使定义,也是定义动态数组来存储更合适。
3、打开文件,然后就读取第一行数据,也就是坐标,存储到4个变量中,然后依次读取每一行数据,并与之前数据比较大小。最终得到4个数值。(怎么比较,就不用细说了吧)
4、X、Y的最大最小值有了,画格网,没啥难度了吧
 楼主| 发表于 2016-4-27 22:31 | 显示全部楼层
bbkcylh 发表于 2016-4-27 21:58
1、你是要求取最小和最大的X、Y坐标,所以Z可以不管它。
2、要的最终坐标结果就是一个4个值:minX,maxX,m ...

10000是随便设的,我原始数据是TXT文件里面有很多坐标,才设的
我是画网格这块不太会,我已经设置了每个格网的尺寸了,
需要定义一个循环吗,
发表于 2016-4-28 05:50 | 显示全部楼层
馨馨 发表于 2016-4-27 22:31
10000是随便设的,我原始数据是TXT文件里面有很多坐标,才设的
我是画网格这块不太会,我已经设置了每个 ...

画网格,可以认为就是画线。你都有X、Y的极值了,然后算出每个线的端点坐标,画线就行了。线画好了,不就有网格了么
发表于 2016-4-28 08:47 | 显示全部楼层
馨馨 发表于 2016-4-27 18:42
这是我自己写的代码,想要做一个规则格网,不知道怎么才能画出方格,求指导

呵呵,人家是看你基础不会略着急,说那些话激励你的。有些东西得多看例子自己体会的,别人给你代码自己提高也不会太大的,遇到问题一步步调试,看看哪个环节出问题了。比如昨天的xmax ymax 你明显只是两个两个的在比较,永远取不出最大值最小值的,因为if else 基本语法错了,逻辑也错了。而AddLightWeightPolyline 这个方法看了vba帮助,你就应该知道points应该是二维坐标。对于程序来说,你给的就是六个坐标,而不是四个角点坐标。大家都很忙,也没有你的文本数据,告诉你方法了,程序得自己慢慢调试,那样提升快。加油吧,这程序压根不难。
 楼主| 发表于 2016-4-28 08:50 | 显示全部楼层
浪迹天涯追月 发表于 2016-4-28 08:47
呵呵,人家是看你基础不会略着急,说那些话激励你的。有些东西得多看例子自己体会的,别人给你代码自己提 ...

嗯呢,因为我也是很着急做出来,所以情绪有些低落,麻烦大家了,谢谢
发表于 2016-4-28 11:53 | 显示全部楼层
绘制矩形的子程序是错误的,点坐标应该是二维的,不是三维的。
LightweightPolyline 对象:变体为 OCS 坐标系统的二维点数组。
Polyline 对象:变体为三维点数组, X 和 Y 坐标为 OCS 坐标系统; Z 坐标忽略。



'绘制矩形的子程序(经过验证,2006版CAD)
Sub box(x1, y1, x2, y2)
    Dim plineObj As AcadLWPolyline
    Dim points(0 To 7) As Double
    'dim M as integer  '行数
    'dim N as integer   '列数
    ' 定义多段线的点
    points(0) = x1: points(1) = y1
    points(2) = x2: points(3) = y1
    points(4) = x2: points(5) = y2
    points(6) = x1: points(7) = y2
    '在模型空间中创建一个多段线对象
    Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
    plineObj.Closed = True
End Sub
 楼主| 发表于 2016-4-28 12:21 | 显示全部楼层
vbcad 发表于 2016-4-28 11:53
绘制矩形的子程序是错误的,点坐标应该是二维的,不是三维的。
LightweightPolyline 对象:变体为 OCS 坐标 ...

非常谢谢,我是刚学的编程,很多不明白的地方,给你们添麻烦了
发表于 2016-5-26 01:02 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-19 12:42 , Processed in 0.555330 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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