明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1551|回复: 6

[提问] menucmd函数获取秒以后的字符该怎么输入? 另外还有一个奇怪的问题

[复制链接]
发表于 2018-10-7 18:12 | 显示全部楼层 |阅读模式
本帖最后由 masterlong 于 2018-10-7 19:10 编辑

(menucmd "M=$(edtime,$(getvar,date),MODDHHMMSS取秒以后的字符该怎么输入?)")


CAD突然多个自定义程序不能正常使用
经查程序中含command调用命令
且该命令在非command调用时有对话框
运行自定义程序时
程序会弹出对话框而不执行command里后续的选项
比如下面
(defun c:11()
(setvar "cmdecho" 0)
(command "layer" "on" "*" "")
)
正常应该是打开所有图层
但是现在会打开图层特性管理器
命令行提示“未知命令***”

这个问题极大得影响了工作
偶然运行了我的另一个设置CAD环境变量的程序后
问题消失了
而且是同一CAD打开的其它dwg里都消失了
然而在这个程序里并没有特别的设置???
百思不得其解
请高手指点
顺便说一句
问题出现也是突然的
前面还用过的程序
突然就不能用了???

程序如下
;;CAD系统变量设置(2004~2012)
(defun c:F9 ()
(setvar "cmdecho" 0)
(setvar "highlight" 1)  ;;高亮开
(setvar "WMFBKGND" 0)  ;;文档背景白色
(setvar "UCSICON" 0)   ;;UCS坐标关及非原点
(setvar "DRAGP1" 1)
(setvar "DRAGP2" 1)
(setvar "TREEMAX" 1000000)
(setvar "autosnap" 21)  ;;;;自动捕捉设置
(setvar "xclipframe" 0)  ;;;;块剪裁边界不显示(若原图参数不为0,执行时会重生成)
(setvar "pickfirst" 1)  ;;;;选择集模式(先选择后执行)
(setvar "pickdrag" 0)  ;;;;允许框选
(setvar "qaflags" 0)   ;;;;选择执行方式
(setvar "edgemode" 1)  ;;;;修剪和延伸时,参照曲线假想延伸
(setvar "blipmode" 0)  ;;;;控制点回显
(setvar "auprec"   2)  ;;;;角度精度:小数点后2位
(setvar "lunits"   2)  ;;;; 线性长度类型:小数
(setvar "luprec"   2)  ;;;;线性长度精度:小数点后2位
(setvar "insunits" 0)  ;;;;插入时缩放单位:毫米
(setvar "cmddia"   1)  ;;;;显示外部命令及plot对话框:是
(setvar "aunits" 0)   ;;;;角度单位:十进制度数
(setvar "mirrtext" 0)  ;;;;镜像文字:否
(setvar "Elevation" 0)  ;;;; 当前标高设为0
(setvar "dimassoc" 1)  ;;;;新标注可关联:否
(setvar "snapmode" 0)  ;;;;捕捉间距:否
(setvar "coords" 2)   ;;;;图形坐标显示(极值)
(setvar "shortcutmenu" 0) ;;;;自定义右键单击(右键均为确认)
(setvar "pickbox" 6)   ;;;;拾取框大小:6
(setvar "gridmode" 0)  ;;;; 显示点栅格:否
(setvar "psltscale" 0)  ;;;;1:视口比例决定线型比例
(setvar "dimzin"   8)  ;;;; 控制是否对主单位值作消零处理, 8:消除后续零
(setvar "cursorsize" 100) ;;;;十字光标大小:100
(setvar "tooltips" 0)  ;;;;显示工具提示:否
(setvar "hpassoc" 1)   ;;;填充图案是否关联:是
(setvar "proxyshow" 0)  ;;;代理图形不显示
(setvar "proxynotice" 0) ;;;代理图形对话框(不显示)
(setvar "ISAVEBAK" 1)  ;;;控制备份文件 (BAK) 的创建。1-创建, 0-不创建
(setvar "zoomfactor" 60) ;;;;鼠标滑轮缩放比例(默认为60)
(vla-put-displayscrollbars (vla-get-display (vla-get-preferences (vlax-get-acad-object))) 0)   ;;;不显示窗口滚动条;;手改一次即可

(setvar "filedia" 1)   ;;;;显示文件定位对话框;;这个不自动设置,因为某些程序,如文件批处理程序需要关闭它

(setq cadvvver (atof (substr (getvar "ACADVER") 1 2)))
(if (<= 17 cadvvver)
  (progn
   (setvar "selectionpreview" 0)  ;;;;选择集预览模式
   (setvar "previewfilter" 31)  ;;;;选择集预览模式
   (setvar "vtenable" 2)    ;;;;动态视图动画关闭
   (setvar "osnapoverride" 0)   ;;;;组合按键控制(用于组合按键用过后框选不了的情况)
   (setvar "DYNmode" 0)     ;;;;动态输入(无)
   (setvar "DYNprompt" 0)    ;;;不显示动态输入中的提示
   (setvar "DYNPIFORMAT" 0)   ;;;动态输入格式:极轴格式
   (setvar "DYNPICOORDS" 0)   ;;;动态输入格式:相对坐标
   (setvar "DYNPIVIS" 0)    ;;;动态输入不可见性:需要一个点时
   
   (if (<= 18 cadvvver)
    (progn
     (setvar "qpmode" -1)    ;;;;不显示快捷特性面板;;-1不显示,2有限制的显示
     (setvar "rollovertips" 0)  ;;;;显示鼠标悬停提示:否(适用于CAD2009及更高版本)
     (setvar "ucsdetect" 0)   ;;;;动态UCS关闭(适用于CAD2010及更高版本)
     (setvar "menubar" 1)    ;;;;关闭菜单栏(适用于CAD2010及更高版本)*****以此区分当前设置的变量状态及捕捉方式>>>>>>>>>>>>>>>
     (setvar "statusbar" 1)   ;;;;状态栏控制:不隐藏(适用于CAD2010及更高版本)
    )
   
    (if (<= 19 cadvvver)
     (progn
      (setvar "hpquickpreview" 0)   ;;;;控制在指定填充区域时是否显示填充图案的预览,设为0会加快填充速度(适用于CAD2010及更高版本)
      (setvar "gripmultifunctional" 1)  ;;;;动态夹点菜单关闭(适用于CAD2010及更高版本)
      (setvar "navbardisplay" 0)    ;;;关闭三维小控制栏
      ;;2012以上还有更多的需要改变默认设置的系统变量,暂时找不到对应的变量名,待添加
     )
    )
   )
  )
)
(princ)
)



