啊。。
这是我的代码:
-
- (defun c:test (/ )
- (setq entity (car (entsel "\nSelect a block: ")))
- (if entity
- (progn
- (setq data (entget entity))
-
- (if (= (cdr (assoc 0 data)) "INSERT")
- (progn
- (setq block_ins (cdr (assoc 10 ent_data))
-
- block_scx (cdr (assoc 41 ent_data))
-
- block_rot (cdr (assoc 42 ent_data))
-
- block_rot (cdr (assoc 50 ent_data))
- )
- (setq point1 (polar block_ins (+ block_rot (* 0.5 pi)) 150))
- (command "_.insert" "w1" point1 block_scx block_scy block_rot)
- )
- )
- )
- )
- (princ)
- )
这就是为什么会发生:在一个图形中,我有一个块,第一个或原点块。我在它旁边再划一个街区,要么在同一条基线上离它不远,要么在同一条基线上离它不远。两者之间的距离应为150mm。
我想没有什么困难,但我一直坚持这样做:
我会在其中添加带有initget/keyword的选项(左/右),但我甚至没有走那么远。
有人能把我踢向正确的方向吗?我不需要完整的Lisp程序,只是解释如何做到这一点。
谢谢
马可。
|