- 締切済み
CADのコマンドについて
CADを使っており、今あるコマンドに追加したいコマンドがあります。 現状ではH≦1300の時にP35とP36を実行するようになってるみたいなのですが、ここにさらにH≦1700のときに追加でP37 P38を実行させたいのです。そこで問題があるんですが、H≦1700のときにH≦1300のコマンドも実行されてしまいます。これを、H≦1700の場合、H≦1300のコマンドを実行させないようにすることはできますか? 初心者なので、説明不足でしたら申し訳ありません。 以下にコマンド載せておきます。 (IF (>= H00 1300.0) (PROGN (SETQ P35 (LIST (- (CAR P00) (- (/ W00 2) 55.0 40.0)) (- (CADR P00) (- (/ H00 2) 100.0)))) (SETQ P36 (LIST (+ (CAR P00) (- (/ W00 2) 55.0 40.0)) (- (CADR P00) (- (/ H00 2) 100.0)))))) (IF (>= H00 1300.0) (PROGN (POSTR (CAR P35) (CADR P35)) (POSTL (CAR P36) (CADR P36)))) (DEFUN POSTR (WX WY) (COMMAND "CIRCLE" (LIST (+ WX 5.0) (+ WY 25.0)) "2.10") (COMMAND "CIRCLE" (LIST (+ WX 5.0) (- WY 25.0)) "2.25") (COMMAND "CIRCLE" (LIST (- WX 20.0) (+ WY 25.0)) "2.25") (COMMAND "CIRCLE" (LIST (- WX 20.0) (- WY 25.0)) "2.10")) (DEFUN POSTL (WX WY) (COMMAND "CIRCLE" (LIST (- WX 5.0) (+ WY 25.0)) "2.25") (COMMAND "CIRCLE" (LIST (- WX 5.0) (- WY 25.0)) "2.10") (COMMAND "CIRCLE" (LIST (+ WX 20.0) (+ WY 25.0)) "2.10") (COMMAND "CIRCLE" (LIST (+ WX 20.0) (- WY 25.0)) "2.25"))
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- plumedk48
- ベストアンサー率0% (0/0)
condコマンドがあります。 autocad lispのhelpで調べてみてください。 (cond ((and (> H 1300) (<= H 1700)) (setq p37 (LIST (- (CAR P00) (- (/ W00 2) 55.0 40.0)) (- (CADR P00) (- (/ H00 2) 100.0))) p38 aaa ) ) ((<= H 1300) (progn (setq p35 next1 ) (setq p36 next2 ) ) ) (t nil) ) ;c
- jjon-com
- ベストアンサー率61% (1599/2592)
AutoLISP(AutoCAD の LISP 言語)でしょうか? 私は門外漢なのでよく知らないのですが。 次のカテゴリで質問すると,経験者から適切な回答が得られるかもしれません。 [技術者向] コンピューター > 業務ソフトウェア > CAD・DTP [技術者向] コンピューター > プログラミング > その他(プログラミング)
お礼
カテゴリを変えて質問してみます。 ご指摘ありがとうございます。