お知らせ

--------------------------------------------------

プログラム作成/コンサルティングの申し込みはこちら

--------------------------------------------------

2010年5月14日金曜日

.NET の勉強 「画層の作成」(AutoCAD 2011)

金曜日恒例の .NET の勉強です。
今日は、画層を作成してみました。


ヘルプでサンプルを探して、サンプルの余分なところを削除して、こんなコードを書きました。


Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.EditorInput
Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.DatabaseServices

Public Class Class1
    <CommandMethod("CreateLayer")> _
    Public Sub CreateLayer()
        Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument
        Dim acCurDb As Database = acDoc.Database

        Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()
            Dim acLyrTbl As LayerTable
            acLyrTbl = acTrans.GetObject(acCurDb.LayerTableId, OpenMode.ForRead)

            Dim sLayerName As String = "テスト"

            If acLyrTbl.Has(sLayerName) = False Then
                Dim acLyrTblRec As LayerTableRecord = New LayerTableRecord()

                acLyrTblRec.Name = sLayerName

                acLyrTbl.UpgradeOpen()

                acLyrTbl.Add(acLyrTblRec)
                acTrans.AddNewlyCreatedDBObject(acLyrTblRec, True)
            End If
            acTrans.Commit()
        End Using
    End Sub
End Class


で、実際に実行してみると、めでたく 「テスト」 という名前の画層が作成されました。


また、ついでに色と線種の設定も試してみました。
以下の内容を acLyrTblRec.Name = sLayerName の後に書いたら、うまく色と線種の設定もできました。


acLyrTblRec.Color = Color.FromColorIndex(ColorMethod.ByAci, 1)
acLyrTblRec.LineWeight = LineWeight.LineWeight020


(Imports Autodesk.AutoCAD.Colors も追加しました。)

0 件のコメント:

コメントを投稿