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

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









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

仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: スケッチで打った点のxyz座標の取得 前のトピック 次のトピック
ページ: [1] Page Bottom 返信 返信のお知らせ Print 
   著者  トピック: スケッチで打った点のxyz座標の取得  (閲覧数 3921 回)
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スケッチだと正常に操作しないのかもしれない。


ちなみに、点群の座標データのエクセルへの読み込みは試されてみましたか?
議長に報告する   記録済み
ページ: [1] Page Top 返信 返信のお知らせ Print 
仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: スケッチで打った点のxyz座標の取得 前のトピック 次のトピック
ジャンプします: