始めました。S造階段断面自動作図に挑戦していたのですがlisp文が途中から読み込まれなくなりました。原因が分かりましたら教えていただけませんか、
よろしくお願い致します。
解決済! 解決策の投稿を見る。
回答者: tatsuo.inoue. 解決策の投稿を見る。
sinichi_satoさん、投稿ありがとうございます。
もう少し具体的にこのLispを動作させたときの動きや現象を教えていただけないでしょうか?
その方がより情報やヒントが集まりやすいと思いますよ。
Lispはわかるけど、建築図面には詳しくないという方もいらっしゃると思います。
よろしくお願いします。
こんにちは。
お使いのAutoCADのバージョンが分かりませんが、試しにAutoCAD 2017で添付されたLISPファイルをロードして、”Test2”コマンドを実行してみたところ、以下のメッセージがコマンドプロンプトに表示されました。
”(*push-error-using-command*) が事前に呼び出されていないため、エラーにより (command) を実行できません。
(command) 呼び出しを (command-s) に変換することをお勧めします。”
AutoCAD 2015に盛り込まれた最も大きな内部変更としてファイバー削除が挙げられます。オートデスク社製品のカスタマイズ開発を支援するオートデスクデベロッパネットワーク(ADN)の日本チームのブログ “Technology Perspective from Japan”の以下の掲載にファイバー削除について、そしてそれに伴って発生するアプリケーション移植作業について記述があります。
その記述の中に、AutoLISPに関して以下の説明がありましたのでここで抜粋しました。
”AutoLISP で (command) 関数を利用している場合には、(command-s) 関数か (command) 関数を使い分ける必要があります。ユーザ対話なしでコマンドを完結できる場合には、(command) 関数を (command-s) 関数 に置き換えてください。詳細は、こちら をご参照ください。”
(command) 関数に実行するコマンドのすべての引数を渡してコマンドの呼び出しが完結している場合は、(command) 関数を (command-s) 関数に置き換える必要があります。
返事が大変遅くなりましたが現在汎用で使用出来るまで手を入れましたので、報告がてらアドバイス有難う御座いました。autocad2011で使用
sinichi_sato さん、こんにちは。
お返事をありがとうございます。
ファイバ削除に伴う AutoLISP の (command) 関数の移植作業について追加の情報があります。
添付しました、API Migration Guide for Fiberless Operations (newsletter article) 日本語翻訳版v2.pdf の3ページ目の下部に下記の記述があります。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
AutoLISP
*error* ハンドラ内で (command) を使用する場合、AutoLISP コードの唯一の移植要件にあてはまります。
ほとんどのケースでは、*error*ハンドラ内の (command) を、単に新しい (command-s) 関数へ呼び出し
に置き換える必要があります(コードの残りの部分は現状のまま)。ADN Extranet のホワイトペーパー
では、例外的な状況で必要とされる別の複雑なアプローチを説明しています。
*error* ハンドラ内で (command) を使用していない場合は、移植作業は必要ありません( (command) の
使用は他の箇所では正常に動作するはず)。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
*error* ハンドラ内で (command) を使用していない場合は、移植作業は必要ありません。添付された LISPのコマンドを AutoCAD 2018 で実行してみましたが、エラーなしに階段を作成することができました。現状ではファイバ削除に伴う移植作業は必要ないと思われます。