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

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









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

仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: 3Dスケッチにおける、寸法付けの方法 前のトピック 次のトピック
ページ: [1] Page Bottom 返信 返信のお知らせ Print 
   著者  トピック: 3Dスケッチにおける、寸法付けの方法  (閲覧数 2330 回)
hukulogy
新人さん
*

オフライン

投稿: 5



I'm a llama!

プロファイルを見る
3Dスケッチにおける、寸法付けの方法
« 投稿日: 2013/06/24 - 01:55:56 »
引用して返信

こんばんは、hukulogyと申します。
いつもこちらの掲示板にお世話になっております。

私は現在、名前が分かっている直線、あるいは直線間に寸法を付けようとしております。(3Dスケッチにて)

そこで、私が行ったことですが、
Excelに、寸法を付けたい直線の名前がある

マクロを実行し、その直線をSelectByID2により選択

AddDimension2で寸法を付ける

となりますが、どうも上手くいきません。


調べたところ、AddDimension2をするためには、スケッチがあるXYZ座標を利用してSelectByID2による選択を行わないといけないみたいです。
ですが、そのXYZ座標の取得方法が分からなくて困っております。

XYZ座標の取得方法が分かる方がいましたら、教えて頂けないでしょうか。宜しくお願い致します。


また、別の方法でも構いませんので、直線に寸法をつける方法が分かる方が居られましたら、ご教示下さい。
議長に報告する   記録済み
hisa
カタマリの王様!?
*****

オフライン

投稿: 507



PANDA-Z!!

プロファイルを見る WWW
Re:3Dスケッチにおける、寸法付けの方法
« 返信 #1 投稿日: 2013/06/24 - 14:28:06 »
引用して返信

hukulogyさん、こんにちは

直線のSelectByID2が出来ているのであれば、
SelectionMgr.GetSelectionPoint2で選択したオブジェクトの座標が取得できると思います。

もしくは、選択中の要素の種類によって要素に応じたオブジェクト(直線ならSketchLine)を取得し、端点の座標を取得することになると思います。

一応、選択したスケッチ要素から上記を取得するサンプルコードを書いておきますね

Code:
Option Explicit

Sub main()

    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swSelMgr As SldWorks.SelectionMgr
    Dim swSketchSeg As SldWorks.SketchSegment
    Dim swSketchLn As SldWorks.SketchLine
    Dim swSketchPt As SldWorks.SketchPoint
    Dim vSelPt As Variant
   
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swSelMgr = swModel.SelectionManager

    Set swSketchSeg = swSelMgr.GetSelectedObject6(1, -1)
   
    ' GetSelectionPoint2から選択点座標の取得
    vSelPt = swSelMgr.GetSelectionPoint2(1, -1)
    Debug.Print vSelPt(0)
    Debug.Print vSelPt(1)
    Debug.Print vSelPt(2)
   
    ' 選択したスケッチセグメントのタイプから、それぞれの端点の座標を取得(例として直線しか書いてません…)
    Select Case swSketchSeg.GetType
        Case swSketchSegments_e.swSketchLINE
            Set swSketchLn = swSketchSeg
            Set swSketchPt = swSketchLn.GetStartPoint2
            Debug.Print swSketchPt.X
            Debug.Print swSketchPt.Y
            Debug.Print swSketchPt.Z
            Set swSketchPt = swSketchLn.GetEndPoint2
            Debug.Print swSketchPt.X
            Debug.Print swSketchPt.Y
            Debug.Print swSketchPt.Z
        Case swSketchSegments_e.swSketchARC
       
        Case swSketchSegments_e.swSketchELLIPSE
       
        Case swSketchSegments_e.swSketchSPLINE
       
        Case Else
    End Select
       
End Sub
議長に報告する   記録済み
hukulogy
新人さん
*

オフライン

投稿: 5



I'm a llama!

プロファイルを見る
Re:3Dスケッチにおける、寸法付けの方法
« 返信 #2 投稿日: 2013/06/25 - 00:59:16 »
引用して返信

hisa様

ご回答ありがとうございます

直線の端点を選択する考えは思いつきませんでした^^;
結局、始点と終点の座標より、直線の中点を求めることで対応をしました。
おかげさまで、どうにか目標のプログラムが完成しそうです



ありがとうございました。
議長に報告する   記録済み
ページ: [1] Page Top 返信 返信のお知らせ Print 
仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: 3Dスケッチにおける、寸法付けの方法 前のトピック 次のトピック
ジャンプします: