anothercadguy 发表于 2022-7-5 15:26:57

偏移和删除源

向所有人致意,
我试图建立一个lisp来抵消一条线。以下是我所拥有的:

(defun c:off ()   
(Command "_offset" "e" "yes" pause)
(princ)
)

唯一的问题是,我找不到auto存储原始设置的变量,一旦我退出自定义命令,auto cad会将“擦除”源保留为yes。
显然,我还不太熟悉lisp,所以任何帮助都将不胜感激。
提前谢谢。

rkmcswain 发表于 2022-7-5 15:32:22

发布lisp代码时请使用代码标记。此外,您可以使用每篇文章中“其他选项”下的复选框禁用笑脸。
 
现在回到原来的问题。我认为没有一个变量可以控制擦除选项。但是,您可以使用此行关闭擦除功能
 

(command "._offset" "_E" "_No" "" "_E")

alanjt 发表于 2022-7-5 15:34:20

看看这个,真快又脏。
 
(defun c:OFF (/ offset_dist obj_2_offset offset_side)
(setvar 'cmdecho 0)
(while (= offset_dist nil)
(setq offset_dist (getdist "\nOffset distance: "))
);while

(while
(while (= obj_2_offset nil)
(setq obj_2_offset (entsel (strcat "\nPick object to offset <" (rtos offset_dist) ">: ")))
);while

(while (= offset_side nil)
(setq offset_side (getpoint "\nSide to offset on: "))
);while

(command "offset" offset_dist obj_2_offset offset_side "")

(command "erase" obj_2_offset "")
(setq obj_2_offset nil)
(setq offset_side nil)
);while

(princ))

anothercadguy 发表于 2022-7-5 15:38:36

谢谢你的代码和微笑信息。我试过你的方法,但行不通。alanjt脚本可以工作,但它会循环到最后,一旦输入距离并偏移线,命令就会保持不变,不会接受任何其他距离。
 
谢谢你的回复

rkmcswain 发表于 2022-7-5 15:42:36

 
什么不起作用?
它只是关闭了“擦除”选项,就是这样。

anothercadguy 发表于 2022-7-5 15:44:11

很抱歉,我在没有激活擦除选项的情况下运行了测试。它确实有效。谢谢

alanjt 发表于 2022-7-5 15:48:27

哎呀,我想我加的太多了
 
试试这个:
 
(defun c:OFF (/ offset_dist obj_2_offset offset_side)
(setvar 'cmdecho 0)
(while (= offset_dist nil)
(setq offset_dist (getdist "\nOffset distance: "))
);while

(while (= obj_2_offset nil)
(setq obj_2_offset (entsel (strcat "\nPick object to offset <" (rtos offset_dist) ">: ")))
);while

(while (= offset_side nil)
(setq offset_side (getpoint "\nSide to offset on: "))
);while

(command "offset" offset_dist obj_2_offset offset_side "")

(command "erase" obj_2_offset "")
(setq obj_2_offset nil)
(setq offset_side nil)

(princ))

anothercadguy 发表于 2022-7-5 15:50:41

谢谢alanjt,很有魅力。

alanjt 发表于 2022-7-5 15:52:31

没问题。如果这个周末我有机会的话,我会坐下来抓一些更好的东西。我昨晚做得很快,没有测试。

3dwannab 发表于 2022-7-5 15:56:32

 
嗨,艾伦,
 
我用小数点偏移量尝试了这个方法,但返回到以前使用的偏移量。
 
我试图抵消72.5,但没有成功。谢谢
页: [1] 2
查看完整版本: 偏移和删除源