仕事のカタマリにようこそ!  [ ログイン | ユーザ登録 ]
フォーラムから検索

機械用3D-CAD SolidWorks非公認のユーザサイトです
 
 
Web katamari.org
仕事のカタマリ
ホーム リンク集 ダウンロード フォーラム(掲示板) FAQ お問い合わせ









フォーラムニュース: 質問、相談カテゴリに「SolidWorks操作方法」に関するフォーラムを追加しました。(2003/11/27)
いらっしゃい、 ゲストさん. まずはこちら→ ログイン または 登録. 2024/11/23 - 13:05:58
ホーム ヘルプ 検索 ログイン 登録

仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: スケッチ寸法について 前のトピック 次のトピック
ページ: [1] Page Bottom 返信 返信のお知らせ Print 
   著者  トピック: スケッチ寸法について  (閲覧数 1572 回)
motom
新人さん
*

オフライン

投稿: 7



I'm a llama!

プロファイルを見る
スケッチ寸法について
« 投稿日: 2009/01/09 - 10:00:27 »
引用して返信

いつもお世話になっております。
初心者のため、的外れな質問でしたらすみません。

アセンブリの中の各パーツの中の寸法値を変更したいと思っています。
デザインツリーの全てのパーツに存在する寸法にアクセスして
任意の寸法に値を反映させたいのですが・・。

下記プログラムだと"Extrusion"の寸法しか変更出来ません。
Sketch寸法にアクセス(?)して値を変更するには
どのような方法がありますでしょうか?

ご教示の程、宜しくお願い致します。

        Dim componentDoc As SldWorks.ModelDoc2
        Set componentDoc = component.GetModelDoc

        Dim swFeature As SldWorks.Feature
        Set swFeature = componentDoc.FirstFeature

        Do While Not swFeature Is Nothing
            If swFeature.GetTypeName2 = "Extrusion" Then
                            ・
                            ・
                            ・



議長に報告する   記録済み
hisa
カタマリの王様!?
*****

オフライン

投稿: 507



PANDA-Z!!

プロファイルを見る WWW
Re:スケッチ寸法について
« 返信 #1 投稿日: 2009/01/13 - 17:30:20 »
引用して返信

肝心の寸法取得の部分が書かれていないので、どこで引っ掛かっているかはナゾですが…
"Extrusion"の寸法とは、押し出し量の寸法だけといった感じなのでしょうか

先日のトピック 【APIで直径寸法設定できない】 でも触れられていますが、フィーチャーの寸法へのアクセスは

    Set swDispDim = swFeature.GetFirstDisplayDimension
    Do While Not swDispDim Is Nothing
       
        〜ここに処理〜
       
        Set swDispDim = swFeature.GetNextDisplayDimension(swDispDim)
    Loop

といった形でフィーチャーに関わる全ての寸法にアクセスできます。
値の変更になると、Set swDimension = swDispDim.GetDimension でDimensionオブジェクトを取得して
swDimension.GetValue3やswDimension.SetValue3で取得/変更が出来ますよ
議長に報告する   記録済み
motom
新人さん
*

オフライン

投稿: 7



I'm a llama!

プロファイルを見る
Re:スケッチ寸法について
« 返信 #2 投稿日: 2009/01/13 - 18:22:10 »
引用して返信

hisa さん、ありがとうございます!

>肝心の寸法取得の部分が書かれていないので、どこで引っ掛かっているかはナゾですが…
だからですね・・ ^_^;
すみませんっっ。 hisa さんのメッセージであらためて見たところ、単純な間違いを発見しました。
ということで、下記プログラムに修正したら、走りました!

                Do While Not displayDimension Is Nothing
                    If Not displayDimension Is Nothing Then
                        Dim dimension As SldWorks.dimension
                        Set dimension = displayDimension.GetDimension2(0)
                        If Not dimension Is Nothing Then

                            If (dimension.Name = "Test") Then
                                Dim value As Double
                                value = dimension.value
                                dimension.value = 2 * value
                            End If
                        End If

                      Set displayDimension = swFeature.GetNextDisplayDimension_       
                                                        (displayDimension)
                    End If
                Loop

素人すぎて、間違いをなかなか発見出来ませんでした。すみません
ありがとうございました。今後とも宜しくお願い致します。
議長に報告する   記録済み
ページ: [1] Page Top 返信 返信のお知らせ Print 
仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: スケッチ寸法について 前のトピック 次のトピック
ジャンプします: