xiaoyingzi 发表于 2023-4-20 07:51:15

【输入法自动切换】&【鼠标双击管理器】&【快速打印设置】 源码

本帖最后由 xiaoyingzi 于 2024-7-19 20:54 编辑

源码
【输入法自动切换】
源码参考来源至以下帖子
http://bbs.mjtd.com/thread-176934-1-1.html
http://bbs.mjtd.com/thread-183157-1-1.html
http://bbs.mjtd.com/thread-183420-1-1.html
http://bbs.mjtd.com/forum.php?mo ... 0245&fromuid=233467
源码文件 mkimecset.lsp mkimecset.dcl



【鼠标双击管理器】
很久以前写的,以前的帖子 http://bbs.mjtd.com/thread-91759-1-1.html
分享过115网盘链接,不过过期,这次补上
源码文件 mkdbckset.lsp mkdbckset.dcl


【快速打印设置】
思路及部分源码来源于明经论坛baitang36、陨落、ludaweb、陈伟
http://bbs.mjtd.com/thread-189458-1-1.html
http://bbs.mjtd.com/thread-189649-1-1.html
转化pia文件用到明经论坛高飞鸟制作的工具“PIA文件大师”
http://bbs.mjtd.com/thread-189589-1-1.html
pdfFactory设置用到明经论坛陈伟源码
http://bbs.mjtd.com/thread-188520-1-1.html
批量打印程序的源码程序来自ludaweb
http://bbs.mjtd.com/thread-171609-1-1.html
http://bbs.mjtd.com/thread-178244-1-1.html



2024.06.30更新
增加通过保留函数切换输入法
保留函数来自帖子
[原创]用纯lsp切换键盘布局(已增加自动切换输入法源码)
http://bbs.mjtd.com/forum.php?mo ... 0245&fromuid=233467

2024.05.17更新
打印设置,自定义尺寸打印增加打印dp、纸张单位(毫米及像素)、纸张方向(不是打印方向)等等
自定义尺寸打印两种打印方式:单打窗口选择,和指定纸张高宽,
纸张高宽,可根据纸张单位毫米和像数的不同,根据dpi关联自动计算,也可不关联,选“自动单位”,这个主要是针对转jpg和png时用到

2024.04.22更新
增加快速打印设置,包含自定义尺寸打印pdf、jpg、png。


2023.05.24更新
双击鼠标管理器 双击文字增加文字连续编辑mksddedt,其他bug若干
将CAD的ddedit和textedit通过增加的命令ddtextedit实现统一,也解决了autocad15和16版ddedit无法连续编辑的问题
输入法切换 修复ddedit连续编辑时无法通过中英文字符判断(独立版还没找到修复的好方法)


2023.05.07更新
双击鼠标管理器 双击属性增加在位编辑attipedit,其他bug若干
输入法切换 原来的中英文字符判断仅通过配合mkddedit和mktextedit实现,现改为全面支持

2023.04.24
输入法自动切换 独立出来,方便有需要单独功能的
mytool部分的更新:配置文件由mykey.ini改为mytool.ini,去除与本程序无关参数
——————————————————————————————————————————————

钢筋快速编辑 源码文件 mkgjtxtedit.lsp mkgjtxtedit.dcl 需要配合txt-m.shx或者广厦字体使用

用点“."代替三级钢符号“}”输入,例如2根25的钢筋,只需输入2.25就可以了
用点“.."代替一级钢符号“[”输入,例如2根8的钢筋,只需输入2..8就可以了
用“*"代替"@"符号“[”输入,例如[8@200的钢筋,只需输入..8*200就可以了

设置“."、“.."、“*"这三种替代符号的初衷是方便使用右侧小键盘输入,当然,也开放了自定义的替代符号。

模仿ddedit的简洁文字编辑 源码文件 mkddedit.lsp mkddedit.dcl

普通单行文字编辑 源码文件 mktxtedit.lsp mktxtedit.dcl

三种文本编辑均支持单行文本、尺寸标注文本、块內文字、块属性

源码主体来源于七月信,本人只是修改了一下,配合双击反应器,可以直接双击改块內文字和属性,

比较方便!!!设有快捷键D1,D2,D3,D4快速切换,

