明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2204|回复: 13

[讨论] 代码下次调用的时候怎么记忆上次输入的数值 谁帮个忙改一下啊

[复制链接]
发表于 2019-11-26 13:47:08 | 显示全部楼层 |阅读模式

代码下次调用的时候怎么记忆上次输入的数值  谁帮个忙改一下啊
这是改视口比例的

(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)        
)


"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2019-11-26 14:50:43 | 显示全部楼层
UStr是自定义函数
元老级别 常被引用

这页有
http://bbs.mjtd.com/thread-347-1-1.html

ustr 之外
相似系列建议一并保存
回复 支持 1 反对 0

使用道具 举报

发表于 2019-11-26 14:45:37 | 显示全部楼层
xj6019 发表于 2019-11-26 14:26
不明白是为什么

  1. ;; ---------------------- USTR -----------------------------
  2. ;;                  字符串输入格式化                       
  3. ;; 方式 : (setq txt1 (ustr 1 "字符串" txt1 nil))        
  4. (defun ustr (bit msg def spflag / inp nval)
  5.   (if (and def (/= def ""))
  6.     (setq msg (strcat "\n" msg "<" def ">: ")
  7.           inp (getstring msg spflag)
  8.           inp (if (= inp "")
  9.                 def
  10.                 inp
  11.               )
  12.     )
  13.     (progn
  14.       (setq msg (strcat "\n" msg ": "))
  15.       (if (= bit 1)
  16.         (while (= "" (setq inp (getstring msg spflag))))
  17.         (setq inp (getstring msg spflag))
  18.       )
  19.     )
  20.   )
  21.   (if inp
  22.     inp
  23.     def
  24.   )
  25. )
 楼主| 发表于 2019-12-2 11:57:53 | 显示全部楼层

您好领导  看到了您的一个代码我想用可是缺少 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)
)
发表于 2019-11-26 14:04:56 | 显示全部楼层
  1. (defun c:bv ()
  2.   (setvar "cmdecho" 0)
  3.   (command "mview" "l" "off" "all" "")
  4.   (setq bili (Ustr 1 "比例" bili nil))
  5.   (command "zoom" (strcat "1/" bili "xp"))
  6.   (command "mview" "l" "off" "all" "")
  7.   (princ)
  8. )
 楼主| 发表于 2019-11-26 14:26:49 | 显示全部楼层




不明白是为什么

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2019-11-26 15:18:07 | 显示全部楼层
本帖最后由 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)        
)
 楼主| 发表于 2019-11-26 16:19:05 | 显示全部楼层
本帖最后由 xj6019 于 2019-11-26 16:23 编辑

很好用  谢谢!!


 楼主| 发表于 2019-11-26 16:22:33 | 显示全部楼层

非常感谢   解决了 挺好用了
 楼主| 发表于 2019-11-26 16:24:21 | 显示全部楼层
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 "_ :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)
)

麻烦了 谢谢
 楼主| 发表于 2019-11-26 16:47:07 | 显示全部楼层
本帖最后由 xj6019 于 2019-11-26 16:51 编辑

你好  问一下  我的电脑经常性的VLAX函数都加载不了   是为什么啊   也是缺哪种代码吧  能指导一下吗

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-18 11:51 , Processed in 0.179417 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表