找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 757|回复: 6

[分享]:LSP开发时常用的函数(新手请进)

[复制链接]
发表于 2004-12-2 16:30:21 | 显示全部楼层 |阅读模式

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

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

×

  1.   [FONT=courier new]
  2. ;| (pset sym do str) = 有默认输入值的通用变量设置函数
  3. 参数: sym = 要设置的变量.
  4.        do = 取得变量值的方法(函数,为get* 系列).
  5.        str = 提示.(程序会自动填入默认值)'
  6. 说明: 支持回车默认值.
  7. 实例: (setq a 3.4 b '(1.0 1.2 0.0))
  8.       (pset 'a getdist "\n新值:")
  9.       (pset 'b getpoint "\n新坐标:")
  10. |;
  11. (defun pset (sym do str / @@@)
  12.   (princ (strcat str "<"))
  13.   (princ (eval sym))
  14.   (setq @@@ (eval (do ">:")))
  15.   (if (or (not @@@) (equal @@@ ""))
  16.     (eval sym)
  17.     (set sym @@@)
  18.   )
  19. )
  20.   [/FONT]

小弟手头紧,如果好用就支持一下吧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
 楼主| 发表于 2004-12-2 16:32:41 | 显示全部楼层
再来一个

  1.   [FONT=courier new]
  2. (defun c:test (/ myerror)
  3. ;;以下是定义出错函数
  4. (defun myerror (msg)
  5. (if (= msg "函数被取消")
  6. (princ "\n老大!!干嘛取消呀!")
  7. )
  8. (setvar "osmode" oldos);恢复捕捉
  9. (setq *error* olderr) ;恢复原来的出错函数
  10. (princ)
  11. )
  12. ;;以下是主程序部分
  13. (setq olderr *error* ;保存旧的
  14. *error* myerror ;设置新的
  15. )
  16. (setq oldos (getvar "osmode"));保存程序开始前的态
  17. (setvar "OSMODE" 32)
  18. ;;其他代码,也就是你的程序就写在这里
  19. (repeat 10
  20. (command "circle" "2p" pause pause)
  21. )
  22. ;;结束部分
  23. (setq *error* olderr);正常结束程序时恢复默认
  24. (setvar "osmode" oldos)
  25. (princ)
  26. )


  27.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-12-2 16:34:51 | 显示全部楼层
继续:

  1.   [FONT=courier new]
  2. ;;;以下代码可以让你使用完LSP程序后,UNDO一次就可以返回到使用LSP程序前的界面
  3. (command "_.undo" "_Group");设置一个撤消的开始标记
  4. (command..........);你自已设计的COMMAND函数
  5. (command "_.undo" "_end");设置一个撤消的结束标记
  6.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2004-12-3 00:03:34 | 显示全部楼层

Re: [分享]:LSP开发时常用的函数(新手请进)

最初由 yjtdkj 发布
[B][CODE]
  
;| (pset sym do str) = 有默认输入值的通用变量设置函数
参数: sym = 要设置的变量.
       do = 取得变量值的方法(函数,为get* 系列).
       str = 提示.(程序会自动填入默?.. [/B]


有点意思:)


那我要
(setq a(getpoint b "\n新坐标:") ) 就不行了
写的应该再通用一点: apply ?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-12-3 12:40:50 | 显示全部楼层
其实已经很通用了,只要先设置好变量的默认值,再使用函数就行了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2004-12-5 14:35:27 | 显示全部楼层
“那我要(setq a(getpoint b "\n新坐标:") ) 就不行了”
不是很明白这句话的意思
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 17:31 , Processed in 0.193676 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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