代码下次调用的时候怎么记忆上次输入的数值 谁帮个忙改一下啊
代码下次调用的时候怎么记忆上次输入的数值谁帮个忙改一下啊
这是改视口比例的
(defun c:bv ()
(setvar "cmdecho" 0)
(command "mview" "l" "off" "all" "")
(setq bili (getstring "\n请输入比例"))
(command "zoom" (strcat "1/" bili "xp"))
(command "mview" "l" "off" "all" "")
(princ)
)
UStr是自定义函数
元老级别 常被引用
这页有
http://bbs.mjtd.com/thread-347-1-1.html
ustr 之外
相似系列建议一并保存 xj6019 发表于 2019-11-26 14:26
不明白是为什么
;; ---------------------- USTR -----------------------------
;; 字符串输入格式化
;; 方式 : (setq txt1 (ustr 1 "字符串" txt1 nil))
(defun ustr (bit msg def spflag / inp nval)
(if (and def (/= def ""))
(setq msg (strcat "\n" msg "<" def ">: ")
inp (getstring msg spflag)
inp (if (= inp "")
def
inp
)
)
(progn
(setq msg (strcat "\n" msg ": "))
(if (= bit 1)
(while (= "" (setq inp (getstring msg spflag))))
(setq inp (getstring msg spflag))
)
)
)
(if inp
inp
def
)
) xyp1964 发表于 2019-11-26 14:04
您好领导看到了您的一个代码我想用可是缺少 xyp-Start能麻烦您抽点时间给 弄一下吗万分感谢
代码是这个
;; tt(break)
(defun c:tt ()
(xyp-Start)
(princ "\n选择直线: ")
(setq i -1)
(if (setq ss (ssget '((0 . "*LINE"))))
(while (setq s1 (ssname ss (setq i (1+ i))))
(setq ptn (xyp-Get-CurveIntersLeng s1 4)
ptn (xyp-Curve-PtsLengSort s1 ptn t)
j -1
)
(while (and (setq p1 (nth (setq j (1+ j)) ptn))
(setq p2 (nth (setq j (1+ j)) ptn))
)
(xyp-breakE s1 p1 p2)
)
)
)
(xyp-End)
)
(defun c:bv ()
(setvar "cmdecho" 0)
(command "mview" "l" "off" "all" "")
(setq bili (Ustr 1 "比例" bili nil))
(command "zoom" (strcat "1/" bili "xp"))
(command "mview" "l" "off" "all" "")
(princ)
) xyp1964 发表于 2019-11-26 14:04
不明白是为什么
本帖最后由 start4444 于 2019-11-26 15:22 编辑
(defun c:bv (/ bili2)
(setvar "cmdecho" 0)
(command "mview" "l" "off" "all" "")
(if (not bili) (setq bili (getstring "\n请输入比例:")) (setq bili (if (/= "" (setq bili2 (getstring (strcat "\n请输入比例<" bili ">:")))) bili2 bili)))
(command "zoom" (strcat "1/" bili "xp"))
(command "mview" "l" "on" "all" "")
(princ)
)
本帖最后由 xj6019 于 2019-11-26 16:23 编辑
很好用谢谢!!
xyp1964 发表于 2019-11-26 14:45
非常感谢 解决了 挺好用了 start4444 发表于 2019-11-26 15:18
(defun c:bv (/ bili2)
(setvar "cmdecho" 0)
(command "mview" "l" "off" "all" "")
谢谢帮忙很好用
这个改变线性比例的也帮我搞搞行吗
我想加个默认比例是1如果不是的话再手动输入别的 下面是代码
(defun c:sg()
(Setq Ns (Getreal "\n変更尺度:") Ns (Cons 48 Ns))
(While (Setq S (Ssget "_:L :S"))
(Repeat (Setq I (Sslength S))
(Setq E (Entget (Ssname S (Setq I (1- I)))))
(If (Setq A (Assoc 48 E))
(Setq E (Subst Ns A E))
(Setq E (Append E (List Ns)))
)
(Entmod E)
)
)
(Princ)
)
麻烦了 谢谢 本帖最后由 xj6019 于 2019-11-26 16:51 编辑
xyp1964 发表于 2019-11-26 14:45
你好问一下我的电脑经常性的VLAX函数都加载不了 是为什么啊 也是缺哪种代码吧能指导一下吗
页:
[1]
2