| 投稿者 |
メッセージ |
swear_iq_01
登録日: 2007年4月 24日 記事: 6
|
日時: 2008.08.08 (金) 08:33 記事の件名: 3Dからの図をマクロで実行したい |
|
|
こんにちわ。
3Dで作成した注釈ビュー(正面ビュー、切断ビューなど)を使って、
3Dからの図で図面に投影する処理をマクロ(VBA)で行う方法はありませんか?
注釈ビューがTPSViewなので、
DrawingViewのGenerativeBehaibiorのDefineTPSSectionViewで
できるのではと思ったのですが、
うまく実装できません。
よろしくお願いします。
|
|
|
| トップに戻る |
|
 |
y4yama

登録日: 2005年1月 07日 記事: 557
|
日時: 2008.08.08 (金) 12:09 記事の件名: Re: 3Dからの図をマクロで実行したい |
|
|
| swear_iq_01 wrote: | 注釈ビューがTPSViewなので、
DrawingViewのGenerativeBehaibiorのDefineTPSSectionViewで
できるのではと思ったのですが、
うまく実装できません。 |
swear_iq_01さん、こんちは
どこまで出来ていて、何が「うまく」出来ないのかが、あなた以外には理解できないです・・・
マクロサンプルに、 「アイソメ図を簡単に作成。3D座標値を2DのU,Vに変換する」という
似たようなものがありますが、参考になるのではないでしょうか・・・
|
|
|
| トップに戻る |
|
 |
swear_iq_01
登録日: 2007年4月 24日 記事: 6
|
日時: 2008.08.08 (金) 13:18 記事の件名: Re: 3Dからの図をマクロで実行したい |
|
|
y4yamaさんこんにちわ。
ご指摘の通り、何ができていてなにができないのかわかりませんね。
やりたいことは、
3Dで切断ビューを作成し、
図面で「3Dからの図」で切断ビューを一発で投影したい。
一般的には
図面に一度正面図を投影して、オフセット切断などで切断図を作成すると思います。
これを正面図を投影せずに切断図を作成したいのです。
切断したい位置に平面を作成して、切断ビューを作成するところまではできています。
DefineTPSSectionViewの入力の方法がよくわかりませんでした。
サンプルマクロ「アイソメ図を簡単に作成」拝見しました。
参考になると思うので、コードを追ってみたいと思います。
関係ないですが、
DefineSectionViewとDefineTPSSectionViewって何が違うのだろうか?
|
|
|
| トップに戻る |
|
 |
y4yama

登録日: 2005年1月 07日 記事: 557
|
日時: 2008.08.08 (金) 14:29 記事の件名: Re: 3Dからの図をマクロで実行したい |
|
|
| swear_iq_01 wrote: | 図面に一度正面図を投影して、オフセット切断などで切断図を作成すると思います。
これを正面図を投影せずに切断図を作成したいのです。 |
DefineStandAloneSection なら、正面図を参照せずに section view が作れそうですね・・・
簡単なモデルを使って、色々試してみてください
|
|
|
| トップに戻る |
|
 |
CATUe
登録日: 2008年8月 08日 記事: 1
|
日時: 2008.08.08 (金) 16:36 記事の件名: Re: 3Dからの図をマクロで実行したい |
|
|
| 参考になります・・・
|
|
|
| トップに戻る |
|
 |
swear_iq_01
登録日: 2007年4月 24日 記事: 6
|
日時: 2008.08.08 (金) 18:16 記事の件名: Re: 3Dからの図をマクロで実行したい |
|
|
| y4yama wrote: | DefineStandAloneSection なら、正面図を参照せずに section view が作れそうですね・・・
簡単なモデルを使って、色々試してみてください |
ありがとうございます。
試してみます。
|
|
|
| トップに戻る |
|
 |
