ホームページ コンピューターのチュートリアル コンピュータ知識 CAD Autolisp の二次開発はどのように行うのですか?

CAD Autolisp の二次開発はどのように行うのですか?

Jan 04, 2024 am 10:18 AM
Cadlisp二次開発例 cad autolispの二次開発の方法を教えてください。 CADの二次開発とLispの修正

CAD autolispの二次開発方法

;;;ランプ T4

(デフォルト C:T4206()

ユーザーは、T4206 実行コマンド (パラメーターなし) を入力して、後続のプログラムをロードし、すぐに実行します。

(グラフスクラ)

(setvar "cmdecho" 0)

;;;コマンドライン表示オフ

(setq P1(getpoint "\nランプの配置位置を指定してください(T4 206.5mm 6W):"))

;;;挿入ポイント P1 を設定し、ポイント

を返します。

(コマンド "-INSERT" "D:/YZ_ZCAD/TK/DGT/T4206.dwg" "S" "1" P1 "0")

CAD 標準コマンドを実行する場合、コマンドの前に「-」(CAD コマンドを参照)を追加すると、ダイアログ ボックスを使用せずにコマンド ラインで直接コマンドを実行できます。

プログラム実行時はダイアログボックスでの操作はできませんので、コマンドの前に「-」記号を付けるか、変数FILEDIAで制御することができます。他の方法で制御できる特殊なケースもいくつかあります。

(setvar "cmdecho" 1)

;;;コマンドライン表示が開きます

(王子)

###;;;結論###

)

;;;上記のテキストを LISP に入力し、任意の英語名で保存します

ファイルを保存した後、AP を使用してファイルを CAD にロードできます。

;;; T4206コマンドを実行して挿入コマンドを実行します(ファイルの存在を確認します)

個人的な意見ですが、LISP よりも VBA 開発の方が便利だと思います。 LISP を学ぶには、基本的な知識を習得するだけでよく、深く勉強する必要はありません。 LISP ダイアログ ボックス開発 (DCL) は、VBA よりもはるかに複雑です。ただし、場合によっては、VBA 関数を実行するために LISP 関数を使用する必要があります。 AutoCAD のヘルプ ドキュメントには、開発者向けに特別に提供されたヘルプがあり、多くの詳細な内容が含まれています。多くの編集者も、これらのドキュメントのリソースを直接使用しています。役立つかもしれないので、見てみることをお勧めします。

CAD二次開発修正LISP

