dage23wo 发表于 2015-7-9 21:38:26

VBA中编写块命令的问题

在CAD中编程块,每次运行一次,在CAD中多增加一个图形,请大神看看程序。谢谢啦。Private Sub CommandButton1_Click()



Dim PtPick As Variant
UserForm1.hide
PtPick = ThisDrawing.Utility.GetPoint(, "请在屏幕上选择起点:")
TextBox1.Text = PtPick(0)
TextBox2.Text = PtPick(1)
UserForm1.Show


Dim blkObj As AcadBlock
Dim insPnt(0 To 2) As Double
   
    '设定图块对象的原点坐标
    insPnt(0) = 0: insPnt(1) = 0: insPnt(2) = 0
    '在Blocks集合中创建名为TestBlock1的块对象
    Set blkObj = ThisDrawing.Blocks.Add(insPnt, "TestBlock1")
   
   
   
    '-------------------------------------------------------------


Dim cirObj As AcadCircle
Dim center(0 To 2) As Double
Dim radius As Double


center(0) = TextBox1.Text: center(1) = TextBox2.Text: center(2) = 0


radius = 0


radius = Val(TextBox3.Text)

    Set cirObj = blkObj.AddCircle(center, radius)

    cirObj.color = acRed
   
   
    Dim lineObj As AcadLine
    Dim sPnt(0 To 2) As Double, ePnt(0 To 2) As Double
   
    sPnt(0) = center(0): sPnt(1) = center(1): sPnt(2) = 0
    ePnt(0) = center(0) + 60: ePnt(1) = center(1) + 80: ePnt(2) = 0
   
    '创建一条直线
    Set lineObj = blkObj.AddLine(sPnt, ePnt)



'-------------------------------------------------------------
    '本段代码将把TestBlock1块对象插入到模型空间
   
    Dim blkRefObj As AcadBlockReference
   
   
    Dim insertPnt(0 To 2) As Double
   
    '指定模型空间的插入点
    insertPnt(0) = 120: insertPnt(1) = 100: insertPnt(2) = 0
   
    '插入图块
    Set blkRefObj = ThisDrawing.ModelSpace.InsertBlock(insertPnt, "TestBlock1", 1#, 1#, 1#, 0#)
   
   
    blkRefObj.Update



End Sub

zzyong00 发表于 2015-7-14 07:33:05

你的问题是什么?
页: [1]
查看完整版本: VBA中编写块命令的问题