"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2018-10-8 09:38 | 显示全部楼层
(menucmd "M=$(edtime,$(getvar,date),MODDHHMMSSMSEC)")

评分

参与人数 1明经币 +1 收起 理由
masterlong + 1 厉害

查看全部评分

回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-10-7 21:52 | 显示全部楼层
关于第1个问题
网上查了下
有一种说法是“yyyy-MM-dd   HH:mm:ss.fff”
f的个数代表精度
但是lsp中无效
发表于 2018-10-8 08:35 | 显示全部楼层
(setq
date(rtos (getvar "cdate") 2 6)
年  (substr date 3 2)        ;1 4
月  (substr date 5 2)
日  (substr date 7 2)
tim (substr date 10)
时  (substr tim 1 2)
分  (substr tim 3 2)
秒  (substr tim 5 2)
datime (strcat "(" 年 "" 月 "" 日 "_" 时 "" 分 "" 秒 ")")
)
 楼主| 发表于 2018-10-8 09:31 来自手机 | 显示全部楼层
重点是如何在menucmd函数中获取
发表于 2018-10-14 13:16 | 显示全部楼层
留一个脚印,备用
发表于 2019-3-4 23:30 | 显示全部楼层
USER2128 发表于 2018-10-8 09:38
(menucmd "M=$(edtime,$(getvar,date),MODDHHMMSSMSEC)")

有了这个就可以做有名字的块了。谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 14:32 , Processed in 0.295512 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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