找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1085|回复: 6

[求助] [求助]:如何获得前次应用该命令时输入的数据啊

[复制链接]
发表于 2006-10-15 21:57:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
请问如何像"offset"命令一样,在第一次输入偏移距离后,第二次再用该命令时就出现一个默认值啊。
查了一些资料也没看到,请指教,谢谢!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-10-16 00:35:05 | 显示全部楼层
使用注册表函数。
以下是我编写过的求实体重量的一个模块,其中使用了DOSLIB的注册表函数,当然你也可使用VLISP中的注册表函数...
供参考:

  1. ;;;给出厚度,对平面图形实体求重量(钢,γ=7.85),有对角和如
  2. ;;;取剖面线一样的内部点选两种求法
  3. (defun c:zll (/                                        blstr                        deta_r_value                                deta_value
  4.                                                         deta                        multi                        pt1                                pt2                                txt
  5.                                                         ent                                weight
  6.                                                  )

  7.         (defun calwt (/ str deta_str)
  8.                 (setq        weight
  9.                                          (rtos
  10.                                                  (/        (* (* multi (getvar "area")) deta 7.85)
  11.                                                                 1000000
  12.                                                  )
  13.                                                  2
  14.                                                  (getvar "dimdec")
  15.                                          )
  16.                 )
  17.                 (entdel ent)
  18.                 (setq deta_str (rtos deta 2 (getvar "dimdec")))
  19.                 (setq        str        (strcat        "[当前标注比例"                                                        blstr
  20.                                                                                         "],厚度="                deta_str                        ",重量="
  21.                                                                                         weight                                " kg"
  22.                                                                                  )
  23.                 )
  24.                 (princ str)
  25.         )

  26.         (setq blstr (blstrsz (getvar 'dimlfac)))
  27.         ;;blstr函数在基础库文件base_lib.vlx中定义
  28.         ;;doslib16.arx文件加载在ccad2005.vlx文件中定义
  29.         (setq        deta_r_value
  30.                                  (dos_regget
  31.                                          "HKEY_CURRENT_USER\\Software\\CCAD\\CFG\\LSP\\calwt_lsp"
  32.                                          "MyItem1"
  33.                                  )
  34.         )
  35.         (if        deta_r_value
  36.                 (progn
  37.                         (setq deta_value (atof deta_r_value))
  38.                         (setq        deta (dos_getreal
  39.                                                                          "实体厚度"
  40.                                                                          "输入所求实体厚度"
  41.                                                                          7
  42.                                                                          deta_value
  43.                                                                  )
  44.                         )
  45.                 )
  46.                 (setq        deta (dos_getreal
  47.                                                                  "实体厚度"
  48.                                                                  "输入所求实体厚度"
  49.                                                                  7
  50.                                                          )
  51.                 )
  52.         )
  53.         (if        deta
  54.                 (progn
  55.                         (dos_regset
  56.                                 "HKEY_CURRENT_USER\\Software\\CCAD\\CFG\\LSP\\calwt_lsp"
  57.                                 "MyItem1"
  58.                                 (rtos deta 2 (fix (getvar 'dimlfac)))
  59.                         )
  60.                         (setq multi (expt (getvar 'dimlfac) 2))
  61.                         (setq pt1 "T")
  62.                         (setq        txt
  63.                                                  (getstring
  64.                                                          "\n[对角点(Y)/实体内取一点(N)]<实体内取一点>:"
  65.                                                  )
  66.                         )
  67.                         (while pt1
  68.                                 (if        (= (strcase txt) "Y")
  69.                                         (progn
  70.                                                 (setq pt1 (getpoint "\n第一点:"))
  71.                                                 (if        pt1
  72.                                                         (progn
  73.                                                                 (setq pt2 (getcorner pt1 "\n对角点:"))
  74.                                                                 (if        pt2
  75.                                                                         (progn
  76.                                                                                 (command "rectang" pt1 pt2)
  77.                                                                                 (setq ent (entlast))
  78.                                                                                 (command "area" "e" ent)
  79.                                                                                 (calwt)
  80.                                                                         )
  81.                                                                 )
  82.                                                         )
  83.                                                 )
  84.                                         )
  85.                                         (progn
  86.                                                 (setq pt1 (getpoint "\n在封闭实体内取一点:"))
  87.                                                 (if        pt1
  88.                                                         (progn
  89.                                                                 (setq ent (bpoly pt1))
  90.                                                                 (if        ent
  91.                                                                         (progn
  92.                                                                                 (command "area" "e" "l")
  93.                                                                                 (calwt)
  94.                                                                         )
  95.                                                                 )
  96.                                                         )
  97.                                                 )
  98.                                         )
  99.                                 )
  100.                         )
  101.                 )
  102.         )
  103.         (princ)
  104. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-10-18 23:13:57 | 显示全部楼层
(defun C:fr (/ R1 E)
  (if (null r22) (setq r22 1))
        (setq r1 (getreal (strcat "\nPls enter r<"(rtos r22 2 2)">:")))
        (if (null r1) (setq r1 r22) (setq r22 r1))
  (WHILE r1
      (command "fillet" "r" r1)
      (command  "fillet")
      (while (eq 1 (logand 1 (getvar "cmdactive"))) (command PAUSE))
))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-22 13:14:02 | 显示全部楼层
感谢大虾们!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-10-22 13:53:03 | 显示全部楼层
3楼用一个全局变量确实有创意.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-10-22 18:35:53 | 显示全部楼层
哈,不算创意啦,那是最基本的写法
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 25个

财富等级: 恭喜发财

发表于 2006-10-22 20:56:19 | 显示全部楼层
全局变量
词典
注册表
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-18 06:24 , Processed in 0.176997 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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