明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2102|回复: 69

[讨论] 自由度较高的【模拟右键菜单】,增加列数、正则匹配、字齐线等,更新V1.32版

    [复制链接]
发表于 2022-6-6 22:56 | 显示全部楼层 |阅读模式
本帖最后由 hf423 于 2022-6-24 01:00 编辑

2022.6.23 V1.32:
1、在“点选文字对齐线”功能下,选择文字在线上滑动时,右键返回或者ESC键后,增加选择的文字退回原位的功能
2、在"菜单编辑(E)"中,当添加的正则表达式开头为"["或结尾为"]"时,修正出错的BUG
3、在"菜单编辑(E)"中,当添加正则表达式时,对添加的正则表达式增加校验功能,防止添加错误的正则表达式而使得程序失效
4、在"菜单编辑(E)"、"属性标签设置(O)"中,进行"添加"、"删除"操作时,完善"排序"按钮的显隐逻辑关系
5、在"菜单编辑(E)"、"属性标签设置(O)"中,进行"添加"操作时,调整添加内容次序默认到尾部
6、"属性标签设置(O)"中,添加属性标签时,修正提示备注名称重复而不能添加的BUG,关闭备注名称重复提示
7、修正其他已知BUG

感谢AndyWang反馈的问题
2022.6.17 V1.31:
1、修正1.3版文字对齐线参数的BUG
2、修正进入"菜单编辑(E)"、"属性标签设置(O)"中删除分类闪退的BUG
3、修改首次进入程序功能为模拟右键菜单
4、文字对齐线中增加文字可读性(Y)选项,文字可读性关闭时文字可以在线上旋转到360度

2022.6.15 V1.3:
1、修正错误处理函数
2、增加选择文字对齐线功能
3、其他BUG修正

2022.6.9 V1.2:
1、增加标注文字专项菜单,用过之前版本的请删除程序目录下的“模拟右键菜单替换文字.ini”文件(做好备份,随时在新版本中导入回来),以便重新生成默认ini文件
2、增加支持对多重引线文字修改

2022.6.8 V1.1:
1、修正块内属性文字改字时出现重复情况
2、去掉支持修改标注文字、表格文字
3、块内文字修改后不再需要REGEN了

非源码,不收费,在此下载:

启动命令:YouJianCD
------------------------------------------------------------------------------------------------------------
在wowan1314的http://bbs.mjtd.com/thread-101509-1-1.html的基础上,

在 尘缘一生、fl202、1028695446、gason等坛友的修改修正版本上,
参考tryhi海哥的正则表达式函数、1291500406的正则表达式详解、LEE-MAC的部分函数,
完善了列数、线对齐、块内属性、属性标签等内容。
VLX打包了baitang36盛老师的"精确获取vlx的加载位置",
在此对以上前辈表示感谢,如有遗漏,请谅解。

主要功能介绍:


1、 "点击文字修改":点击图中文字,根据正则表达式列表次序,依次匹配,匹配到某项时,显示对应的菜单;支持的文字有单行文字、多行文字、属性文字、块内属性文字、块内文字、、标注文字、多重引线文字、天正文字等,不支持表格文字,天正文字不支持T8格式(vlax-ename->vla-object时出现错误),处理天正文字前请保存文件以防CAD崩溃。


2、 "点击线或空点生成文字":支持直线、多段线、三维多段线、样条曲线、射线、构造线、引线、圆、圆弧、椭圆、螺旋,以及块内的以上各种线,不支持多重引线、多线,文字自动同线对齐(同时可调整文字同线角度与距离);空点时的菜单为"其他"项对应的菜单。



3、 "菜单编辑(E)":进入菜单编辑面板。

【注意】:面板里的正则表达式仅为示意,可以根据你自己需要,修改或添加相关正则表达式匹配规则。


4、 "菜单设置(S)":进入菜单设置面板。



5、 "属性标签设置(O)":进入属性标签设置面板。



6、 "帮助(H)":弹出本帮助。

7、 "大小写(C)":临时切换正则表达式是否区分大小写。


8、 "单次匹配(M)":临时切换正则表达式是否单次匹配。



9、 "局部替换(L)":临时切换正则表达式是否局部替换。



10、"属性按标签(A)":对于块内属性,临时切换是按属性标签获得菜单还是走文字的正则表达式匹配菜单。

11、"选字齐线(W)":临时切换选择文字对齐线功能。


