Random Thoughts |
Consciousness: that annoying time between naps.
|
言語 |
|
|
|
フォーラムニュース: 質問、相談カテゴリに「SolidWorks操作方法」に関するフォーラムを追加しました。(2003/11/27) |
いらっしゃい、 ゲストさん. まずはこちら→ ログイン または 登録. 2024/11/23 - 07:10:54 |
|
|
|
著者
|
トピック: スケッチで打った点のxyz座標の取得 (閲覧数 4551 回) |
|
kim_aoki
新人さん
オフライン
投稿: 5
I'm a llama!
|
|
スケッチで打った点のxyz座標の取得
« 投稿日: 2011/08/19 - 17:41:25 » |
|
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値 となっていました。誰かマクロに詳しい方がいれば教えていただけると助かります。どうかお願いできないでしょうか。よろしくお願いします。
|
|
|
|
SW2010C
Jr. メンバー
オフライン
投稿: 23
I'm a llama!
|
|
Re:スケッチで打った点のxyz座標の取得
« 返信 #1 投稿日: 2011/10/07 - 10:11:23 » |
|
まず、APIに関する質問はこちらではなく、カスタマイズの方に投稿した方が良いかと。
で、エラーの内容ですが
Set theSketch = Part.GetActiveSketch2
この行でアクティブなスケッチを取得していますので、マクロ実行時にはスケッチが選択(部品ファイルでは編集)状態になっている必要があります。 スケッチを編集状態にして実行すれば通ります。
ただし、マクロを実行しても、VBA内に設定された変数に座標が格納されるだけなので、その後の処理は自分で追加する必要があります。
|
|
|
|
SW2010C
Jr. メンバー
オフライン
投稿: 23
I'm a llama!
|
|
Re:スケッチで打った点のxyz座標の取得
« 返信 #2 投稿日: 2011/10/07 - 14:19:48 » |
|
追加
カスタマイズの掲示板の過去ログに同様の内容のトピックがありました。ご参照ください。
|
|
|
|
|
|
|
|