ここから本文です

solidworksのアセンブリ拘束で関係式は使えないのですか? 例えば距離一致や角...

gol********さん

2014/10/907:38:28

solidworksのアセンブリ拘束で関係式は使えないのですか?

例えば距離一致や角度一致の数値にスケッチ内の数値由来のパラメーターを与えたいと思っています。

閲覧数:
574
回答数:
1

違反報告

ベストアンサーに選ばれた回答

byb********さん

2014/10/1023:10:46

こんばんは



いろいろと方法がありますが、自由自在にパラメーターを渡すならAPIを使用するのが簡単です。

C++は少しプログラムに時間がかかりますが、NET.VBやC#なら簡単です。
但し、C#はお行儀よくプログラムしないとご機嫌斜めになりますので、一番簡単なNET.VBのサンプルを掲載します。


Dim longwarnings As Integer = 0
Dim dobl As Double 'スケッチの寸法を格納する変数

swDoc = CType(swApp.ActiveDoc, ModelDoc2)
boolstatus = swDoc.Extension.SelectByID2("conform2-1@conform1", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
swAssembly = CType(swDoc, AssemblyDoc)
swAssembly.EditPart()
swDoc.ClearSelection2(True)
boolstatus = swDoc.Extension.SelectByID2("スケッチ1@conform2-1@conform1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
swDoc.EditSketch()
swDoc.ClearSelection2(True)
boolstatus = swDoc.Extension.SelectByID2("D1@スケッチ1@conform2-1@conform1", "DIMENSION", 0.00997048365235037, -0.26380648060216361, 0.074235001085434571, False, 0, Nothing, 0)
Dim myDimension As Dimension = Nothing
myDimension = CType(swDoc.Parameter("D1@スケッチ1@conform2.Part"), Dimension)
myDimension.SystemValue = 0.4
dobl = myDimension.SystemValue '変数doblにスケッチ寸法を格納
swDoc.ClearSelection2(True)
swDoc.SketchManager.InsertSketch(True)
swAssembly = CType(swDoc, AssemblyDoc)
swAssembly.EditAssembly()

swDoc.ClearSelection2(True)
swDoc = CType(swApp.ActiveDoc,ModelDoc2)
boolstatus = swDoc.Extension.SelectByID2("平面", "PLANE", 0, 0, 0, true, 1, Nothing, 0)
boolstatus = swDoc.Extension.SelectByID2("", "FACE", 0.02107432113308505, -0.1665329372348765, -0.012432332398518042, true, 1, Nothing, 0)

Dim myMate As Mate2 = Nothing
swAssembly = CType(swDoc, AssemblyDoc)
'距離一致にdoblを適応
myMate = CType(swAssembly.AddMate4(5, 0, True, dobl, dobl, dobl, 0.001, 0.001, 0, 0.5235987755983, 0.5235987755983, False, False, longstatus), Mate2)
swDoc.ClearSelection2(true)
swDoc.EditRebuild3()


VBAはなんとなくチョロクサイ感じがしますので、NET.VBにしました。

プログラムの流れ
#部品編集
#スケッチ編集
#寸法の取得
#取得した寸法で一致拘束
といった流れになります。

この回答は投票によってベストアンサーに選ばれました!

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる