AutoCAD LTをVisualBasicでコントロール

このプログラムで使用するハッチングパターンは、ここからダウンロードして下さい。 → Hat.zip
このハッチングパターンのフォルダに、AutoCAD/LTのパスを通しておいて下さい。
 このプログラムで使用する画像はここからダウンロードして下さい。 → CadData.zip
ハッチング

  


Public Class Form1
''-------------------------------------------------------------------------------------------------------------------------------------
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

Application.Exit()

End Sub
''-------------------------------------------------------------------------------------------------------------------------------------
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'Form1が開かれた時に、ComboBox1に項目を追加します。
ComboBox1.Items.Add("地質系(土)")
ComboBox1.Items.Add("地質系(岩)")
ComboBox1.Items.Add("建築系")
'Form1が開かれた時に、ComboBox3に項目を追加します。
ComboBox3.Items.Add("1")
ComboBox3.Items.Add("10")
ComboBox3.Items.Add("50")
ComboBox3.Items.Add("100")
ComboBox3.Items.Add("200")

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 "地質系(土)"
ComboBox2.Items.Add("れき")
ComboBox2.Items.Add("砂混じりれき")
ComboBox2.Items.Add("シルト質れき")
ComboBox2.Items.Add("粘土質れき")
ComboBox2.Items.Add("れき質粘土")
ComboBox2.Items.Add("れき混じり粘土")
ComboBox2.Items.Add("れき質シルト")
ComboBox2.Items.Add("れき混じりシルト")
ComboBox2.Items.Add("れき混じり粗砂")
ComboBox2.Items.Add("貝殻混じり粗砂")
ComboBox2.Items.Add("貝殻混じり粘土")
ComboBox2.Items.Add("粗砂")
ComboBox2.Items.Add("シルト混じり粗砂")
ComboBox2.Items.Add("シルト混じり細砂")
ComboBox2.Items.Add("砂質粘土")
ComboBox2.Items.Add("砂質シルト")
ComboBox2.Items.Add("粘土")
ComboBox2.Items.Add("粘土質シルト")
ComboBox2.Items.Add("シルト")
ComboBox2.Items.Add("砂混じりシルト")
ComboBox2.Items.Add("粘土混じりシルト")
ComboBox2.Items.Add("粘土混じり細砂")
ComboBox2.Items.Add("砂混じり粘土")
ComboBox2.Items.Add("ローム")
ComboBox2.Items.Add("有機質土")
ComboBox2.Items.Add("有機質シルト")
ComboBox2.Items.Add("腐食土シルト")

Case "地質系(岩)"
ComboBox2.Items.Add("角れき")
ComboBox2.Items.Add("泥流堆積物")
ComboBox2.Items.Add("火山流堆積物")
ComboBox2.Items.Add("火山角れき岩")
ComboBox2.Items.Add("火山れき岩")
ComboBox2.Items.Add("河床堆積物")
ComboBox2.Items.Add("扇状地堆積物")
ComboBox2.Items.Add("湖成堆積物")
ComboBox2.Items.Add("頁岩")
ComboBox2.Items.Add("粘版岩")
ComboBox2.Items.Add("チャート")
ComboBox2.Items.Add("泥質岩")
ComboBox2.Items.Add("石灰岩")
ComboBox2.Items.Add("ドロマイト")
ComboBox2.Items.Add("石灰")
ComboBox2.Items.Add("混在岩")
ComboBox2.Items.Add("閃緑岩")
ComboBox2.Items.Add("花崗班岩")
ComboBox2.Items.Add("火山灰流堆積物")
ComboBox2.Items.Add("ワッケ")
ComboBox2.Items.Add("安山岩")
ComboBox2.Items.Add("緑色岩")
ComboBox2.Items.Add("砂質岩")
ComboBox2.Items.Add("ダナイト")
ComboBox2.Items.Add("蛇紋岩")
ComboBox2.Items.Add("輝岩")
ComboBox2.Items.Add("アブライト")
ComboBox2.Items.Add("輝緑岩")
ComboBox2.Items.Add("ひん岩")
ComboBox2.Items.Add("流紋岩")
ComboBox2.Items.Add("ホルンフェルス")
ComboBox2.Items.Add("千枚岩")
ComboBox2.Items.Add("温質片岩")
ComboBox2.Items.Add("石灰質片岩")

Case "建築系"
ComboBox2.Items.Add("うろこ")
ComboBox2.Items.Add("割栗")
ComboBox2.Items.Add("地盤")
ComboBox2.Items.Add("断熱材")
ComboBox2.Items.Add("普通壁")
ComboBox2.Items.Add("軽量壁")
ComboBox2.Items.Add("石材")

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

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

Pngname = "C:\VbAcad\CadData\" & Symname & ".png"

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

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

Dim HatSize As String
Dim Hat As String
'ComboBox3の項目が選択されたとき、ハッチングの尺度<HatSize>を指定します。
If ComboBox3.Text = "1" Then
HatSize = "1"
ElseIf ComboBox3.Text = "10" Then
HatSize = "10"
ElseIf ComboBox3.Text = "50" Then
HatSize = "50"
ElseIf ComboBox3.Text = "100" Then
HatSize = "100"
ElseIf ComboBox3.Text = "200" Then
HatSize = "200"
End If

Hat = ComboBox2.Text

' AutoCAD をアクティブにします。
AppActivate("autodesk autocad")
' AutoCAD の図面内に、ハッチングのコマンドを送ります。
SendKeys.Send("-hatch " + "p " + Hat + vbCr + HatSize + vbCr + "0" + vbCr)

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