找回密码
 立即注册
搜索
热搜: rtk 全站仪 航测
查看: 1778|回复: 6

[原创]AUTOCAD表格绘制程序

[复制链接]

主题

0

回帖

84

积分

新手上路

积分
84
发表于 2004-5-25 12:24:50 | 显示全部楼层 |阅读模式
做的不好,高手继续完善吧!

Option Explicit
Const pi = 3.1415926
Private Sub CommandButton1_Click()
Me.Hide
On Error GoTo err
'On Error Resume Next



Dim hs As Double
Dim ls As Double
Dim w As Double
Dim h As Double
Dim lobj As AcadLine
hs = CLng(UserForm1.TextBox1.Text)
ls = CLng(UserForm1.TextBox2.Text)
w = CDbl(UserForm1.TextBox3.Text)
h = CDbl(UserForm1.TextBox4.Text)


'阵列声明
    Dim numberOfRows As Long
    Dim numberOfColumns As Long
    Dim numberOfLevels As Long
    Dim distanceBwtnRows As Double
    Dim distanceBwtnColumns As Double
    Dim distanceBwtnLevels As Double
   

Dim llpnt As variant
Dim upnt As variant
Dim rpnt As variant
Dim bgobj As variant
UserForm1.Hide
llpnt = ThisDrawing.Utility.GetPoint(, "请在屏幕上确定表格左下角点")
upnt = ThisDrawing.Utility.PolarPoint(llpnt, pi / 2, hs * h)
rpnt = ThisDrawing.Utility.PolarPoint(llpnt, 0, ls * w)

   
Set lobj = ThisDrawing.ModelSpace.AddLine(llpnt, upnt)
    numberOfRows = 1
    numberOfColumns = ls + 1
    numberOfLevels = 1
    distanceBwtnRows = 0
    distanceBwtnColumns = w
    distanceBwtnLevels = 1
bgobj = lobj.ArrayRectangular(numberOfRows, numberOfColumns, numberOfLevels, distanceBwtnRows, distanceBwtnColumns, distanceBwtnLevels)
  
  
   
Set lobj = ThisDrawing.ModelSpace.AddLine(llpnt, rpnt)
  numberOfRows = hs + 1
    numberOfColumns = 1
    numberOfLevels = 1
    distanceBwtnRows = h
    distanceBwtnColumns = 0
    distanceBwtnLevels = 1
bgobj = lobj.ArrayRectangular(numberOfRows, numberOfColumns, numberOfLevels, distanceBwtnRows, distanceBwtnColumns, distanceBwtnLevels)
ThisDrawing.Application.ZoomExtents
Exit Sub
err:
Resume
End Sub

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

本版积分规则

QQ|Archiver|手机版|小黑屋|测量空间论坛 ( 闽ICP备19019609号-1 )

GMT+8, 2026-7-4 22:55 , Processed in 0.064619 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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