(defun c:dz (/ oce1 n1 zn h1 sxh1 p1)

(vl-load-com)

(setq oce1 (getvar "cmdecho"))

(setvar "cmdecho" 0)

(setq ms (vla-get-modelspace

(vla-get-activedocument (vlax-get-acad-object)) このコード行は、AutoCAD で現在アクティブなドキュメントのオブジェクトを取得するために使用されます。 AutoCAD の VLAX (Visual LISP ActiveX) インタフェースを使用し、関数 vlax-get-acad-object を通じて AutoCAD アプリケーション オブジェクトを取得し、次に vla-get-activedocument メソッドを使用して現在アクティブなドキュメントのオブジェクトを取得します。このようにして、現在のドキュメントに対して、プロパティへのアクセス、オブジェクトの変更などのさまざまな操作を実行できます。このコード行は AutoCAD の LISP プログラミングで非常に一般的であり、ドキュメント オブジェクトを操作する場合に非常に役立ちます。

)

)

(qz

の場合

()

(setq qz """)

)

(hz

の場合

()

(setq hz """)

)

(initget "c")

(setq nqz (getstring (strcat "\nプレフィックス

/c (空): " )))

(条件

((= nqz "") (setq qz ""))

(T (if (/= nqz "")(setq qz nqz)))

)

(setq hz """)

(if (not (setq n1 (getint "\n開始シーケンス番号

: ")))

(setq n1 1)

)

(setq zn 1)

(if (not (setq h1 (getreal "\nテキストの高さを指定してください

: ")))

(setq h1 2.5)

)

(setq sxh1 (strcat qz (itoa n1) hz)) は、一般的な LISP 式です。この式では、qz、n1、および hz は変数であり、それらの値を連結することによって新しい文字列 sxh1 が作成されます。 この表現が何を意味するのかを詳しく説明します。 ・ qzはprefixを表す変数で、「prefix」などの文字列が格納されます。 - n1 は、10

などの数値を格納する整変数です。

(setq p1 (getpoint "\n挿入ポイントを指定してください: "))

(while (/= p1 nil)

(setq p1 (vlax-3d-point p1))

(setq txt (vla-addtext

###MS###

sxh1

p1

h1

)

)

(セットq

n1 (n1 zn)

sxh1 (strcat qz (itoa n1) hz)

p1 (getpoint "\n次の挿入ポイントを指定してください: ")

)

)

(setvar "cmdecho" oce1)

(vlax-release-object ミリ秒)

(王子)

)

CAD二次開発LISPマスターがプログラムを書く

は次のように変更できます:

(defun c:sdd (dwg)

(setq dwg (getfiled "パスとファイル名を選択" "" "Dwg" 1))

(if (wcmatch dwg "*

#-##-

#:##.dwg")

(setq dwg (substr dwg 1 (vl-string-search " " dwg)))

文字列変数 `dwg` を指定すると、`(setq dwg (substr dwg 1 (- (strlen dwg) 4)))) ` を使用して処理できます。このコード行の機能は、`dwg` 文字列の最後の 4 文字を切り捨て、その結果を `dwg` 変数に再代入することです。これは、ファイル名またはその他の識別子からファイル拡張子を取り除くために行われる場合があります。このコード行を通じて、特定の要件や形式を満たすように「dwg」文字列を変更できます。

)

(setq dwg (strcat dwg " " (menucmd "M=$(edtime,$(getvar,date),YYYY-MO-DD HH:MM)") ".dwg"))

(コマンド "_.saveas" ""” dwg)

(王子)

)

以上がCAD Autolisp の二次開発はどのように行うのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows設定でドライブヘルス警告を修正する方法を発見する Windows設定でドライブヘルス警告を修正する方法を発見する Mar 19, 2025 am 11:10 AM

Windowsの設定でのドライブヘルス警告はどういう意味ですか?ディスク警告を受け取ったときに何をすべきですか?このPHP.CNチュートリアルを読んで、この状況に対処するための段階的な指示を取得してください。

レジストリを編集するにはどうすればよいですか? (警告:注意して使用してください!) レジストリを編集するにはどうすればよいですか? (警告:注意して使用してください!) Mar 21, 2025 pm 07:46 PM

記事では、誤った編集からWindowsレジストリ、予防策、バックアップ方法、潜在的な問題の編集について説明します。主な問題:システムの不安定性と不適切な変化によるデータ損失のリスク。

Windowsでサービスを管理するにはどうすればよいですか? Windowsでサービスを管理するにはどうすればよいですか? Mar 21, 2025 pm 07:52 PM

記事では、システムの健康のためのWindowsサービスの管理、開始、停止、サービスの再起動、安定性のためのベストプラクティスなどについて説明します。

Steam Cloudエラーを修正する方法は?これらの方法を試してください Steam Cloudエラーを修正する方法は?これらの方法を試してください Apr 04, 2025 am 01:51 AM

Steam Cloudエラーは、多くの理由によって引き起こされる可能性があります。ゲームをスムーズにプレイするには、ゲームを開始する前にこのエラーを削除するためにいくつかの対策を講じる必要があります。 PHP.CNソフトウェアは、この投稿でより有用な情報と同様に、いくつかの最良の方法を紹介します。

Windowsメタデータとインターネットサービスの問題:修正方法は? Windowsメタデータとインターネットサービスの問題:修正方法は? Apr 02, 2025 pm 03:57 PM

「Windowsメタデータとインターネットサービス(WMIS)への接続が確立できなかった」が表示される場合があります。イベントビューアのエラー。 PHP.CNからのこの投稿では、Windowsメタデータとインターネットサービスの問題を削除する方法を紹介します。

ファイルタイプのデフォルトアプリを変更するにはどうすればよいですか? ファイルタイプのデフォルトアプリを変更するにはどうすればよいですか? Mar 21, 2025 pm 07:48 PM

記事では、リターンやバルクの変更など、ウィンドウ上のファイルタイプのデフォルトアプリの変更について説明します。主な問題:組み込みのバルク変更オプションはありません。

KB5035942の更新問題を解決する方法 - クラッシュシステム KB5035942の更新問題を解決する方法 - クラッシュシステム Apr 02, 2025 pm 04:16 PM

KB5035942更新問題 - クラッシュシステムは一般にユーザーに発生します。 Imburitedの人々は、クラッシュするシステム、インストール、健全な問題など、一種のトラブルから抜け出す方法を見つけることを望んでいます。これらの状況をターゲットにして、この投稿はphp.cn wilが発行しました

グループポリシーエディター(gpedit.msc)を使用するにはどうすればよいですか? グループポリシーエディター(gpedit.msc)を使用するにはどうすればよいですか? Mar 21, 2025 pm 07:48 PM

この記事では、システム設定を管理するためにWindowsでグループポリシーエディター(gpedit.msc)を使用する方法、一般的な構成とトラブルシューティング方法を強調する方法について説明します。 Gpedit.mscはWindows Home Editionsでは利用できないことに注意してください。

See all articles