明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 尘缘一生

[源码] 简单的代码,作用不一定小!

  [复制链接]
发表于 2014-6-16 19:50:28 | 显示全部楼层
依然低调 发表于 2014-6-16 17:29
不是必须存在的是吧?谢了!

如果调用command函数写程序
那么尽量使用这个。
因为有的时候出现上次command中断,而另一个程序继续运行的情况。
可以在前面加个(if(> (getvar 'cmdactive) 0)(command))
如果是自己的程序,在结尾也加个,出错函数加个。

点评

健壮的代码必备  发表于 2014-6-17 20:06
然也!!!!  发表于 2014-6-16 22:31
 楼主| 发表于 2014-6-17 05:54:12 | 显示全部楼层
emk 发表于 2014-6-16 13:08
自己20年前的写的

        93年大学毕业,单位只有一台386,用的是AUTOCAD10版,根本就没有VLISP等高级开发工具。环境是DOS系统...........弹指一挥间,21年了。然而,

        河东河西,沧海桑田,尘缘一生 ,”明经“世间,才子佳人,飘飘跃然,
       劝君:良宵莫虚度,密会“李思普"吧?

      
发表于 2014-6-17 07:51:32 | 显示全部楼层
edata 发表于 2014-6-16 19:50
如果调用command函数写程序
那么尽量使用这个。
因为有的时候出现上次command中断,而另一个程序继续运 ...

学习了!非常感谢
发表于 2014-6-17 09:43:45 | 显示全部楼层
速度就等于效率,谢谢分享
发表于 2014-6-17 11:11:15 | 显示全部楼层
最好是有个镜像点,不然没什么实际意义,反而费事了

点评

有精确点程序就完美了!  发表于 2014-6-17 21:45
发表于 2014-6-17 11:55:31 | 显示全部楼层
同意楼上的说法,请能者出手
发表于 2014-6-17 13:42:07 | 显示全部楼层
非常精点的程序,真是简单得来用外非常大,谢谢!!!
发表于 2014-6-17 16:01:34 | 显示全部楼层
好代码,学习一下
 楼主| 发表于 2014-6-17 21:16:02 | 显示全部楼层
本帖最后由 尘缘一生 于 2014-6-18 05:55 编辑
bdboy 发表于 2014-6-17 11:11
最好是有个镜像点,不然没什么实际意义,反而费事了

            正相反。我只是判断一下同志们:假如,你是大量工作在CAD里完成者,就知道我代码的效率与意义之所在,假如你大量工作用的是软件包,比如:PKPM,天正等,而CAD是你的辅助工具,只转图、打印与排图,那就无所谓了。

        当然如果增加镜像点或线,并不增加击键次数,那是再好不过啦,让我们期待高手解决这个问题吧。

1:镜像点,你觉得需要?有个镜像点,或者镜像线,干吗呢?一句话,就是,把你镜像的东西准确定位,对不对?
     实际工作是什么?准确定位的,是在软件包里办,而不是到CAD这里!
2:假如你是搞机械的,还有点道理。
3:建筑专业,要求的是不一定100%全比例,要的是差不多,要的是数值数据准确。如果你是亲自画图的,那么你就能知道我这几段代码的作用目的是干什么?它的作用并不是叫你准确定位的。


   举例说明:
          假如你要对一个图镜像,完成后,标注的寸界线是不是从45度方向变成了135度?所有的都是吧,你怎么快速一次调整过来?并且还能鼠标拉动,一次定位准确?那么这几个程序就是专门解决类似问题的,否则,你就会费不少功夫奥。

本帖子中包含更多资源

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

x
发表于 2014-6-17 21:33:08 | 显示全部楼层
本帖最后由 ZZXXQQ 于 2014-6-21 08:15 编辑

;加强代码
  1. ;;---------------------------------------------------------------------------
  2. (defun C:V-MR-MV (/ s pt2 pt3)
  3. (command)
  4. (if (setq s(ssget)) (progn
  5. (setq pt2 (nth 1(grread 5)))
  6. (setq pt3 (polar pt2 0 2.5))
  7. (command "MIRROR" s "" PT2 pt3 "Y" "MOVE" "P" "" PT3 PAUSE)
  8. ))
  9. (princ)
  10. )
  11. ;;------------------------------------------------------------------------------
  12. (defun C:H-MR-MV-N (/ s l n s1 pt2 pt3)
  13. (command)
  14. (if (setq s(ssget)) (progn
  15. (setq pt2 (nth 1(grread 5)))
  16. (setq pt3 (polar pt2 (* 0.5 pi) 2.5))
  17. (setq s1 (entlast) ss (ssadd))
  18. (command "MIRROR" s "" PT2 pt3 "N")
  19. (while (setq s1 (entnext s1)) (ssadd s1 ss))
  20. (command "MOVE" ss "" PT3 PAUSE)
  21. ))
  22. (princ)
  23. )
  24. ;;------------------------------------------------------------------------------
  25. (defun C:V-MR-MV-N (/ s l n s1 pt2 pt3)
  26. (command)
  27. (if (setq s(ssget)) (progn
  28. (setq pt2 (nth 1(grread 5)))
  29. (setq pt3 (polar pt2 0 2.5))
  30. (setq s1 (entlast) ss (ssadd))
  31. (command "MIRROR" s "" PT2 pt3 "N")
  32. (while (setq s1(entnext s1)) (ssadd s1 ss))
  33. (command "MOVE" ss "" PT3 PAUSE)
  34. ))
  35. (princ)
  36. )
  37. ;;--------------------------------------------------------------------------------

点评

最后有句少一个 S  发表于 2014-6-20 20:11

评分

参与人数 1明经币 +1 金钱 +18 收起 理由
尘缘一生 + 1 + 18 很给力!

查看全部评分

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

本版积分规则

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

GMT+8, 2024-11-22 21:46 , Processed in 0.196131 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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