按下D1后,双击文字是在位编辑
按下D2后,双击文字是模仿ddedit的简洁文字编辑
按下D3后,双击文字是普通单行文字编辑
按下D4后,双击文字是钢筋快速编辑

对于块的编辑,也设有快捷键B1,B2快速切换
按下B1后,双击块(非块文字或属性图元部分,如果是就会调用文字编辑了)是refedit原位编辑
按下B2后,双击块(非块文字或属性图元部分,如果是就会调用文字编辑了)是bedit块编辑

最后,通过老迈的谜你工具箱中的面板功能(很早的版本)将这些源码组合在一起,推荐免费的
谜你工具箱!!!

gongmingqd 发表于 2024-5-2 13:41:11

试试如何,感谢!

zhangrunze 发表于 4 天前

文字编辑时,可以加入文字中英文数量识别的功能吗?



当中文文字数量多的时候切换为中文输入法
当英文文字数量多的时候切换为英文输入法

网上看见的代码,也不懂搞~

(defun c:SmartSwitchIME (/ GetTextContent AnalyzeTextRatio)
;; 获取当前编辑的文本内容
(defun GetTextContent ()
    (if (setq ent (car (entsel)))
      (vla-get-textstring (vlax-ename->vla-object ent))
      ""
    )
)

;; 中英文字符比例分析
(defun AnalyzeTextRatio (str)
    (setq chn_cnt (length (vl-remove-if-not '(lambda (x) (wcmatch (chr x) "[一-龥]")) (vl-string->list str))))
    (setq eng_cnt (- (strlen str) chn_cnt))
    (if (> chn_cnt eng_cnt) 1 0)
)

;; 命令监听逻辑
(defun OnCommandEnded (cmd)
    (if (wcmatch cmd "MTEXT*,TEXT*,DDEDIT*")
      (progn
      (setq txt (GetTextContent))
      (if (= (AnalyzeTextRatio txt) 1)
          (command "_IMESetStatus" 1) ;中文输入法‌:ml-citation{ref="5" data="citationList"}
          (command "_IMESetStatus" 0) ;英文输入法‌:ml-citation{ref="5" data="citationList"}
      )
      )
    )
)

(vlr-command-reactor nil '((:vlr-commandended . OnCommandEnded)))
(princ "\n智能输入法切换已启用。")
)


oysheji 发表于 2025-1-21 22:35:43

里面的快速打印不行,出现错误 了
; 错误: Automation 错误。 输入无效
命令:
命令:
命令: (LOAD "C:/Users/Administrator/Desktop/mytool 2024.06.30/快速打印设置mkprint(独立版本)/将此文件拖入ACAD绘图区安装.lsp")
C:/Users/Administrator/Desktop/mytool 2024.06.30/快速打印设置mkprint(独立版本)/将此文件拖入ACAD绘图区安装.lsp
命令行输入 ps 启动打印设置!
命令: PS
; 错误: Automation 错误。 输入无效
命令:
命令: PS
; 错误: Automation 错误。 输入无效
命令:
命令: 指定对角点或 [栏选(F)/圈围(WP)/圈交(CP)]:

自贡黄明儒 发表于 2023-4-20 08:05:16

命令栏大部分情况下只能输入英文,中英文自动切换确实是好东西。

wyqzm 发表于 2023-4-20 08:50:38

适用于哪些版本呢?

cq_qg 发表于 2023-4-20 09:26:56

看起来很不错,谢谢分享,学习一下!

lxl217114 发表于 2023-4-20 10:12:30

谢谢分享,实用的工具

hhh454 发表于 2023-4-20 10:30:57

谢谢分享,实用的工具

hzyhzjjzh 发表于 2023-4-20 12:35:10

{:1_1:}感谢楼主分享{:1_1:}

magicheno 发表于 2023-4-20 14:02:42

感谢大佬分享

囗Peanut囗 发表于 2023-4-20 14:03:26

双击这个功能,是一次设置以后就不用再加载了嘛?

mokson 发表于 2023-4-20 14:51:14

一直找一款CAD输入法自动切换工具,都不满意。
试一下这个如何,感谢楼主了。
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【输入法自动切换】&【鼠标双击管理器】&【快速打印设置】 源码