• このフォーラムは、www.cad3d.it/forum1 - イタリアのデザインコミュニティの機械翻訳です。いくつかの用語は正しく翻訳されていません。

すべての目に見えないコンポーネントをilogicで排除

  • Thread starter Thread starter Alessandro91
  • Start date Start date

Alessandro91

Guest
おはようございます。

私は、セットとすべてのサブ軸に見えないすべてのコンポーネント(部品やアセンブリ)を排除する必要があります。

私はこの規則を見つけました:

ocomps= このdoc.document.componentdefinition.occurrences

ocomps の各 ocomp のために
ocomp ではない場合。 それから
ocomp.deleteさん
端 もし
次へ

それは機能しますが、メインの軸線に見えないファイルだけを排除します。, どのように私はまた、サブassiemiに存在するコンポーネントを削除するには?

お問い合わせ
 
私が知っているものから、補助金でそれらを/それらを入力/それらを開くために必要なサブassistancesで動作する。 私の気持ちは、今まで可能であれば、心配する低さの動作です。
 
古いルールを変更して、アクシームツリー全体を通過し、見えないものを削除する行を差し込みます。

しかし、そのようなルールは、他の場所で使用されているサブアキシムから物事を削除することにより、恐ろしい損傷を引き起こす可能性があることに注意。 など。 これらすべてが悪い場合の潮汐がありますが、それらを管理するためにあなた次第です。 私は私の手洗いをします。, 私は注文を行います, 子供たちは自宅でそれを試しません... お互いを理解しています。

私のテストは行ったが、私はあなたの評価を知りません。まず、些細なことについて話していない場合は、pack&goで重要なことを試してみてください。
undo の作業ですが、戻りたいところはわかりません。

Code:
パブリックサブメイン()
' アクティブなドキュメントへの参照を設定します。
「これは、アクティブな文書がアセンブリであると仮定します
dim odoc として inventor.assemblydocument
odoc = このアプリケーション.activedocument

'アセンブリコンポーネントの定義を取得します
dim ocompdef として inventor.componentdefinition
ocompdef = odoc.componentdefinition

dim smsg を文字列として
dim の ileafnodes 長く
dim は限りアセンブリ

'アセンブリ文書のためのコンポーネントの定義からすべての出現を得て下さい
dim ocompocc として componentoccurrence
ocompdef.occurrencesの各ocompoccのために
' 子が発生したかどうかをチェック (leaf ノード)
ocompocc.suboccurrences.count = 0 の場合
'debug.print ocompocc.name
'ileafnodes = ileafnodes + 1
その他
'debug.print ocompocc.name
'isubassemblies = アセンブリ + 1
'messagebox.show("subassy"とocompocc.name)
コール プロセスallsubocc(ocompocc), _
ログイン
ileafnodes、_
isubassemblies ' サブアセンブリ
端 もし
ocompocc.visible でなければ
ocompocc.deleteの
端 もし
次へ

'debug.print" リーフノードなし : " + cstr(ileafnode)
'debug.print" サブアセンブリなし: " + cstr(isubassemblies)
エンドサブ

' この機能はサブアセンブリを処理するために呼び出されます。 それは再帰的に呼び出されます
アセンブリツリー全体を通して反復する。
プライベートサブ processallsubocc(byval ocompocc を componentoccurrence として、_
byref smsg を文字列として, _
byref の ileafnode を長く、 _
byref isubassembliesを限り長くする)

dim osubcompocc として componentoccurrence
ocompocc.suboccurrencesの各osubcompoccのため

' 子が発生したかどうかをチェック (leaf ノード)
osubcompocc.suboccurrences.count = 0 の場合
'debug.print osubcompocc.name
'ileafnodes = ileafnodes + 1
その他
'smsg = smsg + osubcompocc.name + vbcr
'isubassemblies = アセンブリ + 1

コール プロセスallsubocc(osubcompocc) _
ログイン
ileafnodes、_
アセンブリ)
端 もし

osubcompocc.visible でないなら、
osubcompocc.deleteの
端 もし
次へ
エンドサブ
 
答えのためにこんにちはありがとう、

それは完全に感謝します!

「危険な」ルールであることを理解していますが、会社の大きな損傷でファイルを管理する方法については、古いプロジェクトに基づいて開始するすべての新しいプロジェクトの瞬間に、私たちは、すべてのファイルに名前を変更するメインの軸のプロジェクトファイルのコピーを作成します。

お問い合わせ
 

Forum statistics

Threads
46,674
Messages
380,976
Members
2
Latest member
loop80
このフォーラムは、www.cad3d.it/forum1 - イタリアのデザインコミュニティの機械翻訳です。いくつかの用語は正しく翻訳されていません。

Members online

No members online now.
Back
Top