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

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









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

仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: ASSY上での部品の座標取得 前のトピック 次のトピック
ページ: [1] Page Bottom 返信 返信のお知らせ Print 
   著者  トピック: ASSY上での部品の座標取得  (閲覧数 4365 回)
towa_nawa
新人さん
*

オフライン

投稿: 3



I'm a llama!

プロファイルを見る
ASSY上での部品の座標取得
« 投稿日: 2007/02/09 - 17:10:40 »
引用して返信

SolidWorksのAPIを4・5ヶ月前からはじめたのですが、わからないことも多く、
ある事で躓いてしまってこまっていました。
インターネット等で検索しこのサイトを発見し、大変有益な情報が多く感激しています。

過去の質問を見ても、わからないことがあり質問させていただきたい次第です。

Assembly上に、部品をいくつか配置してあるものとします。
いくつかの部品に穴が空いており、その穴の座標を取得したいのですが、
Partファイルの場合の座標取得はできるコードをヘルプ等から発見したのですが
Assy上の座標で穴の座標を得る事がどうしてもできません。

どなたか教えていただけないでしょうか?

環境
windows XP sp2
SolidWorks 2004 SP4.1
議長に報告する   記録済み
hisa
カタマリの王様!?
*****

オフライン

投稿: 507



PANDA-Z!!

プロファイルを見る WWW
Re:ASSY上での部品の座標取得
« 返信 #1 投稿日: 2007/02/13 - 11:19:37 »
引用して返信

towa_nawaさん、こんにちは

ASSY上での部品座標取得は、下記の手順で行います。
括弧内は、使用するメソッドの例です。(手順3は状況により結構変化するので省略)

<準備>
1. ASSYモデル取得(SldWorks.ActiveDoc→AssemblyDoc)
2. MathUtility取得(SldWorks.GetMathUtility→MathUtility)※手順5より前であれば前後しても可
3. 対象構成部品取得(Component2)
<座標変換>
4. 構成部品のトランスフォーム取得(Component2.Transform2→MathTransform)
5. 構成部品上の座標取得・定義(MathUtility.CreatePoint→MathPoint)
6. 座標にトランスフォームを掛け合わせて部品座標→ASSY座標変換
  (MathPoint.MultiplyTransform(MathTransform)→MathPoint)
<結果>
7. 必要に応じて座標値取り出し(MathPoint.ArrayData)

ここで言う、MathUtilityはMathPoint・MathTransFormなどを作り出すユーティリティで
MathPointは、XYZ座標を計算するためのインターフェイス。
MathTransformは、2つの座標系の関係を表すインターフェイスとなっています。
ちなみに、以前座標系からMathTransformへでも書いており、当時Component2.Transformで
ASSY→構成部品としていましたが間違いでしたね…

構成部品→ASSYの場合は、Component2.Transform2をそのまま使用し、
ASSY→構成部品の場合は、Component2.Transform2.Inverseで逆転させます。

サンプルコードが、SolidWorks2006版のAPIマニュアルにTransform Point from Component Space to
Assembly Space Example (VB)として掲載されています。
SolidWorks2004でも問題なく動作すると思います。
議長に報告する   記録済み
towa_nawa
新人さん
*

オフライン

投稿: 3



I'm a llama!

プロファイルを見る
ありがとうございます。
« 返信 #2 投稿日: 2007/02/15 - 00:41:17 »
引用して返信

hisaさん、こんにちは。

丁寧な説明ありがとうございます。教えて頂いたのですぐ実行し、報告するのが礼儀だと
思っておりましたが、少々忙しくまだできていません。大変申し訳ありません。

私は座標変換という考え方をまったくしていませんでした。近日中にhisaさんに教えていただいた
手法を用いてマクロを作成し結果を報告したいと思います。
議長に報告する   記録済み
towa_nawa
新人さん
*

オフライン

投稿: 3



I'm a llama!

プロファイルを見る
Re:ASSY上での部品の座標取得
« 返信 #3 投稿日: 2007/02/27 - 16:32:53 »
引用して返信

大変遅くなって申し訳ありません

hisaさんの言われたとおり実行してみたところ、
assembly上での座標に変換することができました。
hisaさん本当にありがとうございました。
議長に報告する   記録済み
ページ: [1] Page Top 返信 返信のお知らせ Print 
仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: ASSY上での部品の座標取得 前のトピック 次のトピック
ジャンプします: