chon
新人さん
オフライン
投稿: 3
I'm a llama!
|
|
OLE objectのscaleはAPIでどうやって変更するのでしょうか。
« 投稿日: 2004/06/29 - 20:07:27 » |
|
どなたかお助けください。 【狙い】VBでSolidWorksの2D図面上にビットマップのサインをのせてプリンタへ出力したいと考えています。 【現状】図面枠の所定の位置にビットマップを挿入するのはInsertObjectFromFileでできることを見つけたのですが、ビットマップを表示する大きさの調整方法がわかりません。手動でやる場合はビットマップを右クリックしてOLEオブジェクトのプロパティでスケールを変更すればできるのですが、それに相当するAPIを見つけられずに困っています。初めから小さなビットマップにすると見た目の品質が悪いので縮小したいと思っています。 よろしくお願いします。
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:OLE objectのscaleはAPIでどうやって変更するのでしょうか。
« 返信 #1 投稿日: 2004/06/30 - 11:32:48 » |
|
ごめんなさい 僕にはわかりません。
SoldWorksのAPIと言うより、VBでOLEオブジェクトをどう扱うのか、また、どんな風にプログラミングするのかがわかっていません。 (勉強不足です...。)
一応、OLEオブジェクト関連のSWSPIで見つけたメッソッドを書き出しておきます。 ModelDoc2::ObjectDisplayAsIcon ModelDoc2::ObjectDisplayContent ModelDoc2::ObjectResetsize Sheet::CreateOLEObject Sheet::GetOLEObjectCount Sheet::GetOLEObjectSettings
|
|
|
|
chon
新人さん
オフライン
投稿: 3
I'm a llama!
|
|
Re:OLE objectのscaleはAPIでどうやって変更するのでしょうか。
« 返信 #2 投稿日: 2004/07/02 - 15:14:23 » |
|
ありがとうございます。Makoronさんがわからないのならやはり無理なのかもしれませんね。今週ずっと探し回りましたが解決しませんでした。 そこで次の手を考えました。 【代替方法】 ビットマップでなくdxf形式で作ったファイルを図面枠に貼り付ける。 【現状】 ブロック登録を使って手動でdxfファイルを貼り付けることはできました。その時の作業をマクロに記録しましたが、またもや何か記録から欠落したようで自動実行できません。 どなたかお分かりでしたらお教えください。
|
|
|
|
chon
新人さん
オフライン
投稿: 3
I'm a llama!
|
|
Re:OLE objectのscaleはAPIでどうやって変更するのでしょうか。
« 返信 #3 投稿日: 2004/07/02 - 16:47:30 » |
|
自己完結報告です。 InsertBlockを使用すると実現することができました。 記録マクロでなぜこれを記録してくれないんでしょうね? お手数をかけました。
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:OLE objectのscaleはAPIでどうやって変更するのでしょうか。
« 返信 #4 投稿日: 2004/07/02 - 17:53:24 » |
|
「ブロックで試してみては?」、と書こうとしたのですが、OLEがわからないことが悔しくて、書くのを忘れていました。 (出来てよかったですね。)
実は、私も図面への承認ハンコをブロックでやろうと思っています。 ブロックでの張り付けテストをしていたので、可能だと考えています。 たぶんInsertBlockなども試していたと思うので、それを書き込んでいたらchonさんの悩みもなかったかも知れません。 前に作ったサンプルを思い出すのに時間がかかると思って、調べませんでした。ゆるしてください
今後いろいろと勉強して、OLEレベルも扱えるようにはなりたいとは思いますが、長い道のりとなりそうです。
|
|
|
|