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

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









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

仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: アノテート矩形の取得方法 前のトピック 次のトピック
ページ: [1] Page Bottom 返信 返信のお知らせ Print 
   著者  トピック: アノテート矩形の取得方法  (閲覧数 1419 回)
akichin
Full メンバー
***

オフライン

投稿: 32



I'm a llama!

プロファイルを見る メールアドレス
アノテート矩形の取得方法
« 投稿日: 2004/01/23 - 16:44:43 »
引用して返信

SolidWorks2003・2004でAPIによるアドインを作成しているのですが、図面上で寸法(DisplayDimension)・注記(Note)・幾何公差(Gtol)の表示の前後に、Noteを作成・表示させようとしています。
色々試しましたが、現在はDisplayData::GetTextPositionAtIndexをindex=0で使用して先頭文字の座標を取得し、この座標を基準にして表示が被らないような前方位置にNoteを作成しています。
Annotation(DisplayDimension・Note・Gtol個々でも良いです)の矩形(左下・右上)を取得する方法は無いのでしょうか?
議長に報告する   記録済み
Makoron
カタマリの王様!?
*****

オフライン

投稿: 1277



SW2011SP5.0

プロファイルを見る
Re:アノテート矩形の取得方法
« 返信 #1 投稿日: 2004/01/23 - 17:07:54 »
引用して返信

Annotation::GetPosition ではどうでしょうか?
(APIヘルプだと、矩形の左上の座標を取得するみたいですが。)
試していないので、どんな動きをするか不明ですが...。
議長に報告する   記録済み
webmaster
管理人
議長
カタマリの王様!?
*****

オフライン

投稿: 649





プロファイルを見る WWW メールアドレス
Re:アノテート矩形の取得方法
« 返信 #2 投稿日: 2004/01/23 - 17:08:55 »
引用して返信

使ったことがないので外しているかもしれませんが、APIヘルプのキーワードにGetTextPointと入力して出てくる Note::GetTextPoint と Gtol::GetTextPoint はどうでしょうか。

あ、かぶった。 ちょっと違うけど。
議長に報告する   記録済み

webmaster (仕事のカタマリ管理人)
akichin
Full メンバー
***

オフライン

投稿: 32



I'm a llama!

プロファイルを見る メールアドレス
Re:アノテート矩形の取得方法
« 返信 #3 投稿日: 2004/01/24 - 18:39:15 »
引用して返信

Makoronさん、webmasterさん、早速のレスありがとうございます。私事ですが、新年会から休日に入ってしまったので、お返事が遅れてしまいました。

Makoronさん、Annotation::GetPositionについては知っていて、DisplayDataを使用する前には実はこれを使用していたのですが、この関数は種類(DisplayDimension・Note・Gtol)によって返す位置が違う(確か中心座標を返す種類もあったと思いますが…)為、それぞれに合わせた座標変換を行わなくてはならないので、使用を止めていました。基準座標を取得した後も、表示が被らないように対象Annotationの前後に座標を変換しなくてならないので、基準座標はできるだけ簡単に、出来ることなら斧種類に対しても同じ位置を返す方法(関数)を使用したいのです。

webmasterさん、::GetTextPointについては、もしかして使用したことが無いかもしれませんが、寸法(DisplayDimension・Dimension)にも同様の関数があるのですか?またどのような値を返してくれるのでしょうか?休日で家にいるのでSolidWorksやAPIヘルプが見れないんです。確認は週明けになってしまいます。期待してます。

図面上で、アイテムの上にマウスを持って行った時に、赤い枠が表示されますが、出来たらこの矩形を取得したいんです。寸法の場合は、表示させた公差も含めてくれるので理想的です。無いのかな…。
議長に報告する   記録済み
akichin
Full メンバー
***

オフライン

投稿: 32



I'm a llama!

プロファイルを見る メールアドレス
Re:アノテート矩形の取得方法
« 返信 #4 投稿日: 2004/01/26 - 11:09:28 »
引用して返信

Annotation::GetPositionの再確認と、::GetTextPointの動作確認をしてみました。

Makoronさん、Annotation::GetPositionについては、やはり注記・幾何公差がテキストボックスの左上の座標を返し、寸法についてはヘルプには乗っていないのですが、使用するとエラー(retval = FALSE)にはならずに中心座標を返しているようです。DisplayDataを使用した場合とは取得する場所の違いがありますが、寸法の場合の動作保証が曖昧で、中心座標から変換を掛けなければならない分大変なので、やはり使用は考えられません。

webmasterさん、::GetTextPointについては、寸法(DisplayDimension・Dimension)には無いようです。幾何公差については試してませんが、注記については左上の座標を返し、DisplayDataを使用した場合と結果的には変わりません。寸法にも同様の関数があればスマートな分良いのですが、やはり使用は考えられません。

またDisplayDataを使用した場合の欠点である、右座標(右上もしくは右下)を取得できない限り変更は考えられないと思います。以前も記載しましたが、図面上で、アイテムの上にマウスを持って行った時に表示される、赤い枠の矩形を取得できないものでしょうか?
議長に報告する   記録済み
akichin
Full メンバー
***

オフライン

投稿: 32



I'm a llama!

プロファイルを見る メールアドレス
Re:アノテート矩形の取得方法
« 返信 #5 投稿日: 2004/01/27 - 13:21:22 »
引用して返信

アイテムの上にマウスを持って行った時に表示される、赤い枠の矩形の取得方法は、「SolidWorks Support」にも問い合わせていたのですが、「現状では、そのようなメソッド、プロパティは用意されておりません。」との回答が帰ってきました。
残念ですが、現行で取得している左下(左上)座標を基に、計算を駆使してアノテートの後方にも注記を作成してみます。
何か新情報がありましたら、教えて下さい。宜しくお願いします。
議長に報告する   記録済み
ページ: [1] Page Top 返信 返信のお知らせ Print 
仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: アノテート矩形の取得方法 前のトピック 次のトピック
ジャンプします: