Archive for category LISP
ビューポートの矩形を描く
in LISP on 2008/04/12
モデル空間でしか使ってませんので、
ペーパー空間とかはどうなるのか全くわかりません
とりあえずのメモ
(defun c:test( / ctr vsize vmax vmin fac dis ang pt1 pt2 ) (setq ctr (getvar "viewctr")) (setq vsize (getvar "viewsize")) (setq vmax (getvar "vsmax")) (setq vmin (getvar "vsmin")) (setq fac (/ (/ vsize 2.0) (- (cadr vmax) (cadr vmin)))) (setq dis (* fac (distance vmax vmin))) (setq ang (angle vmin vmax)) (setq pt1 (polar ctr (+ PI ang) dis)) (setq pt2 (polar ctr ang dis)) (command "rectang" pt1 pt2) )
長さを求める
in LISP on 2008/03/21
(defun y_length(e_name) (vlax-curve-getDistAtParam (vlax-ename->vla-object e_name) (vlax-curve-getEndParam (vlax-ename->vla-object e_name)) ) )
オブジェクトの尺度を調べたい
in LISP on 2007/08/30
オブジェクトの尺度が欲しい時、オブジェクトプロパティ管理から調べるのでしょうか?
二つ以上ついてたら調べるのかなり面倒なんですけど・・・
カーソル近づけたらツールチップに表示できるようにしてよ!
まぁそんな高等なことできないので以下。
(y_objscale (car (entsel))) ("1:1" "1:2") (defun y_objscale (E_NAME / E_DATA) (if (and (setq E_DATA (cdr (assoc 360 (entget E_NAME)))) (setq E_DATA (dictsearch E_DATA "AcDbContextDataManager")) (setq E_DATA (dictsearch (cdr (assoc -1 E_DATA)) "ACDB_ANNOTATIONSCALES")) ) (progn (setq E_DATA (apply 'append (mapcar '(lambda (x) (if (eq (car x) 350) (list (cdr x)))) E_DATA) ) ) (mapcar '(lambda (x) (cdr (assoc 300 (entget (cdr (assoc 340 (entget x))))))) E_DATA) ) ) )
ssgetのメッセージを変える
in LISP on 2007/07/10
muraさん所から
(setvar “nomutt” 1)
(princ “select object:”)
(ssget)
(setvar “nomutt” 0)
システム変数 NOMUTT
0 標準のメッセージ表示を再開します。
1 メッセージ表示を省略します。
テーブルのセルナンバー取得
in LISP on 2007/02/28
(setq tableent (car (entsel)))
(setq tableobj (vlax-ename->vla-object tableent))
(setq pt1 (vlax-3d-point (getpoint)))
(vla-HitTest tableobj pt1 (vlax-3d-point (getvar “VIEWDIR”)) ‘RowCnt ‘ColCnt)
ってか val-hittest ってどこに載ってるんでしょうね。
わかればいいんだけどさ。