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

交換プレート

  • Thread starter Thread starter windreef
  • Start date Start date

windreef

Guest
夕方,
私は、機械の現在からシートルールを生成し、また、ステンレス鋼で亜鉛メッキシートでも、膨大な量の部品に変更する必要があります。 私はアセンブリとパーツのコピーを作り、何百ものファイルを開くことを避け、手動でルールを変更することを避けるために、私は半自動方法、材料をすべての部品に交換する別のものから少し見つけたかった、あなたは1つから1つを選択する必要があります(材料が異なる場合)しかしリストから。
自分で説明できるかどうかわからない

お問い合わせ
こんにちは。
 
おそらく、それはすなわち、亜鉛メッキシートからアキシメの分解でステンレス鋼に材料を変更し、材料「汚れのないシート」を見つけるときに、それは、材料を「汚れないシート」を見つけるときに、亜鉛メッキシートルールをステンレス鋼のプレートルールに置き換えるというルールを取ることが可能である。

しかし、できるかどうかはわかりません。
 
確かにありませんが、添付したコードはあなたを助けることができると思います。
すべてのファイルはアセンブリでインサートされなければなりません。そこからilogicルールを操作しなければなりません
Code:
ilogicコードの開始 ================================================================================================================================================================================================================================================================
' このコード 2017 - ルーク・ダヴェンポート @ excitech

サブメイン

「開いた文書がアセンブリおよび出口の規則かどうかを点検して下さい
dim odoc として アセンブリドキュメント = 何も
お問い合わせ
odoc = このアプリケーション.activeeditdocument
キャッチ
messagebox.show("このルールはアセンブリファイルでのみ実行することができます - 終了ルール", "expitech ilogic")
フィードバック
エンドトライ

'defineアセンブリ
dim odef としてアセンブリcomponentdefinition = thisapplication.activeeditdocument.componentdefinition
dim ooccs は componentoccurrences = odef.occurrences として
dim oselecteddocs as objectcollection = thisapplication.transientobject.createobjectcollection
dim oselectedocc オブジェクトとして
タイトルを文字列 = "選択したコンポーネントのシートメタルルールを変更する"

'すべての利用可能なシートメタルスタイルを保持する配列リストを作成
dim シートスタイル新しい配列リストとして
osheetdoc を部分ドキュメント = 何も
dim osheetcompdef シートメタルコンポンデント定義 = 何も

お問い合わせ
真実
oselectedocc = thisapplication.commandmanager.pick(selectionfilterenum.kassemblyleafoccurrencefilter),
新規シートメタルルールを「&oselecteddocs」に適用する「コンポーネントの選択」。 count & "select" - 実行時にエスケープをヒット")

' 何も選択されていない場合は、
if isnothing(oselectedocc) その後
出口はします
その他
' 部分が選択されました - シートメタルの発生ですか?
お問い合わせ
osheetdoc = oselectedocc.definition.document
osheetcompdef = osheetdoc.componentdefinition

'まだここにいる場合は、選択した部分はシートメタル部分です
'選択した部分のすべての発生をオフにします
コール enablecomps(ooccs、osheetdoc、false)

' 選択した発生によって表されるドキュメントをコレクションに追加する
oselecteddocs.add(osheetdoc) は、