【注意】:此处的的"大小写(C)"、"单次匹配(M)"、"局部替换(L)"、"属性按标签(A)"、"选字齐线(W)"都是临时切换对应功能,程序首次使用时,是否具有对应功能,需要进入"菜单设置(S)"中勾选对应选项。





已知问题:加载程序后,第一次点击线或空点生成文字时,生成的文字可能会消失,或者不跟随鼠标。
在WIN10 64位,CAD2014上测试,其他系统与CAD版本未测试,仅支持世界坐标系,可能有些BUG未发现,请反馈。

设置面板:


1、 "显示列数":范围1~15列。
2、 "高度系数":菜单文字与方格网高度的比例。
3、 "显示比例":菜单的整体显示比例。
4、 "菜单文字样式":菜单文字采用的样式,找不到该样式时,采用当前样式,宜采用宽度系数0.7的单线字体。
5、 "菜单文字颜色"、"菜单方格颜色":菜单文字与方格网显示的颜色,宜设为一致。
6、 "菜单文字亮显颜色"、"菜单方格亮显颜色":在菜单方格内拖动鼠标,方格网亮显时的颜色,宜设为一致。
7、 "是否虚线":方格网亮显时是否为虚线,有可能不起作用。
8、 "生成文字图层":空点或线上生成文字时采用的图层,找不到该图层时,采用当前图层。
9、 "生成文字样式":空点或线上生成文字时采用的样式,找不到该样式时,采用当前样式。
10、"生成文字高度":空点或线上生成文字的字高,不能为0或负数。
11、"生成文字角度":空点或线上生成文字的角度,单位为角度。
12、"生成文字对齐点":空点或线上生成文字的基点。
13、"文字偏移线距离":在线上生成文字时,文字基点与线段的垂直距离。
14、"区分大小写":改写文字时,正则表达式是否区分大小写,例如:当区分时,点dn100文字,匹配不到DN100系列的菜单,最后匹配到"其他"项对应菜单。15、"局部替换":改写文字时,是找到的符合处替换还是整个文字全部替换,例如:勾选局部替换时,点文字DN200-ES-CM1,菜单选DN300,得到DN300-ES-CM1,反之得到DN300。
16、"单次匹配":改写文字时,是找到多处符合处的第一处替换,还是各处都替换,例如:当勾选单次匹配时,点DN200-DN200文字,菜单选DN300,得到DN300-DN200,反之得到DN300-DN300。【注意】:"局部替换"未勾选时,本功能无效。
17、"属性按标签":改写块内属性时,菜单是按属性标签确定还是走正则表达式确定,当勾选时,若未找到该属性标签对应的菜单,则转为走正则表达式查找菜单,例如:当勾选时,点击块内属性标签为MATERIAL的文字,会匹配到块内属性专属菜单中的材质菜单,反之则忽略属性专属菜单,走正则表达式匹配到\"其他\"项对应菜单。
18、"选字齐线":当勾选时,程序默认首次出现的功能为选择文字对齐线,反之则为程序默认首次出现的功能为点击文字修改,点击线或空点生成文字。
【注意】:此面板中的"区分大小写"、"单次匹配"、"局部替换"、"属性按标签"、"选字齐线"是否勾选决定了程序首次使用时,是否具有对应功能,可以在程序使用的过程中随时临时切换相应功能。


菜单面板:


1、"正则表达式":列表里双斜杠"\\"的第一个斜杠表示转义符;列表里的次序决定了匹配文字分类的先后,匹配范围越小越精确的放到前面,越是模糊范围大的放后面,否则出现某些匹配被拦截的情况;点击顶部"正则表达式"访问明经论坛有关正则表达式的详解。
2、"备注名称":双击列表可以修改,点击顶部"备注名称"访问明经论坛本程序帖子。
3、"分类菜单明细":列表的次序决定了菜单中文字的顺序(从左到右,从上到下);双击列表可以在上方编辑框中显示文本;右侧"拾取"可以到图中点文字获取文本显示到编辑框中;在编辑框里文本处理好后,记得点右侧的"添加"或"修改"按钮以生效。
4、允许不通过本面板,而到程序目录下手动修改ini文件,但要【注意】:不要修改"其他"项名称和其对应的".*"名称,不要修改"【标注文字】"的名称和其对应的菜单项名称(可以增项或改变排列次序)。
5、采用了部分映射文字:

