尘缘一生 发表于 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 循环没有完成,期待大家完善,从实际工作出发,也不是必须的。
四:压缩包
   主函数与右键菜单函数打包一并发上,没有分开。
五:主函数如下:;;; --------------改、写箍筋----------------------------------
(defun c:gujin (/ wzlst)
(setq wzlst (list "%%1326@100" "%%1326@120" "%%1326@150" "%%1326@200" "%%1326@250"
                  "%%1326@300" "%%1328@100" "%%1328@120" "%%1328@150" "%%1328@200"
                  "%%1328@250" "%%1328@300" "%%13210@100" "%%13210@120" "%%13210@150"
                  "%%13210@200" "%%13210@250" "%%13210@300"
            )
)
(yy:gangjin wzlst)
)
;;; --------------改、写一根不同直径的三级钢筋----------------------------------
(defun c:1-3 (/ wzlst)
(setq wzlst (list "%%1326" "%%1328" "%%13210" "%%13212" "%%13214" "%%13216" "%%13218"
                  "%%13220" "%%13222" "%%13225" "%%13228" "%%13230"
            )
)
(yy:gangjin wzlst)
)
;;; --------------改、写二根不同直径的三级钢筋----------------------------------
(defun c:2-3 (/ wzlst)
(setq wzlst (list "2%%1326" "2%%1328" "2%%13210" "2%%13212" "2%%13214" "2%%13216"
                  "2%%13218" "2%%13220" "2%%13222" "2%%13225" "2%%13228" "2%%13230"
            )
)
(yy:gangjin wzlst)
)
;;; --------------改、写三根不同直径的三级钢筋----------------------------------
(defun c:3-3 (/ wzlst)
(setq wzlst (list "3%%1326" "3%%1328" "3%%13210" "3%%13212" "3%%13214" "3%%13216"
                  "3%%13218" "3%%13220" "3%%13222" "3%%13225" "3%%13228" "3%%13230"
            )
)
(yy:gangjin wzlst)
)
;;; --------------改、写四根不同直径的三级钢筋----------------------------------
(defun c:4-3 (/ wzlst)
(setq wzlst (list "4%%1326" "4%%1328" "4%%13210" "4%%13212" "4%%13214" "4%%13216"
                  "4%%13218" "4%%13220" "4%%13222" "4%%13225" "4%%13228" "4%%13230"
            )
)
(yy:gangjin wzlst)
)
;;; --------------改、写钢筋函数------------------------------------------------
(defun yy:gangjin (wzlst / en wztxt len oldwz len1 snap wz *error* error_end)
(vl-load-com)
(defun *error* (x)
    (error_end)
    (command "_.undo" "1")
)
(defun error_end ()
    (and
      snap
      (setvar "osmode" snap)
    )                                  ; 打开捕捉
    (command "_.undo" "e")             ; 结束编组
                                       ; 回到当初
    (redraw)                           ; 刷新当前

)
(command "_.undo" "be")
(setq len (* 88 (/ (getvar "viewsize") (cadr (getvar "screensize"))))
      oldwz wztxt
      len1 (* 0.26 5 len)
)                                    ; 计算横向长度
(setq en (entsel "\n选择要修改的文字,左键空点写出文字:"))
(if (and
      (/= nil en)
      (setq wztxt (dxf_read 1 (car en)))
      )
    (progn
      (setq snap (getvar "osmode"))
      (setvar "osmode" 0)            ; 关闭
      (setq wz (cadr (yy:yjcaidan (cadr en) len len1 wzlst oldwz))) ; 调用菜单函数
      (yy_subupd (car en) 1 wz)      ; 此处放回调函数
    )                                  ; end progn
)                                    ; end if
(if (= nil en)                     ; 假如空点
    (progn
      (setq p1 (nth 1 (grread 5)))   ; (setq p1 (getpoint "\n选择文字插入点:"))
      (setq snap (getvar "osmode"))
      (setvar "osmode" 0)            ; 关闭
      (setq wz (cadr (yy:yjcaidan p1 len len1 wzlst oldwz))) ; 调用菜单函数
      (entmake (list '(0 . "TEXT") (cons 1 wz) (cons 10 p1) (cons 40 3)))
    )                                  ; progn
)                                    ; end if
(error_end)
(princ)
)
;;; end defun

sicky111 发表于 2016-5-29 15:54:09

wzg356 发表于 2016-5-27 18:52 static/image/common/back.gif
不是你的,求改进算了,还好意思收币

有改进的哦

ljwsyzf 发表于 2018-1-16 16:58:16

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

请问,空白文字的字体类型如何修改调整,是哪个参数控制?

wzg356 发表于 2016-5-27 18:52:33

不是你的,求改进算了,还好意思收币

524917100 发表于 2016-5-27 20:14:34

这个很容易实现...

小菜123 发表于 2016-5-27 22:10:36

图片上wipeout怎没么被你改没了?跟背景重叠看不清

1993063 发表于 2016-5-27 22:51:54

不是你的,求改进算了,还好意思收币

尘缘一生 发表于 2016-5-28 22:24:25

我对此函数构件几个命令,主要是自己使用,附件全部已更新。
此函数发布多时,一直应用不到,很是遗憾,应用的后续路子,一直无人开发,私下问过一些,要花钱?
无奈之下自己写一些基本应用,发牢骚者自便,发这里是给这些基本用户用的。



spp_wall 发表于 2016-5-29 09:31:03

支持一下改进软件不容易!!

lxdz443 发表于 2016-5-29 14:10:02

13版以上cad,出来选择的那个界面后,按esc键,还会不会停留?

海盗曹 发表于 2016-5-29 14:56:40

支持一下哦
页: [1] 2 3
查看完整版本: 右键菜单函数改进版