SolidWorks 使い方 入門
ソリッドワークス3Dプリンターのデータ作成、修正、造形 株式会社 サンエツ
this.ControlBox =
false;
//フォームの×印を無くす。
label1.Text =
"シートスケールの変更";
label2.Text =
"スケールを選択するとココにボタンが表示されます。";
//後でボタンを表示するためにラベルの画面順番を早い順番にしておきます。
label2.TabIndex = 1;
//始めはbutton1を非表示にします。
button1.Visible = false
;
button1.Text =
"スケールの変更"
;
button2.Text =
"キャンセル";
comboBox1.Text =
"詳細スケール";
//スケールの比率を登録したファイル名
const string
DATAFILE = @"\datafile.txt"
;
//comboBox1で選択された文字列を変数に格納
string
clt;
//class datafileの作成
datafile
df =
new datafile();
/比率のリストの作成
List<string
> com1=new List
<string>();
//スケールの比率を変数に入力
static double
_dtm1;
static double _dtm2;
テキストファイルは「Application.StartupPath」の場所に置いてあります。「Visual Studio」 の場合は「.exe」と同じ階層ですが「SolidWorks Visual Studio」の場合は 「C:\Program Files (x86)\Common Files\microsoft shared\VSTA\8.0\x64」 の階層になります。変ですね~~~
public void dtfile(
string pas)
{
//com1を一度クリアします。
com1.Clear();
//SolidWorksMacroのApplication.StartupPathパス
//C:\Program Files (x86)\Common Files\microsoft shared\VSTA\8.0\x64
//登録されたスケールの比率の読み込み配列に格納
string
[] line = System.IO.File
.ReadAllLines (Application
.StartupPath + pas, Encoding
.GetEncoding("shift-jis"
));
foreach (
string num
in line)
{
//比率をリストにAdd
com1.Add(num);
}
}
//リストをプロパティに読み込む
public
List<string
> comtxt
{
get {
return com1; }
}
// class datafileにファイル名を渡す。
df.dtfile(DATAFILE);
//classからデータを受け取ってcomboBox1にAddする
foreach (
string st
in df.comtxt)
{
comboBox1.Items.Add(st);
}
private void comboBox1_SelectedIndexChanged(
object sender,
EventArgs e)
{
//comboBox1で選択した文字
clt = comboBox1.SelectedItem.ToString();
//label2を非表示にします。
label2.Visible = false
;
//button1を表示
button1.Visible = true
;
//button1の文字表示
button1.Text = "スケールを "
+ clt + " に変更します。"
;
}
//comboBox1で選択された値を受け取る
public void
comdata(string
cmd)
{
//配列を":"で区切る
string[] itm = cmd.Split(
':');
//文字列からdoubleに変換
_dtm1 = double
.Parse(itm[0]);
_dtm2 =
double.Parse(itm[1]);
}
//スケールの比率をプロパティに読み取る
public double
dtm1
{
get {
return _dtm1; }
}
public double dtm2
{
get {
return _dtm2; }
}
//スケール変更ボタン
private void
button1_Click(object
sender, EventArgs
e)
{
//comboBox1で選択された文字列をclass datafileに渡す。
df.comdata(clt);
//button1をクリックした場合はフォームを閉じる
this.Close();
}
//キャンセルボタン
private void
button2_Click(object
sender, EventArgs
e)
{
this.Close();
}