swear_iq_01
登録日: 2007年4月 24日 記事: 6
|
日時: 2008.08.18 (月) 16:05 記事の件名: Re: 3Dからの図をマクロで実行したい |
|
|
| y4yama wrote: | DefineStandAloneSection なら、正面図を参照せずに section view が作れそうですね・・・
簡単なモデルを使って、色々試してみてください |
試してみました。
以下(適当に)抜粋。
| Code: | Set drawingView1 = drawingViews1.Add("AutomaticNaming")
Set drawingViewGenerativeLinks1 = drawingView1.GenerativeLinks
Set drawingViewGenerativeBehavior1 = drawingView1.GenerativeBehavior
drawingViewGenerativeBehavior1.Document = partDocument1.Product
Dim arrayOfVariantOfDouble1(3)
arrayOfVariantOfDouble1(0) = 0#
arrayOfVariantOfDouble1(1) = 100#
arrayOfVariantOfDouble1(2) = 0#
arrayOfVariantOfDouble1(3) = -100#
Dim arrayOfVariantOfDouble2(8)
arrayOfVariantOfDouble2(0) = 1#
arrayOfVariantOfDouble2(1) = 0#
arrayOfVariantOfDouble2(2) = 0#
arrayOfVariantOfDouble2(3) = 0#
arrayOfVariantOfDouble2(4) = 1#
arrayOfVariantOfDouble2(5) = 0#
arrayOfVariantOfDouble2(6) = 0#
arrayOfVariantOfDouble2(7) =0#
arrayOfVariantOfDouble2(8) = 1#
Set drawingViewGenerativeBehavior1Variant = drawingViewGenerativeBehavior1
drawingViewGenerativeBehavior1Variant.DefineStandAloneSection arrayOfVariantOfDouble1, "SectionCut", "Offset", arrayOfVariantOfDouble2, 0
Set drawingViewGenerativeBehavior1 = drawingView1.GenerativeBehavior
drawingViewGenerativeBehavior1.Update
|
正面図などを作成しないで断面図を作成することはできました。
しかし、3D注記も一緒に投影したかったので、
「3Dからの図」そのままを実装することはできませんでした。
「3Dからの図」を実行するメソッドはやはりないんでしょうか?
|
|
|
| トップに戻る |
|
 |
y4yama

登録日: 2005年1月 07日 記事: 557
|
|
| トップに戻る |
|
 |
y4yama

登録日: 2005年1月 07日 記事: 557
|
日時: 2008.08.19 (火) 12:59 記事の件名: Re: 3Dからの図をマクロで実行したい |
|
|
ちょっと進展があったのでメモ程度に参照ください
PartB2.CATPartを開いておいて、"正面ビュー.1" または断面ビュー.1 をSelectしておきます
そのまま.ActiveDocument はDrawingのほうにします。
Drawingには、事前に他のところからコピペした「3Dからの図」ViewをActiveView にしておきます
| Code: | Sub CATMain()
Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.Documents.Item("PartB2.CATPart")
Set aSel = partDocument1.Selection
Set tpsv1 = aSel.Item(1).Value '<--- "正面ビュー.1"
Dim actsheet As DrawingSheet
Set actsheet = CATIA.ActiveDocument.Sheets.ActiveSheet
Dim ViewToWorkIn As DrawingView
Set ViewToWorkIn = actsheet.Views.ActiveView
Dim MyViewGenLinks As DrawingViewGenerativeLinks
Set MyViewGenLinks = ViewToWorkIn.GenerativeLinks
MyViewGenLinks.RemoveAllLinks
MyViewGenLinks.AddLink (tpsv1)
'MyViewGenLinks.AddLink (partDocument1)
ViewToWorkIn.GenerativeBehavior.Document = partDocument1
End Sub |
これでUpDateしたら、3Dテキストはバッチリ置き換わります
ボディは、元と見る向きが同じでないと・・・このままでは一致しないです
やはり・・・詳しい有識者のかたのコメントを待ちますデス
|
|
|
| トップに戻る |
|
 |
|