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

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









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

仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorks全般 (議長: webmaster)  |  トピック: スケッチで打った点のxyz座標の取得 前のトピック 次のトピック
ページ: [1] Page Bottom 返信 返信のお知らせ Print 
   著者  トピック: スケッチで打った点のxyz座標の取得  (閲覧数 4494 回)
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 »
引用して返信

追加

カスタマイズの掲示板の過去ログに同様の内容のトピックがありました。ご参照ください。
議長に報告する   記録済み
ページ: [1] Page Top 返信 返信のお知らせ Print 
仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorks全般 (議長: webmaster)  |  トピック: スケッチで打った点のxyz座標の取得 前のトピック 次のトピック
ジャンプします: