AutoCAD LTをVisualBasicでコントロール

このプログラムで使用するCADブロックや画像はここからダウンロードして下さい。 → CadData.zip
L型側溝ブロック

      


Public Class Form1

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'Form1が開かれた時に、ComboBox1に項目を追加します。
ComboBox1.Items.Add("PL(1-3)型プレキャストL型側溝")
ComboBox1.Items.Add("PL(4-5)型組み合わせL型側溝")
ComboBox1.Items.Add("L(1-2)型場所打ちL型側溝")
'Form1が開かれた時に、ComboBox3に項目を追加します。
ComboBox3.Items.Add("1/1")
ComboBox3.Items.Add("1/5")
ComboBox3.Items.Add("1/50")
ComboBox3.Items.Add("1/100")
ComboBox3.Items.Add("1/500")

End Sub
''-------------------------------------------------------------------------------------------------------------------------------------

Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
Dim shurui As String

ComboBox2.Items.Clear()
'ComboBox1の項目が選択されたとき、ComboBox2に項目を追加します。
shurui = ComboBox1.Text

Select Case shurui
Case "PL(1-3)型プレキャストL型側溝"
ComboBox2.Items.Add("PL1-B250A-H100")
ComboBox2.Items.Add("PL1-B250B-H100")
ComboBox2.Items.Add("PL2-B250A-H100")
ComboBox2.Items.Add("PL2-B250B-H100")
ComboBox2.Items.Add("PL2-B300-H100")
ComboBox2.Items.Add("PL2-B350A-H100")
ComboBox2.Items.Add("PL3-B500-H150")
ComboBox2.Items.Add("PL3-B500-H200")
ComboBox2.Items.Add("PL3-B500-H250")

Case "PL(4-5)型組み合わせL型側溝"
ComboBox2.Items.Add("PL4-B500-H150-T150")
ComboBox2.Items.Add("PL4-B500-H150-T200")
ComboBox2.Items.Add("PL4-B500-H150-T250")
ComboBox2.Items.Add("PL4-B500-H200-T150")
ComboBox2.Items.Add("PL4-B500-H200-T200")
ComboBox2.Items.Add("PL4-B500-H200-T250")
ComboBox2.Items.Add("PL4-B500-H250-T150")
ComboBox2.Items.Add("PL4-B500-H250-T200")
ComboBox2.Items.Add("PL4-B500-H250-T250")
ComboBox2.Items.Add("PL5-B500-H150-T150")
ComboBox2.Items.Add("PL5-B500-H150-T200")
ComboBox2.Items.Add("PL5-B500-H150-T250")
ComboBox2.Items.Add("PL5-B500-H200-T150")
ComboBox2.Items.Add("PL5-B500-H200-T200")
ComboBox2.Items.Add("PL5-B500-H200-T250")
ComboBox2.Items.Add("PL5-B500-H250-T150")
ComboBox2.Items.Add("PL5-B500-H250-T200")
ComboBox2.Items.Add("PL5-B500-H250-T250")

Case "L(1-2)型場所打ちL型側溝"
ComboBox2.Items.Add("L1-B300-H300")
ComboBox2.Items.Add("L1-B300-H400")
ComboBox2.Items.Add("L1-B400-H400")
ComboBox2.Items.Add("L1-B400-H500")
ComboBox2.Items.Add("L1-B500-H500")
ComboBox2.Items.Add("L2-B500-H600")
ComboBox2.Items.Add("L2-B500-H700")
ComboBox2.Items.Add("L2-B600-H600")
ComboBox2.Items.Add("L2-B600-H700")
ComboBox2.Items.Add("L2-B600-H800")
ComboBox2.Items.Add("L2-B700-H700")
ComboBox2.Items.Add("L2-B800-H800")
ComboBox2.Items.Add("L2-B900-H900")
ComboBox2.Items.Add("L2-B1000-H1000")
End Select
End Sub
''-------------------------------------------------------------------------------------------------------------------------------------

Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged
'ComboBox2の項目が選択されたとき、PictureBox1にその画像を表示します。
Dim Symname As String
Dim wmfname As String
Symname = ComboBox2.Text

'画像ファイルの場所を["C:\VbAcad\CadData\"]に指定しています。
'CadDataのフォルダの中身は、一番上にある[CadData.zip]から取得して下さい。
'他のフォルダ(例:MyData)にするときは、["C:\MyData\"]と指定します。

wmfname = "C:\VbAcad\CadData\" & Symname & ".wmf"

'画像の大きさをPictureBoxに合わせます。
PictureBox1.SizeMode = PictureBoxSizeMode.Zoom
'画像を表示します。
PictureBox1.ImageLocation = wmfname
'PictureBox1.Image = Image.FromFile(wmfname)

End Sub
''-------------------------------------------------------------------------------------------------------------------------------------

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim BlockSize As String
Dim Moji As String
Dim Taka As String
'ComboBox3の項目が選択されたとき、ブロックの尺度<BlockSize>を指定します。
If ComboBox3.Text = "1/1" Then
BlockSize = "1"
ElseIf ComboBox3.Text = "1/5" Then
BlockSize = "0.2"
ElseIf ComboBox3.Text = "1/50" Then
BlockSize = "0.02"
ElseIf ComboBox3.Text = "1/100" Then
BlockSize = "0.01"
ElseIf ComboBox3.Text = "1/500" Then
BlockSize = "0.002"
End If

Moji = ComboBox2.Text
Taka = ComboBox3.Text

If Moji <> "" And Taka <> "" Then
Moji = ComboBox2.Text

Dim BlkName As String
'ブロックの場所を["C:\VbAcad\CadData\"]に指定しています。
'CadDataのフォルダの中身は、一番上にある[CadData.zip]から取得して下さい。
'他のフォルダ(例:MyData)にするときは、["C:\MyData\"]と指定します。

BlkName = "C:\VbAcad\CadData\" & Moji & ".dwg"

' AutoCAD をアクティブにします。
AppActivate("autodesk autocad")
' AutoCAD の図面内に、ブロックを挿入します。
SendKeys.Send("-insert " + BlkName + vbCr + "0,0 " + BlockSize + vbCr + BlockSize + vbCr & "0" + vbCr)
'LTに[MOVE]コマンドを送ります。
SendKeys.Send("move " + "L " + vbCr + "0,0 ")

Else
MsgBox("「縮尺」が選択されていません")
Exit Sub
End If

End Sub
''-------------------------------------------------------------------------------------------------------------------------------------

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

Application.Exit()

End Sub
''-------------------------------------------------------------------------------------------------------------------------------------
End Class