[CATIA V5 掲示板にもどる]
CATIA V5 掲示板 返信フォーム

- 以下は、記事NO. 5219 に関する 返信フォーム です -

寸法のフレーム ホロ - 2009/01/08(Thu) 09:39 No.5219
あけましておめでとうございます。(というにはもう遅いかな

質問させてください。
Drawingの寸法について、画像のようにフレームをつけたときに寸法線と重なってしまうのですが、
重ならないようにフレームの高さを修正することは可能でしょうか?
今は寸法線からのオフセットで対応していますが、できれば同じオフセット距離で寸法を作成したいのです。

標準でフレームの設定をして鍵付きフレームを適用してもうまくいかず。
寸法からの間隔調整ができるかと探しても、それらしいパラメータが見つけられず。

編集方法をご存知の方がいらっしゃいましたらご教授ください。
お願いします。

Re: 寸法のフレーム XJ - 2009/01/22(Thu) 09:02 No.5268
遅レスなので解決済みだと思いますが
標準のスタイル/長さ・距離寸法/Default/値/垂直オフセット です。

Re: 寸法のフレーム ホロ - 2009/01/22(Thu) 10:56 No.5269
XJさん
返信ありがとうございます。

私の書き方がわかりにくくて申し訳ないのですが、垂直オフセットの距離を既存の設定のままで、フレームの高さ(寸法からの縦のオフセット距離)だけを修正したいのです。

いろいろこのあと調べてはいるのですが、どうも無理みたいですね。。。

Re: 寸法のフレーム XJ - 2009/01/22(Thu) 14:23 No.5270
あ、やはりそうですか。それなら確かにニーズはありますよね。
私の回りでも昔話が出ました。
当時はあまり調べもせず「無理」で片付けてしまいました(笑)

関連しそうな箇所を見てみましたがそれらしいパラメータは難しそうですね。
「フレーム作成時はオフセットしたい」なのでフレーム関係のパラメータに依存。
しかしフレームのパラメータには寸法線からの距離は無い。
これはテキストなどもフレームで囲めるからかな?

では作成時にと言う制約は置いておいて楽して変える。と考えて、
フレームを使用した寸法が検索などで拾えれば。。。無理。。。

なんとか探し出せれば一括でプロパティ変更できるのに。。。厳しいですかね〜。。。(><)

Re: 寸法のフレーム emily - 2009/01/28(Wed) 11:58 No.5280
> では作成時にと言う制約は置いておいて楽して変える。と考えて、
> フレームを使用した寸法が検索などで拾えれば。。。

ですが、マクロで結構いけます
次のサンプルは、フレームの付いてない寸法線を複数事前選択しておいて、マクロを実行して下さい。すると、長方形のフレームが各寸法値に付いて、選択されたままになります。
「フレームを使用した寸法が拾えた」ことになります
私は、その先に、どうやって「楽して変える」のか試したけど判らないので・・・教えて下さいませ(^_-)

Sub CATMain()
Dim InputDocType(0)
InputDocType(0) = "DrawingDimension" ' "AnyObject"

Set ActiveDoc = CATIA.ActiveDocument
Set ActDocSel = ActiveDoc.Selection
i = ActDocSel.Count
if i = 0 then exit sub

Result = ActDocSel.SelectElement2(InputDocType, "Select", True )
If Result = "Cancel" Then Exit sub
ii=1
Do while ii <= i
set obj = ActDocSel.Item(ii).value

msgbox "Object Name:" & obj.name
obj.ValueFrame = catFraRectangle

ii = ii+1
' exit sub
Loop
End Sub

Re: 寸法のフレーム XJ - 2009/02/10(Tue) 09:53 No.5312
emilyさん

すみません最近見ていなかったもので返信遅くなりました。
マクロありがとうございます。

このマクロは寸法を事前選択するのでしょうか?

要件が「フレーム寸法作成時にオフセットしたい」だったので
上記が満たせないため 「数あるフレーム寸法を簡単に選択できれば一括でプロパティ修正できる」かなと思っていました。

マクロでフレーム付き寸法だけ見つけることができれば、、
+寸法プロパティの値のオフセットも変更できれば、、

この2件が可能になれば標準設定が無くても容易に変更できるかな〜と思っていました。

でもマクロってすごいですね。マクロができる人羨ましいです(><

Re: 寸法のフレーム emily - 2009/02/12(Thu) 13:39 No.5321
こんちは〜
>このマクロは寸法を事前選択するのでしょうか?
そうです。「フレーム寸法作成時にオフセットしたい」だから、フレームのない寸法を事前選択したらどうかな・・という発想でした。(なら、どうせ手動でできるから無意味でしたネ、・・後で気付いたのですが)
マクロの、「寸法プロパティの値のオフセット」は見つからなかったので、
四角で適当に選んだ色々な要素から、「数あるフレーム寸法を一発で選択する」マクロにアレンジしてみました

Sub CATMain()
Dim InputDocType(0)
InputDocType(0) = "AnyObject" ' "DrawingDimension"

Set ActiveDoc = CATIA.ActiveDocument
Set ActDocSel = ActiveDoc.Selection
Result = ActDocSel.SelectElement2(InputDocType, "Select", True )
If Result = "Cancel" Then Exit sub
i = ActDocSel.Count
if i = 0 then exit sub

For ii = i To 1 Step -1
set obj = ActDocSel.Item(ii).value

msgbox "Object Name:" & obj.name & "Type:" & typename(obj)
If typename(obj) = "DrawingDimension" Then
If obj.ValueFrame = catFraRectangle then
Else
ActDocSel.Remove2(ii)
End If
Else
ActDocSel.Remove2(ii)
End If

Next
End Sub

注:msgbox が毎回でるので、初めは10要素くらいで確認すること

(プロパティで手動修正するのが、判ったので収穫でした

Re: 寸法のフレーム XJ - 2009/02/13(Fri) 10:00 No.5330
こんにちわ。

これ良いですね!
ホロさんの質問でしたが私が活用しちゃって良いですか?(^^;

解らないなりにマクロいじって全ての寸法を自動選択後に
このマクロを実行させてフレーム寸法を選択。

そしてプロパティで一括で修正すれば
特A0図面中にあるフレーム寸法の修正で考えると
大変な効果が期待できそうです。

Re: 寸法のフレーム XJ - 2009/02/13(Fri) 10:12 No.5331
マクロの記録から作ってみました。
これでフレーム寸法を作る時に毎回 値タブ開いてオフセットする手間が無くなり
図面作成後にまとめて一括修正できますね。

注意点としては値をオフセットするためのスペースを予めとっておく事でしょうか?
昔課題だったものがここにきて解決するとは。。。ありがとうございました。


Sub CATMain()

Dim InputDocType(0)
Dim drawingDocument1 As DrawingDocument
Dim selection1 As Selection

'ファイル内の全てのシートから寸法を選択する。
Set drawingDocument1 = CATIA.ActiveDocument
Set selection1 = drawingDocument1.Selection

selection1.Search "CATDrwSearch.DrwDimension,all"

'長方形フレームの寸法のみ選択する。
InputDocType(0) = "AnyObject" ' "DrawingDimension"

Set ActiveDoc = CATIA.ActiveDocument
Set ActDocSel = ActiveDoc.Selection
Result = ActDocSel.SelectElement2(InputDocType, "Select", True)
If Result = "Cancel" Then Exit Sub
i = ActDocSel.Count
If i = 0 Then Exit Sub

For ii = i To 1 Step -1
Set obj = ActDocSel.Item(ii).Value

If TypeName(obj) = "DrawingDimension" Then
If obj.ValueFrame = catFraRectangle Then
Else
ActDocSel.Remove2 (ii)
End If
Else
ActDocSel.Remove2 (ii)
End If

Next

End Sub

Re: 寸法のフレーム ホロ - 2009/02/16(Mon) 16:17 No.5334
ずいぶん返信が遅くなりました。
マクロで対応できるんですねぇ・・・私は勉強し始めたばかりだから熟読しないと!

で、本機能についてですが、機能改善出しちゃいました^^;
やっぱり作成時に寸法につくフレームが寸法線に重なるとかありえないじゃないですかー
しかも、寸法線からオフセットすれば避けられるでしょ・・・って、なんか「線が印刷されないなら書けばいいじゃないか」ってそんな話のようなw
というわけで、結果わかりましたら報告します〜


おなまえ
タイトル    
コメント ico ico ico ico ico ico ico ico ico ico ico ico ico ico ico
添付データ 添付可能ファイル GIF,JPEG,PNG,LHA,ZIP 最大データ 1000KB
データ 1
データ 2
暗証キー  記事メンテ時に使用(英数字で8文字以内)
投稿キー  (投稿時 投稿キー を入力してください)