添加到现有命令?
我在AutoCAD工作了15年,从未掌握过编写代码。我喜欢我经常发现和使用的lisp例程。我一直认为copy命令应该有一个rotate选项。我知道在express tools中有“move-copy-rotate”命令,但使用起来很麻烦。
我记得当你不得不告诉copy命令你想做多个拷贝时,他们添加了额外的信息来自动完成。
是否可以添加另一层代码,使您可以选择从拾取点旋转复制的对象。如果复制命令是一个矩形阵列,他们不能将环形阵列也添加到其中吗?
谢谢
方形膝盖 看看这是否适合你。
它不花哨,但应该奏效。
(defun c:cr ()
(princ "\nCopy, &
Rotate:\n")
(setq ss (ssget))
(command "copy" ss "" "0" "0")(command
"move" ss "" pause pause)(command "rotate" ss "" "@" pause)) 不能使用“旋转”命令的“复制”选项吗?
Command: ROTATE
Current positive angle in UCS:ANGDIR=counterclockwiseANGBASE=0
Select objects: Specify opposite corner: 1 found
Specify base point:
Specify rotation angle or [Copy/Reference] <0>: C
Rotating a copy of the selected objects. 在我上面发布的代码中添加了一个错误陷阱
(defun c:test (/ *error*)
(defun *error* ( msg )
(if (not (member msg '("Function cancelled" "quit / exit abort")))
(princ (strcat "\nError: " msg))
)
(princ)
)
(princ "\nCopy & Rotate:\n")
(setq ss (ssget))
(command "copy" ss "" "0" "0")
(command "move" ss "" pause pause)
(command "rotate" ss "" "@" pause)
)
(princ)
哇,我甚至没有意识到在rotate命令中有一个复制选项。
我想我不习惯阅读命令行,因为我只是做一些我经常做的动作。
现在我只需要记住,如果我想复制并旋转它,我必须使用rotate命令。
非常感谢你,这让我感到困扰了一段时间。我想我需要真正阅读命令行,而不是走马观花! http://knowledge.autodesk.com/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/AutoCAD-Core/files/GUID-385D1161-6A07-432E-B69B-71C7D19409F5-htm.html
或MOCORO(快速工具)
使用单个命令移动、复制、旋转和缩放选定对象。
使用MOCORO作为一种方便的方法,它结合了最常用的修改命令。
选项
移动移动对象
复制创建对象的多个副本
旋转旋转对象
动态缩放缩放对象
基点为下一个修改选项指定新基点
撤消撤消上一个操作
不客气当然,可以创建一个自定义命令,允许您执行相同的操作,而无需键入“C”作为“复制”,但我更倾向于首先建议一种现成的解决方案(如果合适)。
李 我用这个宏制作了一个按钮。
^C^C_选择\_副本_p、 ;\@_旋转_p、 ;@;n_移动_p、 ;\\;;
页:
[1]