"YYYY.MM"、"YYYY.MM.DD"--->今天日期"."连接型式
"YYYY-MM"、"YYYY-MM-DD"--->今天日期"-"连接型式
"YYYY年MM月DD日"--->今天日期"年月日"连接型式
"HH:MM:SS"--->当前时间":"连接型式
"HH时MM分SS秒"--->当前时间"时分秒"连接型式
"本图目录"--->当前图纸所在目录路径
"本图路径"--->当前图纸路径
"【标注文字】"菜单下的各个默认项--->对应功能的文字

属性标签面板:


1、 "整块":点击图中块内属性文字,获取块的全部属性标签,并叠加到"属性标签"列表中;
2、 "单个":点击图中块内属性文字,获取其单个属性标签,并叠加到"属性标签"列表中;
3、 "标签备注":双击列表可以修改。
4、 "属性菜单明细":列表的次序决定了菜单中文字的顺序(从左到右,从上到下);双击列表可以在上方编辑框中显示文本;右侧"拾取"可以到图中点文字获取文本显示到编辑框中;在编辑框里文本处理好后,记得点右侧的"添加"或"修改"按钮以生效。

使用中看看提示和点点帮助。

本帖子中包含更多资源

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

x

评分

参与人数 8明经币 +8 收起 理由
bzhjl + 1 赞一个!
lxl217114 + 1 很给力! 好使的
趣意人生 + 1 赞一个!
yshf + 1 赞一个!
baitang36 + 1 很牛的东西,【表情】
zhangcan0515 + 1
434939575 + 1 很给力!
dtucad + 1 赞一个!

查看全部评分

发表于 2022-6-17 16:22 | 显示全部楼层
本帖最后由 AndyWang 于 2022-6-17 16:34 编辑

1.3版本bug及建议
1、点击菜单设置,界面一闪,程序就退出了。
2、属性标签设置,无法删除属性标签,点击删除程序退出。
3、1.2版本缺少YJ_MODETILE2函数,不知道1.3版本有没有补上,因为第2条的原因,无法测试。
4、现在首次运行程式,是默认进入选字对齐线的功能,因为程序是模拟右键功能,最好直接进入模拟右键的菜单选择项更好点(因无法进入菜单设置,不知道里面是否有相关设置,所以先提了)
5、在选字齐线功能中,转90度,能不能做成在转90度基础上可以再转90度?
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2022-6-22 09:37 | 显示全部楼层
alexmai 发表于 2022-6-21 23:52
没发现什么问题,可惜缺少词组分类,建议增加此功能或者告知此功能的使用方式

大概看懂了迷你菜单的实现方式
是不是
对任意文字弹出固定列数和固定方格尺寸的菜单
第一列为菜单类别
剩下列出现的文字为选择不同分类对应的菜单

修改文字时,迷你菜单跳过了正则匹配,分类选择交给用户,更通用一些
不过在这种需求下,个人认为采用词库的型式可能更方便些,例如论坛里的“小笨词库”
因为词库型式能更好的适应不同的文字分类,更重要的是能适应字数较多的长句子
我这个在改大量同一类型的短文字时,感觉更快捷一点,采用正则匹配是这个程序实现的初衷

我的这个操作已经很复杂了,在考虑怎么精简操作,就不添加词组分类的功能了,谢谢你的分享!
发表于 2022-6-6 23:00 | 显示全部楼层
感谢大佬分享~~~
发表于 2022-6-6 23:50 | 显示全部楼层
太牛了,感谢分享
发表于 2022-6-7 09:32 | 显示全部楼层
又一个经典的程序出现了
发表于 2022-6-7 09:43 | 显示全部楼层
谢谢楼主分享新作
又一个经典的程序出现了
发表于 2022-6-7 11:20 | 显示全部楼层
请问能不能修改属性块里边的属性值?
发表于 2022-6-7 13:11 | 显示全部楼层
本帖最后由 wharan 于 2022-6-7 13:12 编辑

思路很好,值得一试
发表于 2022-6-7 13:56 | 显示全部楼层
做得很别致,能不能将DCL文件公布,让大家学习学习!
 楼主| 发表于 2022-6-7 14:09 | 显示全部楼层
yshf 发表于 2022-6-7 13:56
做得很别致,能不能将DCL文件公布,让大家学习学习!

CAD里打开面板后先不要退出面板,可以到临时文件夹里找到DCL文件
 楼主| 发表于 2022-6-7 14:12 | 显示全部楼层
zhangcan0515 发表于 2022-6-7 11:20
请问能不能修改属性块里边的属性值?

可以,对块内属性,可以按文字内容走正则表达式查找菜单来修改,或者按属性标签查找菜单来修改
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2022-8-8 18:08 , Processed in 0.168288 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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