



Random Thoughts |
Reality is for people who can't handle Star Trek.
|

言語 |
|




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

著者
|
トピック: スケッチで打った点のxyz座標の取得 (閲覧数 4050 回) |
|
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スケッチだと正常に操作しないのかもしれない。
ちなみに、点群の座標データのエクセルへの読み込みは試されてみましたか?
|
|
|
|
|
|
|

|