Ai circtanstart

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年6月2日 (木) 09:22時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (ai_circtanstart) ; 機能 ; c:ai_circtan、ai_circtan用のサブルーチン : tantantan(3円接円)オプション用の3点を変数...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(ai_circtanstart)


機能
c
ai_circtan、ai_circtan用のサブルーチン
tantantan(3円接円)オプション用の3点を変数 pt1, pt2, pt3 に取得する。


引数
  • なし


戻り値
3番めの接線点


  • MEMO :


サンプル

(ai_circtanstart)
; 3点指示
コマンド: !pt1
(185.778 75.2086 0.0)

コマンド: !pt2
(235.957 20.5898 0.0)

コマンド: !pt3
(251.685 66.2302 0.0)


;;; 関数の内容は以下のとおり

(defun ai_circtanstart()
   (setq m:err *error* *error* *merr*)
   (ai_sysvar 
      (list '("cmdecho" . 0)
         ;; CIRCLEのために選ぶ_tan必ず同じエンティティを取得します
         (cons "aperture"  (getvar "pickbox"))
          )
   )
   ;; プロンプトは、CIRCLE / TTRコマンドオプションと同じです
   (setq pt1 (ai_entsnap "\n接線になる点を指定 : "  nil))
   (setq pt2 (ai_entsnap "\n2番目の接線になる点を指定 : " nil))
   (setq pt3 (ai_entsnap "\n3番目の接線になる点を指定 : " nil))
)

;;; コマンド
(defun c:ai_circtan (/ pt1 pt2 pt3)
   (ai_circtanstart)

   (ai_sysvar '("osmode" . 256))
   (command "_.circle" "_3p" "_tan" pt1 "_tan" pt2 "_tan" pt3)
   
   (ai_sysvar nil)
   (setq *error* m:err m:err nil)
   (princ)
)

;;; CMDNAMES == CIRCLE場合にこれを使用
(defun ai_circtan (/ pt1 pt2 pt3)
   (ai_circtanstart)

   (ai_sysvar '("osmode" . 256))
   (command "_3p" pt1  pt2  pt3)
   
   (ai_sysvar nil)
   (setq *error* m:err m:err nil)
   (princ)
)



関連事項