問題タブ [autolisp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
572 参照

autocad - Lispを使用して、ブロック/autocad内のオブジェクトの領域を変数に取得する方法

これがコードです。

条件に一致する場合、ブロック内のすべてのリージョンとソリッド (Tobjs) の合計面積を変数 TNumF に取得したいのですが、

エラーが発生します: 引数の値が正しくありません: AutoCAD コマンド: #

助けてください

前もって感謝します

0 投票する
2 に答える
609 参照

list - Lisp 更新リスト

こんにちは、私は AutoCad Lisp を初めて使用し、簡単なルーチンで作業を少しスピードアップしようとしていますが、壁にぶつかってこれを理解できず、簡単な解決策があることを強く感じています。そう...

「koord」という名前のリストを作成しました。

結果はドット ペアです。("1" . "10,10,10")

その後、このリストに次のように追加します。

結果は次のとおりです。("1" . "10,10,10") ("2" . "20,20,20") ("3" . "30,30,30")

この時点で、2 番目のドット ペアを更新して、リストを次のようにします。

("1" . "10,10,10") ("2" . "60,60,60") ("3" . "30,30,30")

しかし、方法がわからない...このように追加すると

私がこの結果を得るよりも:

これを取得する方法を知っていれば、それほど悪くはありません("2" . "60,60,60")

私が試したら

最初に出現したものを返します。つまり("2" . "20,20,20")

では、追加するのではなく、ドット ペアの値を更新する方法や、最初の値ではなく最後に追加された値を取得する方法はありますか?

0 投票する
2 に答える
2879 参照

autocad - AutoLisp を使用した AutoCad 回転コマンド

AutoLisp で単純な「回転」コマンドを作成したいので、これが私が書いたコードです。

p1 と p2 の 2 つの点を挿入し、それらを結ぶ線を作成します。その後、行 p1-p2 である ss1 オブジェクトを作成します。最後に、基点 p2 から線を 90 度回転させてみます。

コードをAutoCadに挿入するのですが、回転した線を作成する代わりに、角度だけでなく基点も手動で挿入するように求められるので、command "rotate" ...線に問題があると推測されます。

任意の提案をいただければ幸いです。

0 投票する
1 に答える
113 参照

lisp - ads_name タイプから VLAX-OBJECT を取得するにはどうすればよいですか

特定のオブジェクトのすべてのプロパティを取得するために entget 関数を使用しています。オブジェクトのプロパティを説明するドット ペアの表がありますが、VLAX-COPY や VLAX-MOVE などの VLAX-OBJECT 関数を使用したいと考えています。したがって、ads_name 型から VLAX-OBJECT 型に変換する必要がありますが、処理できません。それを行うためのアイデアを提案できますか?.