SolidWorks 使い方 入門

ソリッドワークス
メール

3Dプリンターのデータ作成、修正、造形 株式会社 サンエツ

SolidWorks API 図面ビューのスケール変更を自由に変更
SolidWorks API 図面のスケール変更を自由度アップ (その1)
図面のスケール変更をするとき「1:2」はあるけど「1:4」は無いとか「1:25」が欲しいなんてこともあると思います。 特に私の場合は「1:8」と「1:15」をよく利用しますがデフォルトではないんですよね~~~  いちいちユーザー定義で変更しなければなりません。大変ですね~~~

みなさんもおそらくデフォルト以外のサイズがすぐに選択できればいいと感じていることでしょう。 そこで今回は、スペシャルのスケール表を作成してみたいと思います。

デフォルトのスケールの画像です。

プログラムの概要

ソリッドワークスのツールバーのコマンドをクリックするとフォームが表示されます。
こんな感じのフォームです。赤枠のコンボボックスを展開すると自分専用のスケールの比率が表示できます。
コンボボックスにスケールの比率を沢山入れてみました。
コンボボックスでスケールを選択した瞬間に「SelectedIndexChanged」イベントハンドラ で選択したスケールが表示されるようにしています。
下の画像はスケールが「2:1」になっています。この図面のスケールをコンボボックスで選択した「1:2」 の図面に変更します。
「スケールを1:2に変更します。」のボタンをクリックすると以下の図面のようになります。 スケールが小さすぎて変な図面です。プログラムの解説ですのでご了承ください。
プログラムの流れの動画です。
早速プログラムを作成してみましょう。 ソリッドワークスの2015版は2014版からソリッドワークス本体と共にマクロの機能も大幅に改善されていますので、 通常のC#のコードも少し解説します。

今回はマクロ的には2点学習できます。

  1. SetScale(セットスケール)メッソッド
  2. ForceRebuild3(フォースリビルド3)メソッド

各クラスの作成

  1. マクロのテンプレートを作成します。


  2. 名前を「changescale.csproj」にして任意の場所に保存してください。


  3. 「マクロの編集」から再度「changescale.csproj」を開きます。


  4. 最低限のコードが書かれています。

    using SolidWorks.Interop.sldworks;
    using SolidWorks.Interop.swconst;
    using System.Runtime.InteropServices;
    using System;
    namespace changescale.csproj

       
    public partial class  SolidWorksMacro 
       

           
    public void  Main() 
           { 
                
               
    ModelDoc2 swDoc =  null
               
    PartDoc swPart =  null
               
    DrawingDoc swDrawing =  null
               
    AssemblyDoc swAssembly =  null
               
    bool boolstatus =  false
               
    int longstatus = 0; 
               
    int  longwarnings = 0; 
               swDoc = ((
    ModelDoc2)(swApp.ActiveDoc)); 
           } 
             
             
    The SldWorks swApp variable is pre-assigned for you. 
             
           
    public  SldWorks swApp; 
       }
    }


  5. class SolidWorksMacroはそのままでForm1を追加しましょう。デザイナー画面でこんな感じにしてみました。 フォームにラベルを2個、コンボボックスを1個、ボタンを2個張り付けています。コントロールのテキストは デザイナー画面でも設定できますが「class Form1」の中に記述しました。デザイナー画面の感じは2014版 と少し高級になっています。


  6. 「class Form1」はそのままにしておいてクラスを1個追加しましょう。名前は「datafile」にしましょう。

    「class datafile」のコードです。ここにコードを追加していきます。

    using System;
    using System.Collections.Generic;
    using System.Text;
    namespace changescale.csproj

       
    class datafile 
       

       }
    }


  7. メモ帳を開いて表示させたい図面のスケールを記入して 「C:\Program Files (x86)\Common Files\microsoft shared\VSTA\8.0\x64」 の場所に名前を「datafile」にして保存します。

  • 1:1
  • 1:2
  • 1:3
  • 1:4
  • 1:5
  • 1:8
  • 1:10
  • 1:15
  • 1:20
  • 1:25
  • 1:30
  • 1:40
  • 1:50
  • 1:75
  • 1:100
  • 2:1
  • 2:1
  • 2:3
  • 2:5

注意:

図面のテンプレートの「スケール」は 「シートスケールの使用」のラジオボタンがチェックされているように作成しておいてください。
以上で下準備が完了しました。次のページではコードの編集をしましょう。
基本操作編INDEXに戻る場合はコチラ↓
LINEで送る
株式会社 サンエツ
〒252-1121 神奈川県綾瀬市小園883-1
TEL :0467-76-7228
FAX :0467-77-3448
E-mail :info@sanetu.main.jp
URL : http://sanetu.main.jp