問題タブ [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 に答える
192 参照

autolisp - Youtube ビデオを表示するための AutoCAD Lisp フックアップ ヘルプ機能

既定の AutoCAD ヘルプ ファイルを表示する代わりに、AutoCAD Lisp の F1 ヘルプ機能をカスタム Youtube ビデオに接続するのに問題があります。この記事は非常に役に立ちましたが、YouTube ビデオを提供することはできません。

カスタム AutoCAD ブラウザは古すぎるため、HTML5 をサポートしていません (YouTube ビデオを実行するために必要です)。私の問題を解決する方法について何か助けはありますか?

ケース: F1 ヘルプを AutoCAD Lisp のカスタム関数にバインドし、F1 キーを押して Youtube クリップをアクティブにする方法。

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

windows - バッチ ファイルのプレースホルダー

バッチ ファイルにプレースホルダーを設定し、そのデータを他のスクリプトで参照することはできますか?

たとえば、プロジェクト番号を設定したバッチ ファイルがあるとします。

次に、Autocad Lisp ルーチンまたはスクリプトで要求されたプレースホルダーを使用したいと思います。

ファイルの場所を参照できると仮定しているので、 F:\blah\blah\blah test.bat は、物理的にバッチに入って図を取得できるかどうかわかりません。

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

autocad - 図面からプロジェクト名を取得する auto lisp

ハードドライブがクラッシュしたクライアントがいます。データを復元できましたが、列挙されたファイルのみで、日付、サイズ、または命名スキームはありませんでした。これらは autocad からの図面ファイルであり、文字通り何万ものファイルがあります。図面には表題欄がありますが、開いたり名前を変更したりするのは手作業です。それには 1 世紀かかります。図面を開いて表題欄からテキストを取得するために使用できる Lisp を知っている人はいますか? 私は自分自身を試みましたが、惨めに失敗しました。

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

unit-testing - テスト フレームワークの標準機能は何ですか?

そこで、AutoCAD 2005 用のプログラムをいくつか開発してきましたが、常に問題に直面していました。具体的には、絶対角度 (「方位角」) に基づいて線を描画する必要があるプログラムに取り組んでいました。距離、特別な入力形式から度、ラジアン、およびその逆への変換、および他の多くのプログラマーと同様に、私のコードは特にかさばり、バグが多くなりました。約 3 ~ 4 日かかるはずのプログラム/スクリプトで、ほぼ 1 週間半も立ち往生してしまいました。

開発をよりスムーズにするためのテスト フレームワークを実装することを考えていましたが、他の言語とは異なり、そのためのライブラリがまったくないと思われる言語で作業しており、さらに良いことに、それは埋め込みスクリプト環境です。

設計がどのように機能するかについていくつかのアイデアがありますが、いくつか説明する必要があります。

コマンドの実行/AutoLISP バックグラウンド

私が書くプログラムのほとんどは、シェルによく似たコンソールのようなコマンドの形式になっています。たとえば、 function を書くとしますx。AutoLISP では、次のように表されます (スラッシュも文字通りそこにあります): (defun x (arguments / local variables) body of function). コンソールに公開するには、名前を から に変更する必要がありxますC:x

そのため、ほとんどのテストはコンソールから直接行う必要があります。私は AutoCAD に組み込まれている Visual Lisp エディタを避ける傾向があります。これは、プログラムが使用される可能性が最も高い実際の作業環境から切り離されているように思われ、実際のデバッガがないように思われるためです。そのため、コードをデバッグするために、または他の方法を頻繁に使用する必要があります。(print "string")

アイデア/考え/質問

1. テスト フレームワーク用に公開したい関数の種類は? コンパイル時のテスト、アサート、Java のテスト クラスなど、複数のパラダイムについて聞いたことがあります。アサートをコーディングしてみる必要がありますか? おそらく、リフレクションを使用したテストを作成する必要がありますか?

2. テストを挿入する方法と場所は? 別の関数を作成し、すべてのローカル変数をグローバルに変更して、可能なテスト コンテキストに公開することを考えましたが、これをどのように実行したいかはまだわかりません。AutoLISP には通常の Lisp マクロが欠けていると思いますが、それでも非常に優れたリフレクション機能を備えていると思います。そのため、実際にコンソールにコマンドを入力して何かを実行することは可能です。外部の非侵入型フレームワークが最も理にかなっていると思いますが、これについてはより経験豊富な回答を得たいと思います。

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

svg - 以前は機能していた Lisp 関数が失敗する (Draft Sight、SVG から CAD)

SVG ファイルを CAD 図面に変換する Draft Sight/AutoCad スクリプトを実装しようとしています。

主な考え方は、ファイルを 1 行ずつ読み取り (ReadSVGData によって実行)、svg 定義をスペースで分割し (ReadHTMLItemData)、個々の HTML 属性をリストに読み取り、SVG アイテムのタイプに基づいて CAD 要素を描画することです。校長に関してはそんなに...

珍しい部分は、"id="Box_8_0"" のような Html 属性が attrlis 関数によって findchar 関数に送信されるたびに、スクリプトが失敗することです。

私の間違いが隠されているヒントはありますか?

次のファイルの読み取り:

編集

サトラジの回答に基づく部分文字列インデックスの変更

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

window - Autolisp を使用して Autocad に幾何公差を追加する

Autolisp スクリプトを使用して幾何公差を描画しようとしています。ただし、(コマンド「tolerance」) 幾何公差ウィンドウをプルアップする方法しか見つかりませんでした。引数を追加する方法を知っている人はいますか? 私の目標は、公差のある平行記号を描くことです。

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

lisp - Vlisp autocad: 条件 (> ab) は、a が b と等しい場合でも真です。なんで?

Lispに問題があります。問題を見つけることができる場所にここに置きます。

この数行を実行しようとすると、2 番目の while 条件で問題が見つかります。それは非常に奇妙です..それについて何か考えはありますか?

ありがとう、デニス

編集:質問の誤りを修正しました