



Random Thoughts |
I don't do drugs 'cause I find I get the same effect just by standing up really fast.
|

言語 |
|




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

著者
|
トピック: FeatureオブジェクトからModelDoc2オブジェクトを取得するには? (閲覧数 2060 回) |
|
tkinu
Sr. メンバー    
オフライン
投稿: 141

|
 |
FeatureオブジェクトからModelDoc2オブジェクトを取得するには?
« 投稿日: 2004/12/13 - 13:13:05 » |
|
こんにちわ。
アセンブリモデルで、ある方法でFeatureオブジェクトを取得しそのFeatureオブジェクト が含まれているModelDoc2 オブジェクトを取得したいのですが、どのような方法がある のでしょうか?
|
|
|
|
hisa
カタマリの王様!?     
オフライン
投稿: 507

PANDA-Z!!
|
 |
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が使用可能です。
|
|
|
|
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
|
|
|
|
|
|
|

|