Archive for category LISP

AutoCAD + Excel で属性編集

AUGIjp SNS でダウンロードできます。登録は無料です。

AutoCAD + Excel で属性編集

No Comments

ビューポートの矩形を描く

モデル空間でしか使ってませんので、
ペーパー空間とかはどうなるのか全くわかりません
とりあえずのメモ

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

8 Comments

長さを求める

(defun y_length(e_name)
(vlax-curve-getDistAtParam
(vlax-ename->vla-object e_name)
(vlax-curve-getEndParam (vlax-ename->vla-object e_name))
)
)

2 Comments

オブジェクトの尺度を調べたい

オブジェクトの尺度が欲しい時、オブジェクトプロパティ管理から調べるのでしょうか?
二つ以上ついてたら調べるのかなり面倒なんですけど・・・
カーソル近づけたらツールチップに表示できるようにしてよ!

まぁそんな高等なことできないので以下。

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

No Comments

ssgetのメッセージを変える

muraさん所から
(setvar “nomutt” 1)
(princ “select object:”)
(ssget)
(setvar “nomutt” 0)
システム変数 NOMUTT
0 標準のメッセージ表示を再開します。
1 メッセージ表示を省略します。

2 Comments

ページ設定

A3のページ設定にする場合
(command “-plot” “n” “” “A3″ “” “n” “y” “n”)

No Comments

テーブルのセルナンバー取得

(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 ってどこに載ってるんでしょうね。
わかればいいんだけどさ。

6 Comments