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

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









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

仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: 参照軸の取得について 前のトピック 次のトピック
ページ: [1] Page Bottom 返信 返信のお知らせ Print 
   著者  トピック: 参照軸の取得について  (閲覧数 2292 回)
hyoukagizyutu
新人さん
*

オフライン

投稿: 6



I'm a llama!

プロファイルを見る
参照軸の取得について
« 投稿日: 2011/12/16 - 12:32:31 »
引用して返信

以前、「スケッチ上の点のアセンブリ上での座標取得について」でお世話になった者です。
先のプログラム自体は問題ないのですが、下記のような点を追加したいと考えております。

(1)穴フィーチャーのスケッチ方向を取得したい。
(ボルトと穴の位置判定を行う際に軸方向が必要なため)
(2)直線・円パターンの参照軸(GetD1AxisType)を取得したい。
(先のプログラムではパターンにて作成された穴位置を取得できないのでパターン数・ピッチ等から穴位置を算出するため)

サンプルプログラムを参考にしながら軸の取得をしようとしているのですがうまくいかないためどうかよろしくお願いします。

以下、作成中のプログラムの一部です。参照軸1の取得ができません。

                ElseIf strFeatureTypeName = "LPattern" And swCompFeature.IsSuppressed = False Then
                    ' フィーチャ名取得
                    strFeatureName = swCompFeature.Name
                   
                    ' 直線パターンデータの取得
                    Dim swLP As SldWorks.LinearPatternFeatureData
                    Set swLP = swCompFeature.GetDefinition
                    Dim line1 As Long                          'パターン数
                    Dim line2 As Long
                    line1 = swLP.D1TotalInstances
                    line2 = swLP.D2TotalInstances
                    Dim Space1 As Double                        'ピッチ
                    Dim Space2 As Double
                    Space1 = swLP.D1Spacing
                    Space2 = swLP.D2Spacing
                    Dim Rd1 As String                          '軸の反転判定
                    Dim Rd2 As String
                    Rd1 = swLP.D1ReverseDirection
                    Rd2 = swLP.D2ReverseDirection

                    Dim type1 As Long            '参照軸1
                    type1 = swLP.GetD1AxisType
                    Debug.Print "type=" & type1
                   
                    Dim Axis1 As SldWorks.RefAxis
                    Dim d1Edge As SldWorks.Edge
                    Dim d1Curve As SldWorks.Curve
                    Dim vLineParam As Variant
                   
                    Select Case type1
                   
                    Case 0

                        Axis1 = swLP.d1Axis
                       
                   
                    Case 1


                        d1Edge = swLP.d1Axis
                        'd1Curve = d1Edge.GetCurve
                        'vLineParam = d1Curve.LineParams
                        'Debug.Print "Root Pt    = (" & vLineParam(0) * 1000# & ", " & vLineParam(1) * 1000# & ", " & vLineParam(2) * 1000# & ") mm"
                       
                       
                    End Select
議長に報告する   記録済み
Makoron
カタマリの王様!?
*****

オフライン

投稿: 1277



SW2011SP5.0

プロファイルを見る
Re:参照軸の取得について
« 返信 #1 投稿日: 2011/12/19 - 20:02:28 »
引用して返信

hyoukagizyutuさん、こんにちは。

問題の箇所は
Axis1 = swLP.d1Axis
ですよね。

私の方でも試してみましたが取得することは出来ませんでした・・・

もしかするとAPIの不具合かもしれません。
代理店のサポートの方へ連絡して確認してもらうと良いと思います。
議長に報告する   記録済み
hisa
カタマリの王様!?
*****

オフライン

投稿: 507



PANDA-Z!!

プロファイルを見る WWW
Re:参照軸の取得について
« 返信 #2 投稿日: 2011/12/21 - 00:36:59 »
引用して返信

LinearPatternFeatureData::D1AxisプロパティをAPIヘルプで確認したところ、
このプロパティを使用する際の詳細についてはフィーチャーを定義する選択へのアクセス(Accessing Selections that Define Features)を参照してください。
と記述がありました。

つまり、D1Axisで軸を取得する前に、LinearPatternFeatureData::AccessSelectionsメソッドでフィーチャー定義へのアクセスを有効にしなければならないみたいです。

具体的には、

swLP.AccessSelections swModel, swComp    '部品の場合は、2つ目の引数はNothing
Axis1 = swLP.d1Axis
swLP.ReleaseSelectionAccess

といった感じです

基本的に、フィーチャー定義のプロパティでオブジェクトを返すものは、フィーチャーを定義する選択へのアクセスの手順を踏まないといけないっぽいですね。
議長に報告する   記録済み
hyoukagizyutu
新人さん
*

オフライン

投稿: 6



I'm a llama!

プロファイルを見る
Re:参照軸の取得について
« 返信 #3 投稿日: 2011/12/21 - 12:31:00 »
引用して返信

Makoronさん hisaさん
いつもお世話になっています。
ご返信ありがとうございます。

Makoronさん
会社のほうでsolid works自体のサポートは加入しているのですが、APIについては対象外とのことでマクロについては
サポートしてもらうことができません。しかしながら、不具合ということであれば何らかの形で返答をもらえるかもしれません。

hisaさん
「フィーチャーを定義する選択へのアクセス」についてまだ理解できていませんが頂いたコードとヘルプを見つつ試してみたいと思います。

お二方ともありがとうございました。
議長に報告する   記録済み
ページ: [1] Page Top 返信 返信のお知らせ Print 
仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: 参照軸の取得について 前のトピック 次のトピック
ジャンプします: