ilogicの限界?

271 views
Skip to first unread message

お京コン

unread,
Mar 22, 2016, 9:18:18 PM3/22/16
to Autodesk Inventorユーザ会
みなさんに何度も助けて頂きながら毎日なんとか頑張っていますが
図面の領域に入ってくるとlogicのコード?も変わってしまう??という
落とし穴に落ちたようです(*_*)

手動で表示を変更できる事はlogicで組めないのでしょうか。
.iptを非表示にして3Dスケッチを表示したいのですが、
モデルの現状を取り込むところから躓いてしまってるみたいです。

どなたかアドバイス頂けないでしょうか。
よろしくお願いします。


図面内ilogic.pdf

やまら

unread,
Mar 22, 2016, 9:30:05 PM3/22/16
to Autodesk Inventorユーザ会
こんにちわ。

VBAでの話ですが・・・
idw環境とasm環境では、色々と違いがあります。
idwでは、sheet -> view -> componentと辿っていかないといけないかも。

どうしてもiLogicで済まなければ、前回のとき(パーツ配置でしたっけ?)と同じように、ThisDocumentから操作すればVBA相当のことができると思いますよ。
(コードアシストが無いから、VBAで組むよりしんどいけど)

ちょっと時間がないので、ご参考まで。

お京コン

unread,
Mar 23, 2016, 1:11:19 AM3/23/16
to Autodesk Inventorユーザ会
やまら 様

ありがとうございます。
やっぱり環境によりコードが違うんですね。
「表示」で思い当たるコード(Visible,IsActive,View,Show) を
試したのですがエラーメッセージが出ていました。
※公開メンバーでないとか、readonlyとか・・・↘

その後、ヒントを頂いていろいろ探していたら
「ThisDrawing.Document」というのも出てきたのですが
ThisDocument」とはどう違うのでしょうか。
どちらを使うかでコードも変わるんでしょうか。

ヘルプのどこかにilogicで使えるコード一覧とかあればなぁと思います。


Message has been deleted

伊東@Accuphase

unread,
Mar 24, 2016, 4:13:35 AM3/24/16
to Autodesk Inventorユーザ会
iLogicの限界というよりも、マクロでやるのもいろいろ大変そうですね。

図面の場合、線などの要素に簡単にアクセス出来ないので、
スケッチの寸法を変えるようにはいかないと思います。
例:モデルエッジの直線
Document→Sheet→DrawingView→DrawingCurve→DrawingCurveSegment
ここまで深くアクセスして初めてVisibleのプロパティが使えます。

面白そうだったので、VBAのコードを書いてみました。
うちの環境では非表示まではできましたよ。
何かの役には立つかも。。。

Sub compVis()
    
    Dim oViews As DrawingViews
    Dim oView As DrawingView
    Set oViews = ThisDocument.ActiveSheet.DrawingViews
    For Each oView In oViews
        If oView.Name = "ビュー1" Then
            Exit For
        End If
    Next
        
    Dim oBaseIam As AssemblyDocument
    Set oBaseIam = oView.ReferencedDocumentDescriptor.ReferencedDocument
    
    Dim oBaseIamCompOccs As ComponentOccurrences
    Set oBaseIamCompOccs = oBaseIam.ComponentDefinition.Occurrences
    Dim TargetCompOcc As ComponentOccurrence
    
    For Each TargetCompOcc In oBaseIamCompOccs
        If TargetCompOcc.Name = "「ブラウザ上のオカレンス名」" Then
            Exit For
        End If
    Next
    
    Call oView.SetDesignViewRepresentation("マスター", False)
    Call oView.SetVisibility(TargetCompOcc, False)
    
    ThisDocument.ActiveSheet.Update
    
    
End Sub

2016年3月23日水曜日 14時11分19秒 UTC+9 お京コン:

お京コン

unread,
Mar 28, 2016, 10:40:43 PM3/28/16
to Autodesk Inventorユーザ会
伊東 様

ありがとうございました。
こちらでも、反映されました(*^_^*)
後は、3Dスケッチの表示です・・・。
でも、スケッチは「表示設定」ではなく「含める」なんですね。
表現が違うってことは、命令コード?も違うんでしょうか。

もう少し、頑張ってみます! 
Book1.pdf
Reply all
Reply to author
Forward
0 new messages