Random Thoughts |
I don't have a big ego, I'm way too cool for that.
|
言語 |
|
|
|
フォーラムニュース: 質問、相談カテゴリに「SolidWorks操作方法」に関するフォーラムを追加しました。(2003/11/27) |
いらっしゃい、 ゲストさん. まずはこちら→ ログイン または 登録. 2024/11/23 - 16:13:28 |
|
|
|
著者
|
トピック: 皿穴のサイズ変更について (閲覧数 2205 回) |
|
oone
新人さん
オフライン
投稿: 3
I'm a llama!
|
|
皿穴のサイズ変更について
« 投稿日: 2007/05/12 - 00:44:56 » |
|
はじめまして、マクロの勉強をはじめたばかりのものです。 VB6を使用していまして、サイズM5で、作成してある皿穴をサイズM6の皿穴に変更するといった、マクロを作りたいのですが、コードを組むことができません。 申し訳ありませんが、どなたか教えていただけないでしょうか?
|
|
|
|
hisa
カタマリの王様!?
オフライン
投稿: 507
PANDA-Z!!
|
|
Re:皿穴のサイズ変更について
« 返信 #1 投稿日: 2007/05/14 - 11:15:05 » |
|
ooneさん はじめまして
サンプル作成してみました。
ヴァージョン:SolidWorks2006 SP5.0 開発環境:VBAマクロ
Option Explicit
Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swFeature As SldWorks.Feature Dim swWzdHole As SldWorks.WizardHoleFeatureData2 Dim bRet As Boolean
Sub main()
Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc If swModel.GetType <> swDocPART Then MsgBox "このマクロは部品のみ有効です。" Exit Sub End If
Set swFeature = swModel.FirstFeature While Not swFeature Is Nothing If swFeature.GetTypeName = "HoleWzd" Then Set swWzdHole = swFeature.GetDefinition If swWzdHole.Standard = "JIS" And swWzdHole.FastenerType = "十字付き丸皿 JIS B 1111p4" _ And swWzdHole.FastenerSize = "M5" Then bRet = swWzdHole.ChangeStandard(swStandardJIS, swStandardJISRaisedCTSKHead, "M6") bRet = swFeature.ModifyDefinition(swWzdHole, swModel, Nothing) Debug.Print bRet End If End If Set swFeature = swFeature.GetNextFeature Wend
End Sub
ポイントは、ChangeStandardで定義を変更した後に、ModifyDefinitionで反映させつところですかね。
SolidWorks2006以前だと、swWzdHole.FastenerType などで取得出来る値が文字列(例:"十字付き丸皿 JIS B 1111p4")に対し、 設定する値がLong値(例:swStandardJISRaisedCTSKHead)なので、値の照合が面倒です SolidWorks2007からは、Standard2及びFastenerType2でLong値として取得出来るので、楽になっています 環境に合わせてコード編集してみてください。
あ…思い込みで作っちゃいましたが、穴ウィザードで作成した皿穴で良かったんですかね…
|
|
|
|
oone
新人さん
オフライン
投稿: 3
I'm a llama!
|
|
Re:皿穴のサイズ変更について
« 返信 #2 投稿日: 2007/05/15 - 06:53:03 » |
|
hisaさんお返事ありがとうございました。 穴ウィザードで、皿穴を作成したかったので助かりました。 SolidWorks 2005 SP3.1のヴァージョンのもと早速このサンプルを引用させていただき、動作確認したところ無事に皿穴のサイズを変更することができました。 本当にありがとうございました。
|
|
|
|
|
|
|
|