• 締切済み

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"))

みんなの回答

回答No.2

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)
回答No.1

AutoLISP(AutoCAD の LISP 言語)でしょうか? 私は門外漢なのでよく知らないのですが。 次のカテゴリで質問すると,経験者から適切な回答が得られるかもしれません。 [技術者向] コンピューター > 業務ソフトウェア > CAD・DTP [技術者向] コンピューター > プログラミング > その他(プログラミング)

varosh
質問者

お礼

カテゴリを変えて質問してみます。 ご指摘ありがとうございます。

関連するQ&A