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コードの末尾 ================================================================================================================================================================================================================================================================