lee50310
发表于 2022-5-9 17:28:25
本帖最后由 lee50310 于 2023-10-16 06:51 编辑
_Levin 发表于 2022-5-7 23:03
插入图块时,能顺带分解图块吗?
先回答你之前的第1個問題
插入預覽塊 ,鎖點問題?
我試了一下 發現執行
(vl-cmdf "_.-insert" bname "_S" 1.0 "_R" 0.0 "_non" ip)
這 "_non" 可讓塊懸停在滑鼠上但無法讓鎖點穿透
所以執行時 無鎖點功能
不過可以 把 按鍵功能 I 改成有鎖點功能
(藍色字表示在原有程式中增加)
;-------------------------------------------------------------
((member (chr key) '("I" "i")) ;按I鍵: 使用 OSNAP 插入
(vl-cmdf "_.move" ent "" "_non" lastpt)
(while (= (logand (getvar "cmdactive") 1) 1)
(command pause)
)
(entdel entlast)
(vl-cmdf "_.-insert" bname "_S" 1.0 "_R" 0.0 "_non" ip)
nil ; stay in loop
)
;-------------------------------------------------------------
執行說明: 輸入指令:tt
輸入塊名:xx
若無旋轉則按 i 鍵
在你要插入的物體旁點一下 此時會拉出一條虛線與滑鼠上的塊相連
這時滑鼠上的塊就有鎖點功能 然後將此塊插入你要的物體上
第二個問題 以 按鍵 I 為例 若插入後要順帶分解圖塊
(紅色字表示在原有程式中增加)
;-------------------------------------------------------------
((member (chr key) '("I" "i")) ;按I鍵: 使用 OSNAP 插入
(vl-cmdf "_.move" ent "" "_non" lastpt)
(while (= (logand (getvar "cmdactive") 1) 1)
(command pause)
)
(entdel (entlast))
(vl-cmdf "_.-insert" bname "_S" 1.0 "_R" 0.0 "_non" ip)
(vl-cmdf "Explode" (entlast)) ;分解圖塊
nil ; stay in loop
)
;-------------------------------------------------------------
htxhtx
发表于 2022-5-13 08:55:29
来晚了 ,可惜!
bai2000
发表于 2023-3-8 22:41:09
本帖最后由 bai2000 于 2023-5-19 16:07 编辑
不错,能更改选择图中的图块更好,毕竟“块名”都不好记得,"选择由外部插入图块"的功能怎么用不了啊,搜索到外部块后“确认”自动退出
sj800918
发表于 2023-10-11 16:49:31
感谢分享,有一个问题请教一下,插入后旋转,再用I开启捕捉,这样插入块后,想加撤消(command-s ".undo" "be" )(command-s ".undo" "e" ),但只能撤消到I开启捕捉前那一步,再后退,就一点点移动很多步,这个怎么处理呢,谢谢!
lee50310
发表于 2023-10-11 19:25:38
本帖最后由 lee50310 于 2023-10-26 16:09 编辑
sj800918 发表于 2023-10-11 16:49
感谢分享,有一个问题请教一下,插入后旋转,再用I开启捕捉,这样插入块后,想加撤消(command-s ".undo" "b ...
兩種方式 可試試看
;第一種
(command-s "_.undo" "be" )
.
.
(command-s "_.undo" "e" )
(repeat 3(command-s "_.undo" "" ));寫3 就退回 3次
.
.
;---------------------------------------------------
;;第二種
.
.
(command-s "_.undo" "m" ) ;在要退回的地方先標記
.
.
(command-s "_.undo" "e" )
(command-s "_.undo" "_back") ;下此指令執行程序會退回標記處
sj800918
发表于 2023-10-12 08:05:24
本帖最后由 sj800918 于 2023-10-12 10:01 编辑
感谢回复!!!!
sj800918
发表于 2023-10-12 10:04:14
本帖最后由 sj800918 于 2023-10-12 10:10 编辑
按原始程序测试退回点没有问题,但I键插入后,多了个图形,加入下面这两句后,就出现了退回不正常情况,怎样解决合适呢?
((member (chr key) '("I" "i")) ;按I鍵: 使用 OSNAP 插入
(vl-cmdf "_.move" ent "" "_non" lastpt)
(while (= (logand (getvar "cmdactive") 1) 1)
(command pause)
)
(setq obj(car(entlast)))
(vl-cmdf "_.-insert" bname "_S" 1.0 "_R" 0.0 "_non" ip)
(entdel obj)
nil ; stay in loop
)
lee50310
发表于 2023-10-12 10:48:37
本帖最后由 lee50310 于 2024-2-5 11:01 编辑
sj800918 发表于 2023-10-12 08:05
感谢回复!!!!
要刪除最後一個物體
兩行紅色字 改成
(entdel (entlast))
即可
sj800918
发表于 2023-10-12 16:09:34
感谢回复!问题已解决:handshake
sjl_fyl
发表于 2024-2-4 15:35:44
{:1_1:}谢谢