请教一个问题,写一个倒角命令,带半径记忆功能,半径改为下一个菜单,如何写
选择第一个对象或 [放弃(U)/多段线(P)/半径(R)/修剪(T)/多个(M)],后面这些命令如何用lisp语言编写的,也不知道这个叫啥,不知道怎么搜索,可以指导一下吗?(DEFUN C:ff()
(setq c(jiyi "\n请输入角度<" 'jiy 0))
(command "fillet" "r"(rtos c))
(command "fillet" )
(PRINC)
)
(defun jiyi (word bianliang moren /)
(or (eval bianliang) (set bianliang moren))
(setq wordtmp(getdist (strcat word (rtos(eval bianliang) 2 4) ">")))
(if (null wordtmp)(setq wordtmp (eval bianliang)))
(set bianliang wordtmp)
)
; 定义全局变量存储上一次的圆角值
(setq *get-radius* 0.0)
(defun c:r (/ current-radius user-radius)
(setq current-radius (getvar "filletrad"))
(setq user-radius (getreal (strcat "\n指定圆角半径 <" (rtos (float *get-radius*) 2 2) ">: ")))
(if (null user-radius)
(setq user-radius *get-radius*))
(setq *last-radius* user-radius)
(setvar "filletrad" user-radius)
(command "fillet" "u" pause pause)
(princ)
) 关键字 KeyWord 本帖最后由 儒门小客 于 2025-3-2 22:01 编辑
zwq8629 发表于 2025-3-2 10:55
; 定义全局变量存储上一次的圆角值
(setq *get-radius* 0.0)
(defun c:r (/ current-radius user-radius) ...
再请教一下,如何将指定圆角半径,做成二级命名需要点选或二次输入命令再设置,如果不设置,按着上一次的数值倒角C:\Users\ASUS\Desktop\新建文件夹 下面的选择是输入“关键词”,去搜索就知道了,关于记忆就是一逻辑问题,设全局变量A为Nil,当B为nil时A为nil,b不为nil时,设A为B,再次输入时,再次输入A显示B值,用旧的B值空格,新值就输入,再将B值设置为新的A值,再输入A时又显示B....,这就是记忆了。
页:
[1]