キャッチ
' 選択された部分は板金-ループではないです
msgboxresult = messagebox.show("シートメタルコンポーネントを選択してください!"、タイトル、
messageboxbuttons.okcancel, メッセージboxicon.information
ques = msgboxresult の場合。 キャンセル
' ユーザがキャンセルした
'選択したすべての発生をオンにする必要があります
各od は oselecteddocs の部分ドキュメントとして
'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、od、true)
次へ
出口のサブ
その他
'ループ
端 もし
エンドトライ
端 もし

終わり 間

oselecteddocs.count = 0 の場合
dim は msgboxresult = messagebox.show(" はコンポーネント、タイトル、
messageboxbuttons.okcancel, メッセージboxicon.information
ques = msgboxresult の場合。 キャンセル
出口のサブ
その他
'ループ
端 もし
その他
出口はします
端 もし
ループ

oselecteddocs.count = 0 の場合
' ユーザーが選択したコンポーネントなしでエスケープをヒット - 終了
出口のサブ
端 もし

エラーリストを新しいリスト(文字列) として表示

' 選択した最初の文書から板金ルールを取得する
osheetdoc = oselecteddocs.item(1)
osheetcompdef = osheetdoc.componentdefinition
お問い合わせ
' ドキュメントで利用可能なシートメタルスタイルを取得する
シートメタルスタイルとしてのディムostyle
osheetcompdef.sheetmetalstyle の各ostyle のため
' ライブラリに存在するスタイルを確認する - これは、選択したすべての板金文書に利用できることを意味します...
ostyle.stylelocation = stylelocationenum.kbothstylelocationの場合 orelse ostyle.stylelocation = stylelocationenum.klibrarystylelocation メソッド それから
' シートメタルスタイル名を配列リストに書き込む
シートスタイルsarray.add(ostyle.name)
端 もし
次へ
キャッチ
' 何もしない
エンドトライ

' エラーチェック - ライブラリのシートメタルルールはありません
シートstylesarray.count = 0 の場合
msgbox("シートメタルルールが見つかりませんでした) 再試行する前にライブラリを入力してください。
'選択したすべての発生をオンにする必要があります
各od は oselecteddocs の部分ドキュメントとして
'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、od、true)
次へ
出口のサブ
端 もし

' 配列をアルファベット順にソートする
シートスタイル配列.sort()

文字列 = "" としてシートル選択を薄暗くする
' シートメタルスタイルの名前のリストを含むパラメータの値を設定しようとする
お問い合わせ
multivalue.list("activerule") = シートスタイル配列
キャッチ
' パラメータは存在しません。
dim パラメータ = odef.parameters.userparameters.addbyvalue("activerule", シートスタイル配列(0), unittypeenum.ktextunits)
multivalue.list("activerule") = シートスタイル配列
エンドトライ

'ユーザーが適用したいシートメタルルールを選ぶように依頼してください('activerule'パラメータで値を使用)...
お問い合わせ
Sheetruleselection = inputlistbox("選択した部分のシートメタルルールを指定する", multivalue.list("activerule"), "none", title:=title, listname:="を選択してください")
シートル選択 = "" の場合、' もう一度尋ねます!
dim は msgboxresult = messagebox.show("選択肢を選択してください!"、タイトル、messboxbuttons.okcancel、messboxicon.information) としてquesをquesします
ques = msgboxresult の場合。 キャンセル
' ユーザがキャンセルした
「選択したすべての発生をオンにする必要があります
各od は oselecteddocs の部分ドキュメントとして
'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、od、true)
次へ
出口のサブ
その他
'ループ
端 もし
その他
出口はします
端 もし
ループ

このアプリケーション。userinterfacemanager.userinteractiondisabled = true
整数 = 0

' シートメタルルールを選択した部品に適用します
oselecteddocs の各 osheetdoc に対して
「アクティブシートメタルルールを変更」
お問い合わせ
osheetdoc.componentdefinition.sheetmetalstyles.item (sheetruleselection).activate
成功口座 += 1
キャッチ
エラーチェック
errorlist.add(osheetdoc.fullfilename)
エンドトライ

'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、osheetdoc、true)
次へ

このアプリケーション。userinterfacemanager.userinteractiondisabled = false

'inform エラーがある場合、部品が更新できないユーザー
errorlistnew を string = string.join(vblf, errorlist) として定義します。
string.isnullorempty(errorlistnew) でなければ、
messagebox.show(「エラーなしで次の板金部品を更新する失敗: "&vblf & vblf & errorlistnew & "」) & vblf & vblf & vblf & vblf&
「1」と「シートメタルルール」と「シートルセレクション&」は、これらの部分で利用可能です。
" と正しく綴られた!" & vblf & _
"2) シートメタルのルールは、エラーが発生しずに手動で適用することができることを確認してください。, 成功と "成功", messageboxbuttons.ok, messageboxicon.exclamation, messageboxdefaultbutton.button1)
その他
このアプリケーション。 statusbartext = oselecteddocs.count と " 文書 - 板金ルールが正常に変更されました..."
端 もし

odoc.update()
このアプリケーション.activeview.update()

エンドサブ

ログイン お問い合わせ <summary>''' このサブは、提供された部分の文書を参照し、それらが有効またはunenablesするすべての発生を見つけます
''' ' ' は 'enable' boolean
ログイン お問い合わせ </summary>サブ enablecomps(byref ooccs を componentoccurrences として、
byval osheetdocをpartdocumentとして、
バイバルはブールとして有効

dim ooccenum として componentoccurrencesenumerator = 何も

'enabled' というドキュメントを再度参照する
ooccenum = ooccs.allreferencedoccurrences(osheetdoc)
ooccenumで各ooccのために
' を有効にする
oocc.enabled = 有効
次へ

エンドサブ

ilogicコードの末尾 ================================================================================================================================================================================================================================================================
 
確かにありませんが、添付したコードはあなたを助けることができると思います。
すべてのファイルはアセンブリでインサートされなければなりません。そこからilogicルールを操作しなければなりません
Code:
ilogicコードの開始 ================================================================================================================================================================================================================================================================
' このコード 2017 - ルーク・ダヴェンポート @ excitech

サブメイン

「開いた文書がアセンブリおよび出口の規則かどうかを点検して下さい
dim odoc として アセンブリドキュメント = 何も
お問い合わせ
odoc = このアプリケーション.activeeditdocument
キャッチ
messagebox.show("このルールはアセンブリファイルでのみ実行することができます - 終了ルール", "expitech ilogic")
フィードバック
エンドトライ

'defineアセンブリ
dim odef としてアセンブリcomponentdefinition = thisapplication.activeeditdocument.componentdefinition
dim ooccs は componentoccurrences = odef.occurrences として
dim oselecteddocs as objectcollection = thisapplication.transientobject.createobjectcollection
dim oselectedocc オブジェクトとして
タイトルを文字列 = "選択したコンポーネントのシートメタルルールを変更する"

'すべての利用可能なシートメタルスタイルを保持する配列リストを作成
dim シートスタイル新しい配列リストとして
osheetdoc を部分ドキュメント = 何も
dim osheetcompdef シートメタルコンポンデント定義 = 何も

お問い合わせ
真実
oselectedocc = thisapplication.commandmanager.pick(selectionfilterenum.kassemblyleafoccurrencefilter),
新規シートメタルルールを「&oselecteddocs」に適用する「コンポーネントの選択」。 count & "select" - 実行時にエスケープをヒット")

' 何も選択されていない場合は、
if isnothing(oselectedocc) その後
出口はします
その他
' 部分が選択されました - シートメタルの発生ですか?
お問い合わせ
osheetdoc = oselectedocc.definition.document
osheetcompdef = osheetdoc.componentdefinition

'まだここにいる場合は、選択した部分はシートメタル部分です
'選択した部分のすべての発生をオフにします
コール enablecomps(ooccs、osheetdoc、false)

' 選択した発生によって表されるドキュメントをコレクションに追加する
oselecteddocs.add(osheetdoc) は、

キャッチ
' 選択された部分は板金-ループではないです
msgboxresult = messagebox.show("シートメタルコンポーネントを選択してください!"、タイトル、
messageboxbuttons.okcancel, メッセージboxicon.information
ques = msgboxresult の場合。 キャンセル
' ユーザがキャンセルした
'選択したすべての発生をオンにする必要があります
各od は oselecteddocs の部分ドキュメントとして
'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、od、true)
次へ
出口のサブ
その他
'ループ
端 もし
エンドトライ
端 もし

終わり 間

oselecteddocs.count = 0 の場合
dim は msgboxresult = messagebox.show(" はコンポーネント、タイトル、
messageboxbuttons.okcancel, メッセージboxicon.information
ques = msgboxresult の場合。 キャンセル
出口のサブ
その他
'ループ
端 もし
その他
出口はします
端 もし
ループ

oselecteddocs.count = 0 の場合
' ユーザーが選択したコンポーネントなしでエスケープをヒット - 終了
出口のサブ
端 もし

エラーリストを新しいリスト(文字列) として表示

' 選択した最初の文書から板金ルールを取得する
osheetdoc = oselecteddocs.item(1)
osheetcompdef = osheetdoc.componentdefinition
お問い合わせ
' ドキュメントで利用可能なシートメタルスタイルを取得する
シートメタルスタイルとしてのディムostyle
osheetcompdef.sheetmetalstyle の各ostyle のため
' ライブラリに存在するスタイルを確認する - これは、選択したすべての板金文書に利用できることを意味します...
ostyle.stylelocation = stylelocationenum.kbothstylelocationの場合 orelse ostyle.stylelocation = stylelocationenum.klibrarystylelocation メソッド それから
' シートメタルスタイル名を配列リストに書き込む
シートスタイルsarray.add(ostyle.name)
端 もし
次へ
キャッチ
' 何もしない
エンドトライ

' エラーチェック - ライブラリのシートメタルルールはありません
シートstylesarray.count = 0 の場合
msgbox("シートメタルルールが見つかりませんでした) 再試行する前にライブラリを入力してください。
'選択したすべての発生をオンにする必要があります
各od は oselecteddocs の部分ドキュメントとして
'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、od、true)
次へ
出口のサブ
端 もし

' 配列をアルファベット順にソートする
シートスタイル配列.sort()

文字列 = "" としてシートル選択を薄暗くする
' シートメタルスタイルの名前のリストを含むパラメータの値を設定しようとする
お問い合わせ
multivalue.list("activerule") = シートスタイル配列
キャッチ
' パラメータは存在しません。
dim パラメータ = odef.parameters.userparameters.addbyvalue("activerule", シートスタイル配列(0), unittypeenum.ktextunits)
multivalue.list("activerule") = シートスタイル配列
エンドトライ

'ユーザーが適用したいシートメタルルールを選ぶように依頼してください('activerule'パラメータで値を使用)...
お問い合わせ
Sheetruleselection = inputlistbox("選択した部分のシートメタルルールを指定する", multivalue.list("activerule"), "none", title:=title, listname:="を選択してください")
シートル選択 = "" の場合、' もう一度尋ねます!
dim は msgboxresult = messagebox.show("選択肢を選択してください!"、タイトル、messboxbuttons.okcancel、messboxicon.information) としてquesをquesします
ques = msgboxresult の場合。 キャンセル
' ユーザがキャンセルした
「選択したすべての発生をオンにする必要があります
各od は oselecteddocs の部分ドキュメントとして
'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、od、true)
次へ
出口のサブ
その他
'ループ
端 もし
その他
出口はします
端 もし
ループ

このアプリケーション。userinterfacemanager.userinteractiondisabled = true
整数 = 0

' シートメタルルールを選択した部品に適用します
oselecteddocs の各 osheetdoc に対して
「アクティブシートメタルルールを変更」
お問い合わせ
osheetdoc.componentdefinition.sheetmetalstyles.item (sheetruleselection).activate
成功口座 += 1
キャッチ
エラーチェック
errorlist.add(osheetdoc.fullfilename)
エンドトライ

'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、osheetdoc、true)
次へ

このアプリケーション。userinterfacemanager.userinteractiondisabled = false

'inform エラーがある場合、部品が更新できないユーザー
errorlistnew を string = string.join(vblf, errorlist) として定義します。
string.isnullorempty(errorlistnew) でなければ、
messagebox.show(「エラーなしで次の板金部品を更新する失敗: "&vblf & vblf & errorlistnew & "」) & vblf & vblf & vblf & vblf&
「1」と「シートメタルルール」と「シートルセレクション&」は、これらの部分で利用可能です。
" と正しく綴られた!" & vblf & _
"2) シートメタルのルールは、エラーが発生しずに手動で適用することができることを確認してください。, 成功と "成功", messageboxbuttons.ok, messageboxicon.exclamation, messageboxdefaultbutton.button1)
その他
このアプリケーション。 statusbartext = oselecteddocs.count と " 文書 - 板金ルールが正常に変更されました..."
端 もし

odoc.update()
このアプリケーション.activeview.update()

エンドサブ

ログイン お問い合わせ <summary>''' このサブは、提供された部分の文書を参照し、それらが有効またはunenablesするすべての発生を見つけます
''' ' ' は 'enable' boolean
ログイン お問い合わせ </summary>サブ enablecomps(byref ooccs を componentoccurrences として、
byval osheetdocをpartdocumentとして、
バイバルはブールとして有効

dim ooccenum として componentoccurrencesenumerator = 何も

'enabled' というドキュメントを再度参照する
ooccenum = ooccs.allreferencedoccurrences(osheetdoc)
ooccenumで各ooccのために
' を有効にする
oocc.enabled = 有効
次へ

エンドサブ

ilogicコードの末尾 ================================================================================================================================================================================================================================================================
ありがとうございました、彼らは私に別の議論でilogicルールを与え、それは私がそれを働かなければならない仕事のためのcmq、使用のいくつかのトリックと完全に動作します。
私はこれを試してみると、私は結果に満足しているかもしれません、それは他の人に役立つ

お問い合わせ
 
私は英語の発明家を持っています。
一緒に:
ilogic - ルール - ルールペーストを追加します。
 
ilogicコードの開始 ================================================================================================================================================================================================================================================================
' このコード 2017 - ルーク・ダヴェンポート @ excitech

サブメイン

「開いた文書がアセンブリおよび出口の規則かどうかを点検して下さい
dim odoc として アセンブリドキュメント = 何も
お問い合わせ
odoc = このアプリケーション.activeeditdocument
キャッチ
messagebox.show("このルールはアセンブリファイルでのみ実行することができます - 終了ルール", "expitech ilogic")
フィードバック
エンドトライ

'defineアセンブリ
dim odef としてアセンブリcomponentdefinition = thisapplication.activeeditdocument.componentdefinition
dim ooccs は componentoccurrences = odef.occurrences として
dim oselecteddocs as objectcollection = thisapplication.transientobject.createobjectcollection
dim oselectedocc オブジェクトとして
タイトルを文字列 = "選択したコンポーネントのシートメタルルールを変更する"

'すべての利用可能なシートメタルスタイルを保持する配列リストを作成
dim シートスタイル新しい配列リストとして
osheetdoc を部分ドキュメント = 何も
dim osheetcompdef シートメタルコンポンデント定義 = 何も

お問い合わせ
真実
oselectedocc = thisapplication.commandmanager.pick(selectionfilterenum.kassemblyleafoccurrencefilter),
新規シートメタルルールを「&oselecteddocs」に適用する「コンポーネントの選択」。 count & "select" - 実行時にエスケープをヒット")

' 何も選択されていない場合は、
if isnothing(oselectedocc) その後
出口はします
その他
' 部分が選択されました - シートメタルの発生ですか?
お問い合わせ
osheetdoc = oselectedocc.definition.document
osheetcompdef = osheetdoc.componentdefinition

'まだここにいる場合は、選択した部分はシートメタル部分です
'選択した部分のすべての発生をオフにします
コール enablecomps(ooccs、osheetdoc、false)

' 選択した発生によって表されるドキュメントをコレクションに追加する
oselecteddocs.add(osheetdoc) は、

キャッチ
' 選択された部分は板金-ループではないです
msgboxresult = messagebox.show("シートメタルコンポーネントを選択してください!"、タイトル、
messageboxbuttons.okcancel, メッセージboxicon.information
ques = msgboxresult の場合。 キャンセル
' ユーザがキャンセルした
'選択したすべての発生をオンにする必要があります
各od は oselecteddocs の部分ドキュメントとして
'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、od、true)
次へ
出口のサブ
その他
'ループ
端 もし
エンドトライ
端 もし

終わり 間

oselecteddocs.count = 0 の場合
dim は msgboxresult = messagebox.show(" はコンポーネント、タイトル、
messageboxbuttons.okcancel, メッセージboxicon.information
ques = msgboxresult の場合。 キャンセル
出口のサブ
その他
'ループ
端 もし
その他
出口はします
端 もし
ループ

oselecteddocs.count = 0 の場合
' ユーザーが選択したコンポーネントなしでエスケープをヒット - 終了
出口のサブ
端 もし

エラーリストを新しいリスト(文字列) として表示

' 選択した最初の文書から板金ルールを取得する
osheetdoc = oselecteddocs.item(1)
osheetcompdef = osheetdoc.componentdefinition
お問い合わせ
' ドキュメントで利用可能なシートメタルスタイルを取得する
シートメタルスタイルとしてのディムostyle
osheetcompdef.sheetmetalstyle の各ostyle のため
' ライブラリに存在するスタイルを確認する - これは、選択したすべての板金文書に利用できることを意味します...
ostyle.stylelocation = stylelocationenum.kbothstylelocationの場合 orelse ostyle.stylelocation = stylelocationenum.klibrarystylelocation メソッド それから
' シートメタルスタイル名を配列リストに書き込む
シートスタイルsarray.add(ostyle.name)
端 もし
次へ
キャッチ
' 何もしない
エンドトライ

' エラーチェック - ライブラリのシートメタルルールはありません
シートstylesarray.count = 0 の場合
msgbox("シートメタルルールが見つかりませんでした) 再試行する前にライブラリを入力してください。
'選択したすべての発生をオンにする必要があります
各od は oselecteddocs の部分ドキュメントとして
'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、od、true)
次へ
出口のサブ
端 もし

' 配列をアルファベット順にソートする
シートスタイル配列.sort()

文字列 = "" としてシートル選択を薄暗くする
' シートメタルスタイルの名前のリストを含むパラメータの値を設定しようとする
お問い合わせ
multivalue.list("activerule") = シートスタイル配列
キャッチ
' パラメータは存在しません。
dim パラメータ = odef.parameters.userparameters.addbyvalue("activerule", シートスタイル配列(0), unittypeenum.ktextunits)
multivalue.list("activerule") = シートスタイル配列
エンドトライ

'ユーザーが適用したいシートメタルルールを選ぶように依頼してください('activerule'パラメータで値を使用)...
お問い合わせ
Sheetruleselection = inputlistbox("選択した部分のシートメタルルールを指定する", multivalue.list("activerule"), "none", title:=title, listname:="を選択してください")
シートル選択 = "" の場合、' もう一度尋ねます!
dim は msgboxresult = messagebox.show("選択肢を選択してください!"、タイトル、messboxbuttons.okcancel、messboxicon.information) としてquesをquesします
ques = msgboxresult の場合。 キャンセル
' ユーザがキャンセルした
「選択したすべての発生をオンにする必要があります
各od は oselecteddocs の部分ドキュメントとして
'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、od、true)
次へ
出口のサブ
その他
'ループ
端 もし
その他
出口はします
端 もし
ループ

このアプリケーション。userinterfacemanager.userinteractiondisabled = true
整数 = 0

' シートメタルルールを選択した部品に適用します
oselecteddocs の各 osheetdoc に対して
「アクティブシートメタルルールを変更」
お問い合わせ
osheetdoc.componentdefinition.sheetmetalstyles.item (sheetruleselection).activate
成功口座 += 1
キャッチ
エラーチェック
errorlist.add(osheetdoc.fullfilename)
エンドトライ

'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、osheetdoc、true)
次へ

このアプリケーション。userinterfacemanager.userinteractiondisabled = false

'inform エラーがある場合、部品が更新できないユーザー
errorlistnew を string = string.join(vblf, errorlist) として定義します。
string.isnullorempty(errorlistnew) でなければ、
messagebox.show(「エラーなしで次の板金部品を更新する失敗: "&vblf & vblf & errorlistnew & "」) & vblf & vblf & vblf & vblf&
「1」と「シートメタルルール」と「シートルセレクション&」は、これらの部分で利用可能です。
" と正しく綴られた!" & vblf & _
"2) シートメタルのルールは、エラーが発生しずに手動で適用することができることを確認してください。, 成功と "成功", messageboxbuttons.ok, messageboxicon.exclamation, messageboxdefaultbutton.button1)
その他
このアプリケーション。 statusbartext = oselecteddocs.count と " 文書 - 板金ルールが正常に変更されました..."
端 もし

odoc.update()
このアプリケーション.activeview.update()

エンドサブ

ログイン お問い合わせ <summary>''' このサブは、提供された部分の文書を参照し、それらが有効またはunenablesするすべての発生を見つけます
''' ' ' は 'enable' boolean
ログイン お問い合わせ </summary>サブ enablecomps(byref ooccs を componentoccurrences として、
byval osheetdocをpartdocumentとして、
バイバルはブールとして有効

dim ooccenum として componentoccurrencesenumerator = 何も

'enabled' というドキュメントを再度参照する
ooccenum = ooccs.allreferencedoccurrences(osheetdoc)
ooccenumで各ooccのために
' を有効にする
oocc.enabled = 有効
次へ

エンドサブ

ilogicコードの末尾 ================================================================================================================================================================================================================================================================
 
私は英語の発明家を持っています。
一緒に:
ilogic - ルール - ルールペーストを追加します。
私は悪いことに説明しません, あなたが行なったように箱にテキストを投稿するためにフォーラムであなたがここに行う方法? 今、私はそれを自由にインサートしてきましたが、通常、フォーラムでは望ましくないです、そして、あなたは私が考える悪化を理解する
 
Code:
ilogicコードの開始 ================================================================================================================================================================================================================================================================
' このコード 2017 - ルーク・ダヴェンポート @ excitech

サブメイン

「開いた文書がアセンブリおよび出口の規則かどうかを点検して下さい
dim odoc として アセンブリドキュメント = 何も
お問い合わせ
odoc = このアプリケーション.activeeditdocument
キャッチ
messagebox.show("このルールはアセンブリファイルでのみ実行することができます - 終了ルール", "expitech ilogic")
フィードバック
エンドトライ

'defineアセンブリ
dim odef としてアセンブリcomponentdefinition = thisapplication.activeeditdocument.componentdefinition
dim ooccs は componentoccurrences = odef.occurrences として
dim oselecteddocs as objectcollection = thisapplication.transientobject.createobjectcollection
dim oselectedocc オブジェクトとして
タイトルを文字列 = "選択したコンポーネントのシートメタルルールを変更する"

'すべての利用可能なシートメタルスタイルを保持する配列リストを作成
dim シートスタイル新しい配列リストとして
osheetdoc を部分ドキュメント = 何も
dim osheetcompdef シートメタルコンポンデント定義 = 何も

お問い合わせ
真実
oselectedocc = thisapplication.commandmanager.pick(selectionfilterenum.kassemblyleafoccurrencefilter),
新規シートメタルルールを「&oselecteddocs」に適用する「コンポーネントの選択」。 count & "select" - 実行時にエスケープをヒット")

' 何も選択されていない場合は、
if isnothing(oselectedocc) その後
出口はします
その他
' 部分が選択されました - シートメタルの発生ですか?
お問い合わせ
osheetdoc = oselectedocc.definition.document
osheetcompdef = osheetdoc.componentdefinition

'まだここにいる場合は、選択した部分はシートメタル部分です
'選択した部分のすべての発生をオフにします
コール enablecomps(ooccs、osheetdoc、false)

' 選択した発生によって表されるドキュメントをコレクションに追加する
oselecteddocs.add(osheetdoc) は、

キャッチ
' 選択された部分は板金-ループではないです
msgboxresult = messagebox.show("シートメタルコンポーネントを選択してください!"、タイトル、
messageboxbuttons.okcancel, メッセージboxicon.information
ques = msgboxresult の場合。 キャンセル
' ユーザがキャンセルした
'選択したすべての発生をオンにする必要があります
各od は oselecteddocs の部分ドキュメントとして
'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、od、true)
次へ
出口のサブ
その他
'ループ
端 もし
エンドトライ
端 もし

終わり 間

oselecteddocs.count = 0 の場合
dim は msgboxresult = messagebox.show(" はコンポーネント、タイトル、
messageboxbuttons.okcancel, メッセージboxicon.information
ques = msgboxresult の場合。 キャンセル
出口のサブ
その他
'ループ
端 もし
その他
出口はします
端 もし
ループ

oselecteddocs.count = 0 の場合
' ユーザーが選択したコンポーネントなしでエスケープをヒット - 終了
出口のサブ
端 もし

エラーリストを新しいリスト(文字列) として表示

' 選択した最初の文書から板金ルールを取得する
osheetdoc = oselecteddocs.item(1)
osheetcompdef = osheetdoc.componentdefinition
お問い合わせ
' ドキュメントで利用可能なシートメタルスタイルを取得する
シートメタルスタイルとしてのディムostyle
osheetcompdef.sheetmetalstyle の各ostyle のため
' ライブラリに存在するスタイルを確認する - これは、選択したすべての板金文書に利用できることを意味します...
ostyle.stylelocation = stylelocationenum.kbothstylelocationの場合 orelse ostyle.stylelocation = stylelocationenum.klibrarystylelocation メソッド それから
' シートメタルスタイル名を配列リストに書き込む
シートスタイルsarray.add(ostyle.name)
端 もし
次へ
キャッチ
' 何もしない
エンドトライ

' エラーチェック - ライブラリのシートメタルルールはありません
シートstylesarray.count = 0 の場合
msgbox("シートメタルルールが見つかりませんでした) 再試行する前にライブラリを入力してください。
'選択したすべての発生をオンにする必要があります
各od は oselecteddocs の部分ドキュメントとして
'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、od、true)
次へ
出口のサブ
端 もし

' 配列をアルファベット順にソートする
シートスタイル配列.sort()

文字列 = "" としてシートル選択を薄暗くする
' シートメタルスタイルの名前のリストを含むパラメータの値を設定しようとする
お問い合わせ
multivalue.list("activerule") = シートスタイル配列
キャッチ
' パラメータは存在しません。
dim パラメータ = odef.parameters.userparameters.addbyvalue("activerule", シートスタイル配列(0), unittypeenum.ktextunits)
multivalue.list("activerule") = シートスタイル配列
エンドトライ

'ユーザーが適用したいシートメタルルールを選ぶように依頼してください('activerule'パラメータで値を使用)...
お問い合わせ
Sheetruleselection = inputlistbox("選択した部分のシートメタルルールを指定する", multivalue.list("activerule"), "none", title:=title, listname:="を選択してください")
シートル選択 = "" の場合、' もう一度尋ねます!
dim は msgboxresult = messagebox.show("選択肢を選択してください!"、タイトル、messboxbuttons.okcancel、messboxicon.information) としてquesをquesします
ques = msgboxresult の場合。 キャンセル
' ユーザがキャンセルした
「選択したすべての発生をオンにする必要があります
各od は oselecteddocs の部分ドキュメントとして
'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、od、true)
次へ
出口のサブ
その他
'ループ
端 もし
その他
出口はします
端 もし
ループ

このアプリケーション。userinterfacemanager.userinteractiondisabled = true
整数 = 0

' シートメタルルールを選択した部品に適用します
oselecteddocs の各 osheetdoc に対して
「アクティブシートメタルルールを変更」
お問い合わせ
osheetdoc.componentdefinition.sheetmetalstyles.item (sheetruleselection).activate
成功口座 += 1
キャッチ
エラーチェック
errorlist.add(osheetdoc.fullfilename)
エンドトライ

'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、osheetdoc、true)
次へ

このアプリケーション。userinterfacemanager.userinteractiondisabled = false

'inform エラーがある場合、部品が更新できないユーザー
errorlistnew を string = string.join(vblf, errorlist) として定義します。
string.isnullorempty(errorlistnew) でなければ、
messagebox.show(「エラーなしで次の板金部品を更新する失敗: "&vblf & vblf & errorlistnew & "」) & vblf & vblf & vblf & vblf&
「1」と「シートメタルルール」と「シートルセレクション&」は、これらの部分で利用可能です。
" と正しく綴られた!" & vblf & _
"2) シートメタルのルールは、エラーが発生しずに手動で適用することができることを確認してください。, 成功と "成功", messageboxbuttons.ok, messageboxicon.exclamation, messageboxdefaultbutton.button1)
その他
このアプリケーション。 statusbartext = oselecteddocs.count と " 文書 - 板金ルールが正常に変更されました..."
端 もし

odoc.update()
このアプリケーション.activeview.update()

エンドサブ

ログイン お問い合わせ <summary>''' このサブは、提供された部分の文書を参照し、それらが有効またはunenablesするすべての発生を見つけます
''' ' ' は 'enable' boolean
ログイン お問い合わせ </summary>サブ enablecomps(byref ooccs を componentoccurrences として、
byval osheetdocをpartdocumentとして、
バイバルはブールとして有効

dim ooccenum として componentoccurrencesenumerator = 何も

'enabled' というドキュメントを再度参照する
ooccenum = ooccs.allreferencedoccurrences(osheetdoc)
ooccenumで各ooccのために
' を有効にする
oocc.enabled = 有効
次へ

エンドサブ

ilogicコードの末尾 ================================================================================================================================================================================================================================================================
ilogic ルールは、シートメタルのルールをセットに置換します。

大きいアセンブリのために、選択はグラフィック エリアか木によってなされなければならないし、大きいアセンブリのために編集されるべきファイルが多数(私の場合の)であるが、ある特定の部分を印刷し、編集されるべき部品を強調することによってプロセスとして非常に速いであるので変更する部分のリストを準備するために必要です。
 
確かにありませんが、添付したコードはあなたを助けることができると思います。
すべてのファイルはアセンブリでインサートされなければなりません。そこからilogicルールを操作しなければなりません
Code:
ilogicコードの開始 ================================================================================================================================================================================================================================================================
' このコード 2017 - ルーク・ダヴェンポート @ excitech

サブメイン

「開いた文書がアセンブリおよび出口の規則かどうかを点検して下さい
dim odoc として アセンブリドキュメント = 何も
お問い合わせ
odoc = このアプリケーション.activeeditdocument
キャッチ
messagebox.show("このルールはアセンブリファイルでのみ実行することができます - 終了ルール", "expitech ilogic")
フィードバック
エンドトライ

'defineアセンブリ
dim odef としてアセンブリcomponentdefinition = thisapplication.activeeditdocument.componentdefinition
dim ooccs は componentoccurrences = odef.occurrences として
dim oselecteddocs as objectcollection = thisapplication.transientobject.createobjectcollection
dim oselectedocc オブジェクトとして
タイトルを文字列 = "選択したコンポーネントのシートメタルルールを変更する"

'すべての利用可能なシートメタルスタイルを保持する配列リストを作成
dim シートスタイル新しい配列リストとして
osheetdoc を部分ドキュメント = 何も
dim osheetcompdef シートメタルコンポンデント定義 = 何も

お問い合わせ
真実
oselectedocc = thisapplication.commandmanager.pick(selectionfilterenum.kassemblyleafoccurrencefilter),
新規シートメタルルールを「&oselecteddocs」に適用する「コンポーネントの選択」。 count & "select" - 実行時にエスケープをヒット")

' 何も選択されていない場合は、
if isnothing(oselectedocc) その後
出口はします
その他
' 部分が選択されました - シートメタルの発生ですか?
お問い合わせ
osheetdoc = oselectedocc.definition.document
osheetcompdef = osheetdoc.componentdefinition

'まだここにいる場合は、選択した部分はシートメタル部分です
'選択した部分のすべての発生をオフにします
コール enablecomps(ooccs、osheetdoc、false)

' 選択した発生によって表されるドキュメントをコレクションに追加する
oselecteddocs.add(osheetdoc) は、

キャッチ
' 選択された部分は板金-ループではないです
msgboxresult = messagebox.show("シートメタルコンポーネントを選択してください!"、タイトル、
messageboxbuttons.okcancel, メッセージboxicon.information
ques = msgboxresult の場合。 キャンセル
' ユーザがキャンセルした
'選択したすべての発生をオンにする必要があります
各od は oselecteddocs の部分ドキュメントとして
'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、od、true)
次へ
出口のサブ
その他
'ループ
端 もし
エンドトライ
端 もし

終わり 間

oselecteddocs.count = 0 の場合
dim は msgboxresult = messagebox.show(" はコンポーネント、タイトル、
messageboxbuttons.okcancel, メッセージboxicon.information
ques = msgboxresult の場合。 キャンセル
出口のサブ
その他
'ループ
端 もし
その他
出口はします
端 もし
ループ

oselecteddocs.count = 0 の場合
' ユーザーが選択したコンポーネントなしでエスケープをヒット - 終了
出口のサブ
端 もし

エラーリストを新しいリスト(文字列) として表示

' 選択した最初の文書から板金ルールを取得する
osheetdoc = oselecteddocs.item(1)
osheetcompdef = osheetdoc.componentdefinition
お問い合わせ
' ドキュメントで利用可能なシートメタルスタイルを取得する
シートメタルスタイルとしてのディムostyle
osheetcompdef.sheetmetalstyle の各ostyle のため
' ライブラリに存在するスタイルを確認する - これは、選択したすべての板金文書に利用できることを意味します...
ostyle.stylelocation = stylelocationenum.kbothstylelocationの場合 orelse ostyle.stylelocation = stylelocationenum.klibrarystylelocation メソッド それから
' シートメタルスタイル名を配列リストに書き込む
シートスタイルsarray.add(ostyle.name)
端 もし
次へ
キャッチ
' 何もしない
エンドトライ

' エラーチェック - ライブラリのシートメタルルールはありません
シートstylesarray.count = 0 の場合
msgbox("シートメタルルールが見つかりませんでした) 再試行する前にライブラリを入力してください。
'選択したすべての発生をオンにする必要があります
各od は oselecteddocs の部分ドキュメントとして
'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、od、true)
次へ
出口のサブ
端 もし

' 配列をアルファベット順にソートする
シートスタイル配列.sort()

文字列 = "" としてシートル選択を薄暗くする
' シートメタルスタイルの名前のリストを含むパラメータの値を設定しようとする
お問い合わせ
multivalue.list("activerule") = シートスタイル配列
キャッチ
' パラメータは存在しません。
dim パラメータ = odef.parameters.userparameters.addbyvalue("activerule", シートスタイル配列(0), unittypeenum.ktextunits)
multivalue.list("activerule") = シートスタイル配列
エンドトライ

'ユーザーが適用したいシートメタルルールを選ぶように依頼してください('activerule'パラメータで値を使用)...
お問い合わせ
Sheetruleselection = inputlistbox("選択した部分のシートメタルルールを指定する", multivalue.list("activerule"), "none", title:=title, listname:="を選択してください")
シートル選択 = "" の場合、' もう一度尋ねます!
dim は msgboxresult = messagebox.show("選択肢を選択してください!"、タイトル、messboxbuttons.okcancel、messboxicon.information) としてquesをquesします
ques = msgboxresult の場合。 キャンセル
' ユーザがキャンセルした
「選択したすべての発生をオンにする必要があります
各od は oselecteddocs の部分ドキュメントとして
'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、od、true)
次へ
出口のサブ
その他
'ループ
端 もし
その他
出口はします
端 もし
ループ

このアプリケーション。userinterfacemanager.userinteractiondisabled = true
整数 = 0

' シートメタルルールを選択した部品に適用します
oselecteddocs の各 osheetdoc に対して
「アクティブシートメタルルールを変更」
お問い合わせ
osheetdoc.componentdefinition.sheetmetalstyles.item (sheetruleselection).activate
成功口座 += 1
キャッチ
エラーチェック
errorlist.add(osheetdoc.fullfilename)
エンドトライ

'選択した部分のすべての発生をオンにします
コール enablecomps(ooccs、osheetdoc、true)
次へ

このアプリケーション。userinterfacemanager.userinteractiondisabled = false

'inform エラーがある場合、部品が更新できないユーザー
errorlistnew を string = string.join(vblf, errorlist) として定義します。
string.isnullorempty(errorlistnew) でなければ、
messagebox.show(「エラーなしで次の板金部品を更新する失敗: "&vblf & vblf & errorlistnew & "」) & vblf & vblf & vblf & vblf&
「1」と「シートメタルルール」と「シートルセレクション&」は、これらの部分で利用可能です。
" と正しく綴られた!" & vblf & _
"2) シートメタルのルールは、エラーが発生しずに手動で適用することができることを確認してください。, 成功と "成功", messageboxbuttons.ok, messageboxicon.exclamation, messageboxdefaultbutton.button1)
その他
このアプリケーション。 statusbartext = oselecteddocs.count と " 文書 - 板金ルールが正常に変更されました..."
端 もし

odoc.update()
このアプリケーション.activeview.update()

エンドサブ

ログイン お問い合わせ <summary>''' このサブは、提供された部分の文書を参照し、それらが有効またはunenablesするすべての発生を見つけます
''' ' ' は 'enable' boolean
ログイン お問い合わせ </summary>サブ enablecomps(byref ooccs を componentoccurrences として、
byval osheetdocをpartdocumentとして、
バイバルはブールとして有効

dim ooccenum として componentoccurrencesenumerator = 何も

'enabled' というドキュメントを再度参照する
ooccenum = ooccs.allreferencedoccurrences(osheetdoc)
ooccenumで各ooccのために
' を有効にする
oocc.enabled = 有効
次へ

エンドサブ

ilogicコードの末尾 ================================================================================================================================================================================================================================================================
自分に投稿したのは同じです。 お問い合わせ
 

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