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

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









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

仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: FeatureオブジェクトからModelDoc2オブジェクトを取得するには? 前のトピック 次のトピック
ページ: [1] Page Bottom 返信 返信のお知らせ Print 
   著者  トピック: FeatureオブジェクトからModelDoc2オブジェクトを取得するには?  (閲覧数 2060 回)
tkinu
Sr. メンバー
****

オフライン

投稿: 141





プロファイルを見る
FeatureオブジェクトからModelDoc2オブジェクトを取得するには?
« 投稿日: 2004/12/13 - 13:13:05 »
引用して返信

こんにちわ。

アセンブリモデルで、ある方法でFeatureオブジェクトを取得しそのFeatureオブジェクト
が含まれているModelDoc2 オブジェクトを取得したいのですが、どのような方法がある
のでしょうか?
議長に報告する   記録済み
hisa
カタマリの王様!?
*****

オフライン

投稿: 507



PANDA-Z!!

プロファイルを見る WWW
Re:FeatureオブジェクトからModelDoc2オブジェクトを取得するには?
« 返信 #1 投稿日: 2004/12/13 - 14:48:55 »
引用して返信

こんにちは、hisaです

意外にFeatureから直接ModelDoc2やComponent2を取得する命令は無いようですね・・・

では、例として以下の方法はどうでしょう?
1.Feature.GetFacesでフィーチャーに属する全ての面(Face2)を取得。
2.Face2.GetComponent※で面が属するComponent2を取得。
3.Component2.GetModelDocでModelDoc2取得。

下記は、Feature取得後、Featureに関係する構成部品名を出力するものです。
(上記手順2までの方法・・・)

Dim swFeature As SldWorks.feature
Dim swFaces As Variant
Dim swComponent As SldWorks.Component2

    swFaces = swFeature.GetFaces
   
    For i = 0 To (swFeature.GetFaceCount) - 1
        Set swComponent = swFaces(i).GetComponent
        Debug.Print swComponent.Name
    Next i

あとは、重複する構成部品名をまとめて、Component取得後手順3を行えばいけると思います

※・・・Face2はEntityの派生オブジェクトなので、GetComponentが使用可能です。
 GetFeature2Components.lzh
議長に報告する   記録済み
tkinu
Sr. メンバー
****

オフライン

投稿: 141





プロファイルを見る
Re:FeatureオブジェクトからModelDoc2オブジェクトを取得するには?
« 返信 #2 投稿日: 2004/12/14 - 07:53:08 »
引用して返信

hisaさん、おはようございます!

参考にして、以下のようにしてみました!
バッチリ動作しました。ありがとうございます。

(Feature→Component→ModelDoc2としています。)

        swFeat = swModel.FirstFeature
    swSelMgr = swModel.SelectionManager

        Do While Not swFeat Is Nothing
                ch = swFeat.Select2(True, 0)
                SelObjType = swSelMgr.GetSelectedObjectType2(1)
                If SelObjType = swSelCOMPONENTS Then
                    swComp = swSelMgr.GetSelectedObject5(1)
                    swSubModel = swComp.GetModelDoc
        End If
        ch = swFeat.DeSelect
        swFeat = swFeat.GetNextFeature
    Loop
議長に報告する   記録済み
ページ: [1] Page Top 返信 返信のお知らせ Print 
仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: FeatureオブジェクトからModelDoc2オブジェクトを取得するには? 前のトピック 次のトピック
ジャンプします: