パブリックサブ associacolore()
' アクティブな描画文書を取得します。
ドロードドキュメントをドロードドキュメントとして
drawdoc = thisapplication.activedocument の設定
' は描画ビューを選択します。
dim ドロービュー として ドロービュー
set ドロービュー = thisapplication.commandmanager.pick() _
kdrawingviewfilter, "図面ビューを選択します。"
dim docdesc ドキュメント記述子として
docdesc = drawview.referenceddocumentdescriptor を設定する
'選択した図面ビューがアセンブリであることを確認します。
docdesc.referenceddocumenttype <> kassemblydocumentobject の場合、
msgbox 「選択したビューはアセンブリでなければなりません」
出口のサブ
端 もし
'アセンブリのコンポーネント定義を取得します。
アセンブリcomponentdefinition として asmdef
asmdef = docdesc.referenceddocument.componentdefinition
' 発生を処理し、トランザクションでラップする
「プロセス全体が単一のundo操作で元に戻すことができます。
トランザクションとしてダイムトランス
set trans = thisapplication.transactionmanager.starttransaction(_) をセットします。
ドロードック「図画の色を変える」
'すべての作業を行う再帰関数を呼び出します。
コール プロセスアセンブリ色(drawview、asmdef.occurrences)
トランスエンド
エンドサブ
プライベートサブプロセスアセンブリーカラー(drawview as Drawingview, _
コンポーネントとして発生します。
' 発生の現在のコレクションを通して反復します。
occ を componentoccurrence として薄暗くして下さい
dim opartとしてpartdocument
発生中の各occに対して
occ.suppressed = false の場合
'この発生が部分かアセンブリであるかどうか確認して下さい。
occ.definitiondocumenttype = kpartdocumentobject の場合、
'** 色を処理する部分です。
' 出現のレンダリング様式を得て下さい。
レンダースタイルとしての薄暗い色
stylesourcetypeenum としてソースコード型
カラー = occ.getrenderstyle(sourcetype)
レンダースタイルとして薄暗い材料色
opart = occ.definition.document を設定する
dim omaterial として materialasset
omaterial = opart.activematerial を設定する
'set Materialcolor = omaterial.appearanceasset.name
debug.print opart.displayname
debug.print "colore attivo:", opart.activeappearance.name
debug.print "coloremateriale:", omaterial.appearanceasset.name
' opart.activeappearance.name <> omaterial.appearanceasset.name がなければ、
occ.appearance.name <> omaterial.appearanceasset.name なら、
' は、後ほど使用するために、transientsobjects オブジェクトを取得します。
transientobjects として dim のtransobjs
transobjs の設定 = thisapplication.transientobjects
「レイヤーがこの色に存在するかを確認します。
層を層として薄暗くして下さい
レイヤー = ドロービュー.parent.parent.stylesmanager.layers
ドロードドキュメントをドロードドキュメントとして
set ドローク = ドロービュー.parent.parent.parent
エラーで次の再開
層として薄暗いcolorlayer
colorlayer=layer.item(color.name)を設定
もし err.number <> 0 それから
エラーのgoto 0
' はレンダースタイルの拡散色を取得します。
バイトとして赤を薄暗くする
バイトとして緑色を薄暗くして下さい
バイトとして青を薄暗くして下さい
' 拡散色である色のオブジェクトを作成します。
コールcolor.getdiffusecolor(赤、緑、青)
色として新しい色を薄くして下さい
set newcolor = transobjs.createcolor(赤、緑、青)
' 任意のレイヤーをコピーして名前を付けます
' のレンダースタイル。
colorlayer=layer.item(1).copy(color.name)を設定
' レイヤーの属性を色を使うように設定します。
' は固体ライン タイプおよび特定の幅を持っています。
colorlayer.color = 新しい色
colorlayer.linetype = kcontinuouslinetype
colorlayer.lineweight = 0.02
端 もし
エラーのgoto 0
' この発生に関連する曲線のすべてを取得します。
エラーで次の再開
ドローカブをドローカブとして
ドローカーブ = ドロービュー.drawingcurves(occ)
err.number = 0 の場合
エラーのgoto 0
'空のコレクションを作成します。
dim objcoll として objectcollection
objcoll = transobjs.createobjectcollection() の設定
' コレクションに曲線セグメントを追加します。
dim はデッサンカーブとして引くこと
ドローカブの各ドローカブのために
ドローカベスメントとしてのディムセグメント
ドローカーブの各セグメント セグメント
ログイン セグメントを追加
次へ
次へ
' すべてのセグメントのレイヤーを変更します。
呼出しdrawview.parent.changelayer(objcoll、colorlayer)
端 もし
エラーのgoto 0
その他
'それはアセンブリなので、その内容を処理します。
occ.suboccurrences.count の場合 > 0 それから
コール プロセスアセンブリ色(drawview、occ.suboccurrences)
端 もし
端 もし
端 もし
端 もし
次へ
エンドサブ