;;Kim_MidP.lsp
;;Command Name "mp"
;;2点間の中点を求める
;;
;;May 6,2006 Original
;;May 6,2006 Version 1.0
;;
;;Coding by Kim Grossa
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;startP(Xs,Ys)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;midP(Xm,Ym)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;endP(Xe,Ye)
;;
;;*****使用方法
;;コマンドラインで"mp"と入力し、Enter
;;最初の点をクリック
;;最後の点をクリック
;;
(defun C:mp()
;*****現在のエンティティスナップの設定を退避
(setq oldES (getvar "OSMODE"))
;*****エンティティスナップを設定
(setvar "OSMODE" 47)
;1(Endpoint)+2(Midpoint)+4(Center)+8(Point)+32(Intersection)
;*****始点、終点を取得
(setq startP (getpoint "\n<Start point>:"))
(setq endP (getpoint startP "\n<End point>:"))
;*****始点、終点を結ぶ直線の角度の計算
(setq wireAng (angle startP endP))
;*****始点、終点間の距離を計算
(setq distS (distance startP endP))
;*****中点の座標の計算
(setq midP (polar startP wireAng (/ distS 2)))
;*****中点を描く
(command "POINT" midP)
;*****エンティティスナップの設定を復旧
(setvar "OSMODE" oldES)
)
;;Command Name "mp"
;;2点間の中点を求める
;;
;;May 6,2006 Original
;;May 6,2006 Version 1.0
;;
;;Coding by Kim Grossa
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;startP(Xs,Ys)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;midP(Xm,Ym)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;endP(Xe,Ye)
;;
;;*****使用方法
;;コマンドラインで"mp"と入力し、Enter
;;最初の点をクリック
;;最後の点をクリック
;;
(defun C:mp()
;*****現在のエンティティスナップの設定を退避
(setq oldES (getvar "OSMODE"))
;*****エンティティスナップを設定
(setvar "OSMODE" 47)
;1(Endpoint)+2(Midpoint)+4(Center)+8(Point)+32(Intersection)
;*****始点、終点を取得
(setq startP (getpoint "\n<Start point>:"))
(setq endP (getpoint startP "\n<End point>:"))
;*****始点、終点を結ぶ直線の角度の計算
(setq wireAng (angle startP endP))
;*****始点、終点間の距離を計算
(setq distS (distance startP endP))
;*****中点の座標の計算
(setq midP (polar startP wireAng (/ distS 2)))
;*****中点を描く
(command "POINT" midP)
;*****エンティティスナップの設定を復旧
(setvar "OSMODE" oldES)
)
※コメント投稿者のブログIDはブログ作成者のみに通知されます