Unofficial CATIA User Forum


3Dからの図をマクロで実行したい

 
新しいトピックを投稿   トピックに返信    Unofficial CATIA User Forum フォーラム一覧 -> ユーザーフォーラム
投稿者 メッセージ
swear_iq_01



登録日: 2007年4月 24日
記事: 6

記事日時: 2008.08.08 (金) 08:33    記事の件名: 3Dからの図をマクロで実行したい 引用付きで返信

こんにちわ。


3Dで作成した注釈ビュー(正面ビュー、切断ビューなど)を使って、
3Dからの図で図面に投影する処理をマクロ(VBA)で行う方法はありませんか?

注釈ビューがTPSViewなので、
DrawingViewのGenerativeBehaibiorのDefineTPSSectionViewで
できるのではと思ったのですが、
うまく実装できません。


よろしくお願いします。
トップに戻る
ユーザー情報を表示 プライベートメッセージを送信
y4yama



登録日: 2005年1月 07日
記事: 559

記事日時: 2008.08.08 (金) 12:09    記事の件名: Re: 3Dからの図をマクロで実行したい 引用付きで返信

swear_iq_01 wrote:
注釈ビューがTPSViewなので、
DrawingViewのGenerativeBehaibiorのDefineTPSSectionViewで
できるのではと思ったのですが、
うまく実装できません。

swear_iq_01さん、こんちは
どこまで出来ていて、何が「うまく」出来ないのかが、あなた以外には理解できないです・・・
マクロサンプルに、 「アイソメ図を簡単に作成。3D座標値を2DのU,Vに変換する」という
似たようなものがありますが、参考になるのではないでしょうか・・・ Razz
トップに戻る
ユーザー情報を表示 プライベートメッセージを送信
swear_iq_01



登録日: 2007年4月 24日
記事: 6

記事日時: 2008.08.08 (金) 13:18    記事の件名: Re: 3Dからの図をマクロで実行したい 引用付きで返信

y4yamaさんこんにちわ。

ご指摘の通り、何ができていてなにができないのかわかりませんね。

やりたいことは、
3Dで切断ビューを作成し、
図面で「3Dからの図」で切断ビューを一発で投影したい。

一般的には
図面に一度正面図を投影して、オフセット切断などで切断図を作成すると思います。
これを正面図を投影せずに切断図を作成したいのです。

切断したい位置に平面を作成して、切断ビューを作成するところまではできています。
DefineTPSSectionViewの入力の方法がよくわかりませんでした。

サンプルマクロ「アイソメ図を簡単に作成」拝見しました。
参考になると思うので、コードを追ってみたいと思います。


関係ないですが、
DefineSectionViewとDefineTPSSectionViewって何が違うのだろうか?
トップに戻る
ユーザー情報を表示 プライベートメッセージを送信
y4yama



登録日: 2005年1月 07日
記事: 559

記事日時: 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日
記事: 559

記事日時: 2008.08.19 (火) 11:46    記事の件名: Re: 3Dからの図をマクロで実行したい 引用付きで返信

むつかしいですね〜
手動で「3Dからの図」で作成したViewを調べたら添付のように普通の?ViewでParentはいないし・・・
Linkでどうにかと、正面図にTPSViewのLinkをAdd出来るかと見ていたら
Set annotationSets = part1.annotationSets
Dim ans1 As AnnotationSet
Set ans1 = annotationSets.Item(1)
Set tpsv1 = ans1.GetItem("正面ビュー.1") ----エラー---
TPSViewFactoryも <実行するにはFTAライセンスが必要です>
のためTPSViewをつかまえることが出来ないです

空想ですが、PartとDrawingで既に「3Dからの図」をLinkした雛形を用意しておいて
Partのボディを差し替えるとかでなら・・・ Sad

詳しい有識者のかたのコメントを待ちますデス



TPSview1.PNG
 説明:
 ファイルサイズ:  17.97 KB
 閲覧数:  690 回

TPSview1.PNG


トップに戻る
ユーザー情報を表示 プライベートメッセージを送信
y4yama



登録日: 2005年1月 07日
記事: 559

記事日時: 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テキストはバッチリ置き換わります
ボディは、元と見る向きが同じでないと・・・このままでは一致しないです

やはり・・・詳しい有識者のかたのコメントを待ちますデス
トップに戻る
ユーザー情報を表示 プライベートメッセージを送信
特定期間内の記事を表示:   
新しいトピックを投稿   トピックに返信    Unofficial CATIA User Forum フォーラム一覧 -> ユーザーフォーラム All times are GMT +9:00
Page 1 of 1

 
移動先:  
新規投稿: 不可
返信投稿: 不可
記事編集: 不可
記事削除: 不可
投票参加: 不可
このフォーラムで添付ファイルを投稿 できません
このフォーラムでファイルをダウンロード できます

© Tadas Talaikis, oashy, 2005
Powered by phpBB © 2001, 2005 phpBB Group
WP Theme by Sebastian Schmieg. phpBB Conversion by Branwen.net