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

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









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

仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: 面、エッジのプロパティの名称について 前のトピック 次のトピック
ページ: [1] Page Bottom 返信 返信のお知らせ Print 
   著者  トピック: 面、エッジのプロパティの名称について  (閲覧数 1916 回)
slectByID2
新人さん
*

オフライン

投稿: 5



I'm a llama!

プロファイルを見る メールアドレス
面、エッジのプロパティの名称について
« 投稿日: 2009/01/13 - 16:13:36 »
引用して返信

面、エッジのプロパティの名称について教えていただきたいことがあるのですが、マクロで自動的に任意の名称をつけるプログラムを組みたいのですが、うまくいきません。参考のプログラムを組んでいただければありがたいのですが…
よろしくお願いします。
議長に報告する   記録済み
Makoron
カタマリの王様!?
*****

オフライン

投稿: 1277



SW2011SP5.0

プロファイルを見る
Re:面、エッジのプロパティの名称について
« 返信 #1 投稿日: 2009/01/13 - 16:46:01 »
引用して返信

slectByID2さん、こんにちは。

.SelectByID について というスレッドに添付されている、
AKIRAさんが作成されたサンプルファイルは、役に立つのではないでしょうか?
(かなり昔の内容なのでうる覚えですが、どうでしょうか・・・。)
また、わからない事や問題点があれば、サンプルマクロのどの部分がわからないかを書いてくれると、説明もしやすくなると思います。
議長に報告する   記録済み
slectByID2
新人さん
*

オフライン

投稿: 5



I'm a llama!

プロファイルを見る メールアドレス
Re:面、エッジのプロパティの名称について
« 返信 #2 投稿日: 2009/01/15 - 13:37:05 »
引用して返信

Makoronさん回答ありがとうございます。

AKIRAさんのプログラム参考になりました。
このAKIRAさんのプログラムでは、エッジに名称をつけエッジどうしの合致(同心円)になることがわかりました。
私はこのプログラムを応用して、面に面プロパティによって名称をつけ面同士の一致をしようと試みましたがうまくいきませんでした。
GetBody.GetEdges→GetBody.GetFacesのように変更すれば面の選択ができると思いましたが、こんな単純なプログラム変更ではいかないのでしょうか?
議長に報告する   記録済み
hisa
カタマリの王様!?
*****

オフライン

投稿: 507



PANDA-Z!!

プロファイルを見る WWW
Re:面、エッジのプロパティの名称について
« 返信 #3 投稿日: 2009/01/15 - 17:08:27 »
引用して返信

残念ながら Body2オブジェクトに対するGetFacesというメソッドは存在しません。

swBody.GetFirstFaceにて最初の面を取得した後に、GetNextFaceを使って
ボディ内の面を巡回して操作するのが一般的です。

詳しくは、APIヘルプでBody2::GetFirstFaceの項に例が出ているので参考にしてみて下さい
議長に報告する   記録済み
slectByID2
新人さん
*

オフライン

投稿: 5



I'm a llama!

プロファイルを見る メールアドレス
Re:面、エッジのプロパティの名称について
« 返信 #4 投稿日: 2009/01/15 - 17:24:22 »
引用して返信

hisaさん回答ありがとうございます。

APIヘルプなんですが私は英語が苦手で・・・調べてみたのですが理解できませんでした。
SWJのサイトもライセンスの関係でサービスが受けられません。
もし参考のプログラムを添付していただけたらありがたいのですが
議長に報告する   記録済み
hisa
カタマリの王様!?
*****

オフライン

投稿: 507



PANDA-Z!!

プロファイルを見る WWW
Re:面、エッジのプロパティの名称について
« 返信 #5 投稿日: 2009/01/15 - 18:07:20 »
引用して返信

APIヘルプのSelect All Faces of Component Example (VB)を参考に作ってみました。

    For i = 0 To UBound(vChild)

        '構成部品から全ボディ取得
        vBodyArr = vChild(i).GetBodies2(swSolidBody)
   
        'ボディが見付かったか判断
        If Not IsEmpty(vBodyArr) Then
       
            For Each vBody In vBodyArr
                'ボディから最初の面を取得
                Set swFace = vBody.GetFirstFace
       
                Do While Not swFace Is Nothing
                    If vChild(i).GetModelDoc.GetEntityName(swFace) = "Face1" Then
                        bRet = swFace.Select4(True, Nothing)
                        Exit For
                    End If
                    '次の面を取得
                    Set swFace = swFace.GetNextFace
                Loop
            Next
   
        End If
    Next i

マルチボディの場合も考慮して、Component2::GetBodyでは無く、Component2::GetBodies2にしています。
(構成部品名の判断文ははしょっちゃいました

ちなみに、APIヘルプのサンプルコードは日本語版ヘルプでも英語表記です(笑)
議長に報告する   記録済み
slectByID2
新人さん
*

オフライン

投稿: 5



I'm a llama!

プロファイルを見る メールアドレス
Re:面、エッジのプロパティの名称について
« 返信 #6 投稿日: 2009/01/15 - 18:25:20 »
引用して返信

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

これを参考にしてまたがんばってみます。

議長に報告する   記録済み
ページ: [1] Page Top 返信 返信のお知らせ Print 
仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: 面、エッジのプロパティの名称について 前のトピック 次のトピック
ジャンプします: