明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 13064|回复: 28

[函数] 右键菜单函数改进版

[复制链接]
发表于 2016-5-27 12:49:37 | 显示全部楼层 |阅读模式
本帖最后由 尘缘一生 于 2016-5-29 16:55 编辑

一:参考资源:
http://bbs.mjtd.com/thread-101509-1-1.html
二:改进:
    1:增加鼠标左键点击空白处写出文字功能。
   2:增加 (vl-load-com) 语句,以便空加载调试不通过。
   3:容易费解的说明去掉部分。
   4:去掉一个屏幕尺寸函数,就是一个语句而已。
5:构造命令之前的主函数一个,以便命令简化。
  6:其他格式细节等。

三:缺点:
    while 循环没有完成,期待大家完善,从实际工作出发,也不是必须的。
四:压缩包
     主函数与右键菜单函数打包一并发上,没有分开。
五:主函数如下:
  1. ;;; --------------改、写箍筋----------------------------------
  2. (defun c:gujin (/ wzlst)
  3.   (setq wzlst (list "%%1326@100" "%%1326@120" "%%1326@150" "%%1326@200" "%%1326@250"
  4.                     "%%1326@300" "%%1328@100" "%%1328@120" "%%1328@150" "%%1328@200"
  5.                     "%%1328@250" "%%1328@300" "%%13210@100" "%%13210@120" "%%13210@150"
  6.                     "%%13210@200" "%%13210@250" "%%13210@300"
  7.               )
  8.   )
  9.   (yy:gangjin wzlst)
  10. )
  11. ;;; --------------改、写一根不同直径的三级钢筋----------------------------------
  12. (defun c:1-3 (/ wzlst)
  13.   (setq wzlst (list "%%1326" "%%1328" "%%13210" "%%13212" "%%13214" "%%13216" "%%13218"
  14.                     "%%13220" "%%13222" "%%13225" "%%13228" "%%13230"
  15.               )
  16.   )
  17.   (yy:gangjin wzlst)
  18. )
  19. ;;; --------------改、写二根不同直径的三级钢筋----------------------------------
  20. (defun c:2-3 (/ wzlst)
  21.   (setq wzlst (list "2%%1326" "2%%1328" "2%%13210" "2%%13212" "2%%13214" "2%%13216"
  22.                     "2%%13218" "2%%13220" "2%%13222" "2%%13225" "2%%13228" "2%%13230"
  23.               )
  24.   )
  25.   (yy:gangjin wzlst)
  26. )
  27. ;;; --------------改、写三根不同直径的三级钢筋----------------------------------
  28. (defun c:3-3 (/ wzlst)
  29.   (setq wzlst (list "3%%1326" "3%%1328" "3%%13210" "3%%13212" "3%%13214" "3%%13216"
  30.                     "3%%13218" "3%%13220" "3%%13222" "3%%13225" "3%%13228" "3%%13230"
  31.               )
  32.   )
  33.   (yy:gangjin wzlst)
  34. )
  35. ;;; --------------改、写四根不同直径的三级钢筋----------------------------------
  36. (defun c:4-3 (/ wzlst)
  37.   (setq wzlst (list "4%%1326" "4%%1328" "4%%13210" "4%%13212" "4%%13214" "4%%13216"
  38.                     "4%%13218" "4%%13220" "4%%13222" "4%%13225" "4%%13228" "4%%13230"
  39.               )
  40.   )
  41.   (yy:gangjin wzlst)
  42. )
  43. ;;; --------------改、写钢筋函数------------------------------------------------
  44. (defun yy:gangjin (wzlst / en wztxt len oldwz len1 snap wz *error* error_end)
  45.   (vl-load-com)
  46.   (defun *error* (x)
  47.     (error_end)
  48.     (command "_.undo" "1")
  49.   )
  50.   (defun error_end ()
  51.     (and
  52.       snap
  53.       (setvar "osmode" snap)
  54.     )                                  ; 打开捕捉
  55.     (command "_.undo" "e")             ; 结束编组
  56.                                        ; 回到当初
  57.     (redraw)                           ; 刷新当前

  58.   )
  59.   (command "_.undo" "be")
  60.   (setq len (* 88 (/ (getvar "viewsize") (cadr (getvar "screensize"))))
  61.         oldwz wztxt
  62.         len1 (* 0.26 5 len)
  63.   )                                    ; 计算横向长度
  64.   (setq en (entsel "\n选择要修改的文字,左键空点写出文字:"))
  65.   (if (and
  66.         (/= nil en)
  67.         (setq wztxt (dxf_read 1 (car en)))
  68.       )
  69.     (progn
  70.       (setq snap (getvar "osmode"))
  71.       (setvar "osmode" 0)              ; 关闭
  72.       (setq wz (cadr (yy:yjcaidan (cadr en) len len1 wzlst oldwz))) ; 调用菜单函数
  73.       (yy_subupd (car en) 1 wz)        ; 此处放回调函数
  74.     )                                  ; end progn
  75.   )                                    ; end if
  76.   (if (= nil en)                       ; 假如空点
  77.     (progn
  78.       (setq p1 (nth 1 (grread 5)))     ; (setq p1 (getpoint "\n选择文字插入点:"))
  79.       (setq snap (getvar "osmode"))
  80.       (setvar "osmode" 0)              ; 关闭
  81.       (setq wz (cadr (yy:yjcaidan p1 len len1 wzlst oldwz))) ; 调用菜单函数
  82.       (entmake (list '(0 . "TEXT") (cons 1 wz) (cons 10 p1) (cons 40 3)))
  83.     )                                  ; progn
  84.   )                                    ; end if
  85.   (error_end)
  86.   (princ)
  87. )
  88. ;;; end defun

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2016-5-29 15:54:09 | 显示全部楼层
wzg356 发表于 2016-5-27 18:52
不是你的,求改进算了,还好意思收币

有改进的哦
回复 支持 1 反对 0

使用道具 举报

发表于 2018-1-16 16:58:16 | 显示全部楼层
尘缘一生 发表于 2016-6-8 07:39
进一步改进
在使用过程中,最后需要移动定位,增加写出后【直接跟随鼠标就位功能】。

请问,空白文字的字体类型如何修改调整,是哪个参数控制?
发表于 2016-5-27 18:52:33 | 显示全部楼层
不是你的,求改进算了,还好意思收币
发表于 2016-5-27 20:14:34 | 显示全部楼层
这个很容易实现...
发表于 2016-5-27 22:10:36 | 显示全部楼层
图片上wipeout怎没么被你改没了?跟背景重叠看不清

点评

已解决这一问题。  发表于 2016-5-28 07:54
发表于 2016-5-27 22:51:54 | 显示全部楼层
不是你的,求改进算了,还好意思收币
 楼主| 发表于 2016-5-28 22:24:25 | 显示全部楼层
我对此函数构件几个命令,主要是自己使用,附件全部已更新。
此函数发布多时,一直应用不到,很是遗憾,应用的后续路子,一直无人开发,私下问过一些,要花钱?
无奈之下自己写一些基本应用,发牢骚者自便,发这里是给这些基本用户用的。




本帖子中包含更多资源

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

x
发表于 2016-5-29 09:31:03 | 显示全部楼层
支持一下  改进软件不容易!!
发表于 2016-5-29 14:10:02 | 显示全部楼层
13版以上cad,出来选择的那个界面后,按esc键,还会不会停留?

点评

这个我真美测试,我用的CAD2010 64位  发表于 2016-5-29 15:57
发表于 2016-5-29 14:56:40 | 显示全部楼层
支持一下哦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-4-4 15:14 , Processed in 0.273095 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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