前辈你好,本人刚学VBA不久,有个问题想请教您一下,下面是代码: Sub polygon() Dim myselect(1 To 90) As AcadEntity '定义选择集数组 Dim num As Integer Dim pnt As Variant Dim lpnt As Variant num = 20 '正多边形边数 Dim fpnt(0 To 2) As Double '起点坐标 Dim leng As Double Dim i As Long For i = 1 To 90 '循环90次 fpnt(0) = 100 * Rnd: fpnt(1) = 100 * Rnd: fpnt(2) = 0 '起点随机坐标 leng = 3 * Rnd '边长随机长度 ReDim lpnt(0 To num * 2 - 1) As Double '下面是画正多边形 pnt = fpnt ... ...
我把记录点的程序和用反距离插值高程写在一起了,帮我看看呗,谢谢啦 Sub RecordPointPosition() Dim NX As Integer, NY As Integer '离散点所在网格的列'离散点所在的网格的行 Dim i As Integer, j As Integer Dim Xmax As Double, Xmin As Double, Ymax As Double, Ymin As Double dbld = 20 Open "E:\zuizhi.txt" For Input As #1 '打开输入文件 Input #1, Xmax, Ymax, Xmin, Ymin '读取文件数据 Close #1 L = 0 Open "E:\demdata.txt" For Input As #1 '打开原始文件 Do While Not EOF(1) Inpu ... ...
Sub RecordPointPosition() '记录点在哪个网格 Dim NX As Integer, NY As Integer '离散点所在网格的列'离散点所在网格的行 Dim Xmax As Double, Xmin As Double, Ymax As Double, Ymin As Double Dim i As Integer, j As Integer 82. dblD = 20 & ... ...
zzyong00 : 在循环里一直ReDim Preserve AttData 不慢才怪,重写吧 老师,用词典速度也差不多,代码如下,老师对DWGdirectX控件有研究吗 有没有现成的例子可供俺学习下?俺想用看看用这个控件能否提提速度 谢谢老师!!! Dim dicAtt As Object Set dicAtt = CreateObject("scripting.dictionary") For i = 0 To SSet.Count - 1 Set Ent = SSet.Item(i) AttArry = Ent.GetAttributes If AttArry(0).TextString <> "" Then &nb ... ...
老师您好! 先贴上代码,属性块数据转成数组,测试是通过的,就是速度不怎么地 总共才36行15列数据 转成数组时花了快1.6秒时间(XP),用SQL把这些数据读到数据库花的时间也差不多,请问老师有没有更好的办法,是不是TextString这个就是费时间?我真怀疑用lisp都比这个速度快,我记得陈伯雄老师说过多读四百万的(可能一百万)数组才花二十几秒,VB在数组这块应该强于lisp才对啊 For i = 0 To SSet.Count - 1 Set Ent = SSet.Item(i) AttArry = Ent.GetAttributes If ... ...