Autodesk Community Tips- ADNオープン
Autodesk Community Tipsではちょっとしたコツ、やり方、ショートカット、アドバイスやヒントを共有しています。
ソート順:
Autodesk Knowledge Network には、過去、よくある質問を中心に、次のような内容を記載していました。   Revit API Tips: 未使用の項目を削除を実行する方法 Revit API Tips: 壁プロファイルの取得方法 Revit API Tips: 複数のファミリを組み合わせて(ネストして)新しいファミリを作成する方法 Revit API Tips: ソリッドやメッシュのジオメトリをプロジェクト上に作図する方法 Revit API Tips: アドインでバッチ処理を実装する方法 InventorのAPIで、IDWファイルをバージョンを指定してDXFに変換する方法 InventorのPack And Go を、VBAから実行する場合の参照設定 Inventor APIでPDF出力後にPDFを表示しないようにしたい Inventor APIでコンテンツセンターの言語設定を切り替える方法 Inventor APIで放射状マーキングメニューをカスタマイズする方法 Inventorの2D図面に配置したView内の各コンポーネントを、AutoCADのブロックにする方法 Inventor API でインスタンスプロパティを取得・設定する方法 Inventor APIでiLogicを実行する方法 Inventor APIでアセンブリ、パートファイルの単位数量と基準単位を出力したい InventorのAPIで図面のシートをコピーする方法 Visual Studioで「InventorViewCtrl.ocxの自己登録に失敗しました」エラーが発生して、Inventor ViewコントロールをWindowsフォームへ追加することが出来ない InventorのFileAccessEvents.OnFileResolutionイベントでFullFileNameに指定したファイルが読み込まれない Inventor ApprenticeServerComponent.Openメソッドを実行すると、「エラー -xxx-xxxxxxxx(80004005) Openメソッドは失敗しました」が発生する APIでパーツリストの一覧をエクセルに出力する方法 API を用いて派生元のモデルの面から、派生先のモデルでの面を特定する方法 APIで、シートメタルの展開図の折り曲げ位置のエッジ線から、山折り/谷折の情報を参照する方法 API で面を指定して移動、削除を行う方法 Vault APIを使用して作成したカスタムアプリケーションからVaultにログインをするとFailed to acquire a license.ダイアログが表示されログインができない 「Valuts」のAPIを利用して、「Vault」で管理されているInventorアセンブリファイルと子のファイルをローカルフォルダに取得してInventorで開く方法 「Valuts」のAPIを利用して、「Vault」で管理されているInventorアセンブリファイルの構成情報を取得する方法 Vaultクライアントで表示されているファイル名と、Vault APIのFileAssoc.ExpectedVaultPathで取得した値が異なっている場合がある Managed .Net API でレイアウト空間のビューポート表示範囲のオブジェクトを取得する方法 AutoCAD .net APIででデータリンク元ファイルの変更の有無を知る方法 AutoCAD .net APIで球の中心座標を取得する方法 AutoCAD .net APIでDBTextの幅を取得する方法 AutoCAD .net APIで図面をブロックとして挿入すると、属性の編集ができない AutoCAD ObjectARX .net APIで3D上の中心点、半径、開始点、終了点、法線を指定して円弧を作成する方法 AutoCAD Plant3D .net APIでスペックエディターのカタログデータ内部品種類総数を取得する方法 AutoCAD Plant3D .net APIで流向記号の向きと、流向記号に結びついている配管を取得する方法 AutoCAD Plant3D .net APIでアイソメメッセージの注記を取得する方法 AutoCAD Plant3D APIで3Dモデルの配管のライン番号タグの値を取得する方法 AutoCAD MechanicalのAPIでパーツリストの値を取得する方法 AutoCAD Mechanical APIでパーツ参照の値を取得する方法 AutoLispでマルチ引出線のスタイルを設定する方法 AutoCAD .NET API :トグルボタンの実現 AutoCAD .NET API :ドラッグシーケンス中の画面移動 AutoCAD .NET API :未参照の PDF アンダーレイ参照の削除 AutoCAD .NET API:パージ処理の実装 AutoCAD .NET API :AutoLISP 関数の定義 AutoCAD .NET API :キーボード ボタン押下の検出 AutoCAD .NET API :ObjectARX 関数の P/Invoke AutoCAD .NET API :マウス左ボタン クリックの検出 AutoCAD .NET API :クロスヘア カーソル位置座標の取得 AutoCAD .NET API :属性値を維持した分解 AutoCAD .NET API :分解せずに寸法文字の情報を取得するには? AutoCAD .NET API:リボンタブの表示制御 AutoCAD .NET API :ユーザ座標系(UCS)の変更 AutoCAD .NET API :3D ソリッド構成面のサーフェス抽出 AutoCAD .NET API:3D ソリッドのエッジへのフィレット AutoCAD .NET API:特定領域の画像出力 AutoCAD .NET API :点がサーフェス上に位置しているか? AutoCAD .NET API :トポロジー情報のアクセス AutoCAD .NET API :画像データの図面への格納 AutoCAD .NET API :選択セットのセッション間の維持 AutoCAD .NET API :拡張ディクショナリの付加・取得・削除 AutoCAD .NET API :拡張エンティティ データの付加・取得・削除 AutoCAD .NET API :属性付きブロック定義とブロック参照の挿入 AutoCAD .NET API :ブロック参照の属性値の変更 AutoCAD .NET API :寸法スタイルに従属せずに寸法矢印を変更するには? AutoCAD .NET API :IGES ファイル出力 AutoCAD .NET API:パレット ダイアログを作成する方法 AutoCAD .NET API :サーフェスと線分の交点を得るには? AutoCAD .NET API :ポリラインの円弧セグメントの指定方法 AutoCAD .NET API:IExtensionApplication.Terminate() が呼び出されない AutoCAD .NET API :外部図⾯ファイル内のブロック定義の情報を現在の図⾯にコピーしたい AutoCAD .NET API :同⼀図⾯データベース内でオブジェクトを複写するには? AutoCAD .NET API:ブロック参照の分解挿入 AutoCAD .NET API :スイープ ソリッドとスイープ サーフェスの作成 AutoCAD .NET API :表示スタイルの変更 AutoCAD .NET API:指定した領域を ZOOM するには? AutoCAD .NET API :プリセットビューの変更 AutoCAD .NET API:図⾯監査の⾃動化は可能か? AutoCAD .NET API:図⾯修復を実装するには? AutoCAD .NET API:図面ウィンドウのタイル表示化 AutoCAD .NET API:パスに沿って押し出すソリッドの作成 AutoCAD .NET API :ロフト ソリッドとロフト サーフェスの作成 AutoCAD .NET API:起動中の AutoCAD が AutoCAD 単体か AutoCAD ベースの業種別製品か区別する方法 AutoCAD .NET API :外部図⾯データベースにオブジェクトを書き出したい ObjectARX:パージ機能の実装 ObjectARX :コマンド プロンプト メッセージの同期表示は可能なのか? ObjectARX:ObjectARX 開発者用ガイド ObjectARX:ObjectARX Wizards が動作しない AutoCAD VBA:自動ローダーで .dvb ファイルがロード出来ない AutoLISP:オブジェクトへの TrueColor 色の設定 AutoCAD API:「コマンドは 4 レベルより深くネストできません。」エラーについて AutoCAD API:ブール演算が失敗する AutoCAD API:Visual Studio 2019 に .NET Wizards が認識されない AutoCAD API:GetCanonicalMediaNames メソッドによる用紙サイズ名の変更について Inventor Apprentice Sever APIリファレンスはどこに有りますか? Inventor API で 外部EXEからカスタムアドインのメソッドの実行処理 Inventorプロジェクト.ipjファイルを変更する方法 アセンブリファイル内のコンポーネントファイルの物理的なファイル名を変更する方法 Vault API 関連の SDK や APIリファレンスはどこから入手できますか? AutoCAD ObjectARX Wizard を使用したカスタムコマンドの作成方法 ObjectARX Wizard 2015で作成したプロジェクトが他の PC の開発環境で開けない ObjectARX Wizard 2015 で新規にプロジェクトを作成できない Windows8.1 の ObjectARX Wizard 2015 で新規にプロジェクトを作成できない 混在開発PC環境にObjectARX Wizard 2015をインストールした時の問題 AutoCAD 2015 の ObjectARX で acedCommand のマイグレーション情報 AutoCAD .Net Wizard を使用した カスタムコマンドの作成 AutoCAD2016の .Net カスタムコマンドで APIによる PLOTコマンドを模倣する方法Managed .Net API で UCS コマンドの W オプションを模倣する方法 VB.Net カスタムコマンド内で COM/ActiveX を使って PDFファイルの作成 AutoCAD の COM 利用でプロットの用紙サイズにセットする文字列 AutoCAD 2019 の Visual LISP エディタ (VLISP コマンド) で日本語表示&入力ができない AutoCAD の PDF 出力で [印刷可能領域] を変更するAPIはありますか? Mechanical製品で下位バージョンのMechanical DWG として保存する方法 Mechanical 2017 と 2018 の混在インストール PC 環境で 外部 EXE より Mechanical のタイプライブラリ を利用する問題 VB.NET外部EXEから純粋なAutoCAD製品とMechanical製品を起動する方法
記事全体を表示
Issue オブジェクト イベント ハンドラを使わずに、特定のオブジェクト タイプの編集を抑止することは出来ますか?   Solution 特定のオブジェクト タイプ(クラス)の編集を抑止する目的では、ObjectARX と .NET API で利用することが出来るオーバールール(Overrule)プロトコルを使用して、既定の振る舞いを変更することが可能です。   次の C# コードは、Open メソッドをオーバールール プロトコルでオーバライドし、書き込みモードのオブジェクト オープン時に例外を発生させることで、円弧(ARC)の編集を抑止する例となります。MyCommand コマンドの実行でオーバールールを有効化したり、無効化したりしています。  using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.GraphicsInterface; using Autodesk.AutoCAD.Geometry; using Autodesk.AutoCAD.Runtime; using System; using System.Windows.Controls; [assembly: CommandClass(typeof(AutoCAD_CSharp_plug_in1.MyCommands))] namespace AutoCAD_CSharp_plug_in1 { public class MyCommands { public class OpenOverrule : ObjectOverrule { public override void Open(DBObject dbObject, OpenMode mode) { if (mode == OpenMode.ForWrite) { Editor ed = Application.DocumentManager.MdiActiveDocument.Editor; ed.WriteMessage("\nModifying ARC is not allowed..."); base.Open(dbObject, mode); ed.Regen(); throw new Autodesk.AutoCAD.Runtime.Exception(ErrorStatus.NotApplicable); } } } static OpenOverrule _overrule = null; [CommandMethod("MyCommand")] static public void MyCommand() { Editor ed = Application.DocumentManager.MdiActiveDocument.Editor; if (_overrule == null) { _overrule = new OpenOverrule(); ObjectOverrule.AddOverrule(RXObject.GetClass(typeof(Arc)), _overrule, false); ObjectOverrule.Overruling = true; ed.WriteMessage("\nBegin modifying ARC overrule"); } else { ObjectOverrule.RemoveOverrule(RXObject.GetClass(typeof(Arc)), _overrule); _overrule.Dispose(); _overrule = null; ed.WriteMessage("\nEnd modifying ARC overrule"); } } } }  
記事全体を表示
質問 AutoCADの.net APIで雲マーク(REVCLOUD)を取得する方法はありますか。   回答 AutoCADの雲マーク(RevCloudコマンドで作成される図形)は、拡張データ領域にアプリケーション名”RevcloudProps”のデータを持つLWPolylineとなっております。   このため、net APIで図形を選択する際のフィルタ条件に、図形がLWPolylineでかつアプリケーション名が”RevcloudProps”の拡張データを持つ図形指定することで雲マーク図形を取得することが可能です。   Dim dc As Document = Application.DocumentManager.MdiActiveDocument Dim db As Database = dc.Database Dim ed As Editor = dc.Editor Dim tvs(1) As TypedValue tvs.SetValue(New TypedValue(DxfCode.Start, "LWPOLYLINE"), 0) tvs.SetValue(New TypedValue(DxfCode.ExtendedDataRegAppName, "RevcloudProps"), 1) Dim sf As SelectionFilter = New SelectionFilter(tvs) Dim psr As PromptSelectionResult psr = ed.SelectAll(sf) If psr.Status<> PromptStatus.OK Then Exit Sub End If Using tx As Transaction = db.TransactionManager.StartTransaction() Try For Each id As ObjectId In psr.Value.GetObjectIds() Dim lwp As Polyline = tx.GetObject(id, OpenMode.ForWrite) Next tx.Commit() Catch e As System.Exception tx.Abort() ed.WriteMessage(e.Message) End Try End Using    
記事全体を表示