Random Thoughts |
A closed mouth gathers no feet.
|
言語 |
|
|
|
フォーラムニュース: 質問、相談カテゴリに「SolidWorks操作方法」に関するフォーラムを追加しました。(2003/11/27) |
いらっしゃい、 ゲストさん. まずはこちら→ ログイン または 登録. 2024/11/23 - 07:03:30 |
|
|
|
著者
|
トピック: 3Dスケッチにおける、寸法付けの方法 (閲覧数 2400 回) |
|
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!!
|
|
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様
ご回答ありがとうございます
直線の端点を選択する考えは思いつきませんでした^^; 結局、始点と終点の座標より、直線の中点を求めることで対応をしました。 おかげさまで、どうにか目標のプログラムが完成しそうです
ありがとうございました。
|
|
|
|
|
|
|
|