Random Thoughts |
If two wrongs don't make a right, try three.
|
言語 |
|
|
|
フォーラムニュース: 質問、相談カテゴリに「SolidWorks操作方法」に関するフォーラムを追加しました。(2003/11/27) |
いらっしゃい、 ゲストさん. まずはこちら→ ログイン または 登録. 2024/11/23 - 08:15:48 |
|
|
|
著者
|
トピック: スケッチで打った点のxyz座標の取得 (閲覧数 4002 回) |
|
kim_aoki
新人さん
オフライン
投稿: 5
I'm a llama!
|
|
スケッチで打った点のxyz座標の取得
« 投稿日: 2011/08/20 - 16:53:15 » |
|
Solidworks API ヘルプでこれができそうなマクロの例を見つけたのですが、マクロに関しての知識があまりなく、そのままコピーして使ってみてもエラーが出てしまいます。以下がその例になります。
This example shows how to loop through the active sketch and extract the X,Y values of every sketch point.
'------------------------------------------------------------
Dim swApp As Object
Dim Part As Object
Dim sketchPointArray As Variant
' Optional
Dim theSketchPoint As Object
Dim pointCount As Integer
Dim xValue As Double
Dim yValue As Double
Dim zValue As Double
Set swApp = CreateObject("SldWorks.Application")
Set Part = swApp.ActiveDoc
Set theSketch = Part.GetActiveSketch2
sketchPointArray = theSketch.GetSketchPoints2
pointCount = UBound(sketchPointArray) + 1
' For each SketchPoint
For i = 0 To (pointCount - 1)
' Set local SketchPoint object (optional)
' Set theSketchPoint = sketchPointArray(i)
' Get the coordinates
xValue = sketchPointArray(i).X
yValue = sketchPointArray(i).Y
zValue = sketchPointArray(i).Z
' <Do something useful with the data>
Next i
End Sub
これでマクロの実行をしてみてもエラーが表示されて動作しません。エラー内容は以下のとおりです。
実行時エラー'91':オブジェクト変数またはブロック変数が設定されていません。
と表示され、デバッグをしてみると、 sketchPointArray = theSketch.GetSketchPoints2 のところが黄色くなり、そこにカーソルを持っていくと sketchPointArray = Empty値 となっていました。誰かマクロに詳しい方がいれば教えていただけると助かります。どうかお願いできないでしょうか。よろしくお願いします。
|
|
|
|
zarigani
Sr. メンバー
オフライン
投稿: 61
I'm a zarigani
|
|
Re:スケッチで打った点のxyz座標の取得
« 返信 #1 投稿日: 2011/08/30 - 13:30:59 » |
|
タイトル「点群の座標データのエクセルへの読み込み」の中で、 Makoronからいただいたサンプルがお役に立つのではないですか?
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:スケッチで打った点のxyz座標の取得
« 返信 #2 投稿日: 2011/09/13 - 15:10:44 » |
|
Set theSketch = Part.GetActiveSketch2 は、現在アクティブなスケッチを取得するという物なので、 このマクロを実行する前にスケッチを選択する必要があります。
たぶん、デバッグモードに入っている時に theSketch の値を確認すると Nothing になっているのではないでしょうか?
実際にテストしていないので、説明が間違っているかもしれません。 もしかすると、スケッチ編集に入っていないとだめかもしれないし、 3Dスケッチだと正常に操作しないのかもしれない。
ちなみに、点群の座標データのエクセルへの読み込みは試されてみましたか?
|
|
|
|
|
|
|
|