コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
GizmoLab 関連
オンラインショップ
CAD&CGブログ
YouTube
GitHub
CAD 系
GizmoTools
AutoLISP
Visual LISP
BricsCADのLISP
GzLib
DCL
OpenDCL
DWG
DXF
CADのコマンド一覧
システム変数
図形の種類
Ver別サポートAPI
CAD用語集
メモ
newLISP
CommonLISP
Script-Fu
Inno setup
JavaScript
ANDROID
Windowsでのファイルハッシュ確認
Prolog
Python
Clojure
Electron
フォント
数学メモ
イメージサイズとメモリ量
blender
Processwire
Win10,11メモ
IIJmio
mediawiki資料
ヘルプ
検索
検索
表示
ログイン
個人用ツール
ログイン
Entmodのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Entmod
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
; 構文 : (entmod ''elist'') ; 機能 : オブジェクト(図形)の定義データを更新する。 : entmod 関数は、elist 引数のグループ 1 で指定された図形名のデータベース情報を更新する。LISP でデータベースを更新するときの基本的な手順は、entget 関数で図形を取得し、図形の定義リストを修正し、次に entmod 関数を使用してデータベース内の図形を更新するというもの。entmod 関数は、グラフィカル図形と非グラフィカル図形のどちらも更新できる。 ; 引数 :* elist : entget 関数が返すのと同じ形式の図形定義データリスト。 : 浮動小数点値の図形フィールド(厚さなど)に整数値を与えた場合、entmod 関数はその値を受け入れて浮動小数点値に変換する。同様に、整数の図形フィールド(色番号など)に浮動小数点値を与えた場合は、その値を受け入れ、小数部を切り捨てて整数に変換する。 ; 戻り値 : 成功した場合、与えられた elist を返す。図形が更新できなかった場合は、nil を返す。 ; サンプル : 次のコマンド シーケンスは、図形のプロパティを取得し、その図形を修正する。 <pre class="brush:autolisp;"> ; en1 変数に、図面内の最初の図形の名前を代入する。 (setq en1 (entnext)) > <Entity name: 2c90520> ; ed という名前の変数に、図形 en1 の図形データを代入する。 (setq ed (entget en1)) > ((-1 . <Entity name: 2c90520>) (0 . "CIRCLE") (5 . "4C") (100 . "AcDbEntity") (67 . 0) (8 . "0") (100 . "AcDbCircle") (10 3.45373 6.21635 0.0) (40 . 2.94827) (210 0.0 0.0 1.0)) ; ed 内の画層グループを、画層 0 から画層 1 に変更する。 (setq ed (subst (cons 8 "1") (assoc 8 ed) ed )) > ((-1 . <Entity name: 2c90520>) (0 . "CIRCLE") (5 . "4C") (100 . "AcDbEntity") (67 . 0) (8 . "1") (100 . "AcDbCircle") (10 3.45373 6.21635 0.0) (40 . 2.94827) (210 0.0 0.0 1.0)) ; 図面内の en1 図形の画層を変更する。 (entmod ed) > ((-1 . <Entity name: 2c90520>) (0 . "CIRCLE") (5 . "4C") (100 . "AcDbEntity") (67 . 0) (8 . "1") (100 . "AcDbCircle") (10 3.45373 6.21635 0.0) (40 . 2.94827) (210 0.0 0.0 1.0))''' </pre> ; entmod 関数使用の制限 : entmod 関数で行える変更の制限は、次のとおり。 :* 図形のタイプとハンドルを変更することはできない。どうしても変更したい場合は、entdel 関数を使用してその図形を削除し、次に、command 関数または entmake 関数を使用して新しい図形を作成する。 :* entmod 関数は、SEQEND(シーケンス終了)オブジェクトの -2 グループの図形名のような内部フィールドを変更することはできない。 変更しようとしても、無視される。 :* entmod 関数を使用して、ビューポート図形を変更することはできない。図形の空間表示フィールドを 0(ゼロ)または 1 に変更することは可能(ただし、ビューポート オブジェクトを除く)。ブロック定義内で entmod 関数を使用して図形を変更すると、その変更は図面内のそのブロックのすべてのインスタンスに影響する。 :* 頂点図形に対して entmod 関数を使用する場合は、あらかじめポリライン図形のヘッダの読み込みか書き出しを行わなければならない。 直前に処理されたポリライン図形と、頂点が属するポリライン図形とが異なっていると、幅情報(グループ 40 と 41)が失われる可能性がある。 :* '''警告:''' entmod 関数を使用してブロック定義内の図形を変更することは可能。 ただし、これを行うと自己参照ブロックが作成される可能性があり、そうなった場合には CAD が停止する。 :* '''注:''' AutoCAD 2004 以降のAutoCADでは、entmod 関数には、色操作に関する新しい機能がある。DXF グループ コード 62 は AutoCAD カラー インデックス(ACI)値を保持するが、グループ コード 420 は True Color 値を保持する。True Color 値と ACI 値が矛盾する場合、AutoCAD は 420 の値を使用する。そのため、コード 62 の値を使用する場合は、その前にコード 420 の値を削除する必要がある。詳細は、AutoCAD の完全インストールを実行し、¥Sample¥VisualLISP フォルダ内の color-util.lsp ファイルを参照。 ----- 関連事項 * [[entdel]] 関数 * [[entget]] 関数 * [[entmake]] 関数 * [[entnext]] 関数 * [[handent]] 関数 [[Category:AutoLISP]]
このページで参照読み込みされているページ:
テンプレート:AutoLISP
(
ソースを閲覧
)
Entmod
に戻る。
検索
検索
Entmodのソースを表示
話題を追加