SolidWorks 使い方 入門

ソリッドワークス

株式会社 サンエツ

SolidWorks API 部品図にパーカー数を入力します。
SolidWorks API 簡単な部品表の作成と利用(その4)
前回保存したcsvファイルを読み込んで部品図の赤枠の部分にパーカー数を表示する 簡単なプログラムにします。今回はデータを処理するクラスの作成までです。

プログラムの作成

  1. 「マクロの編集」で「countadd.vbpro」を開きます。


  2. 「参照の追加」で先回保存した「partcount.dll」を追加します。


  3. これで「partcount」の機能を利用できるようになりましたが 「参照の追加」の部分が英語でよくわかりませんので動画を参考にしてください。 操作は「Visual Studio」と同じです。


作成するクラス名は「Class listdata」にしました。

このクラスの機能はcsvファイルを読み込んで部品名とパーカー数 をプロパティに記録します。

「Class listdata」の作成
  1. 部品名の変数とパーカー数の変数をフィールドに作成します。

    Shared _fn  As String '部品名
    Shared _pc  As String  'パーカー数
  2. 「partcount.dll」を参照していますので「partcount」の「Class fildata」 を作成します。コードの書き方が「Visual Studio」と少々違います。

    Dim pas  As New  partcount.vbproj.fildata
  3. csvファイルのパスを取得します。

    pas.getpas()
  4. csvファイルの各行を配列にします。

    Dim line()  As String  = IO.File.ReadAllLines(pas.ps) Dim line()  As String  = IO.File.ReadAllLines(pas.ps)
  5. 各行をカンマで区切った場合に配列にすための変数を用意します。

    Dim itm()  As String
  6. For Eachでcsvファイルの各行を変数「csvdt」に入力してカンマで区切 って「itm」の配列に入力します。

    itm = csvdt.Split()
  7. 「Class SolidWorksMacro」から渡されてきた部品名と「itm(0)」 の値が一致した場合は変数「_fn」と「_pc」に値を代入します。

    If  itm(0) = fnme  Then 
     
    _fn = itm(0)  '1番目はファイル名 
     
    _pc = itm(1)  '2番目はパーカー数
    End If
  8. あとは変数「_fn」と「_pc」をプロパティに読み取ります。

    これで「Class listdata」は完成です。
「Class listdata」の全文です。
Public Class listdata 
   
Shared  _fn As String  '部品名 
   
Shared _pc  As String  'パーカー数 
   
Public Sub actfle( ByVal fnme  As String
     
Dim  pas As New  partcount.vbproj.fildata 
     
'ファイルパスの取得 
     
pas.getpas() 
     
Dim line()  As String  = IO.File.ReadAllLines(pas.ps) 
     
Dim  itm() As String  '1行をカンマで区切ったら配列にする 
     'Class SolidWorksMacroから渡されたファイル名が一致したら 
     'プロパティの変数に値を入力 
     
For Each  csvdt  As String In  line 
         itm = csvdt.Split() 
'カンマで区切る 
         
If  itm(0) = fnme  Then 
             
_fn = itm(0)  '1番目はファイル名 
             
_pc = itm(1)  '2番目はパーカー数 
         
End If 
     Next
End Sub
Public ReadOnly Property 
fn() As String 
     Get 
        Return 
_fn 
     
End Get
End Property
Public ReadOnly Property 
pc()  As String 
     Get 
        Return 
_pc 
     
End Get
End Property
End Class
「Class listdata」はC#やVB.NETに精通している方には解説は不要と考えていましたが、少々通常 のコードの記述と違う点がありましたので部分的に解説をいれました。

次のページでは「Class SolidWorksMacro」を作成します。

前のページに戻る場合はコチラ↓
基本操作編INDEXに戻る場合はコチラ↓
株式会社 サンエツ
〒252-113 神奈川県綾瀬市小園883-1
TEL :0467-76-7228
FAX :0467-77-3448
E-mail :info@sanetu.main.jp
URL : http://sanetu.main.jp